跳轉到主要內容
Beplay体育安卓版本平台的博客

引入MLflow 2.3:加強與本地LLMOps支持和新特性

分享這篇文章

每月的下載量超過1100萬,MLflow已經成為英超的端到端MLOps平台,賦予各種規模的團隊,分享、打包和部署模型Beplay体育安卓版本對批處理和實時推理。MLflow采用每日成千上萬的機構來驅動各種各樣的生產機器學習應用程序,並積極開發的一個繁榮的社區工業和學術界的500多個貢獻者。

今天,我們很高興推出MLflow 2.3,這個開源的最新更新機器學習平台,擠滿了創新的特性,拓寬管理和部署大型語言模型的能力(llm)和llm融入你其他的ML操作(LLMOps)。Beplay体育安卓版本這種增強LLM支持是通過:

擁抱的臉變形金剛的支持

“擁抱臉變形金剛的原生支持圖書館MLflow使它容易處理170000年自由和公開可訪問的機器學習模型在擁抱的臉中心,最大的人工智能社區和開放平台”。Beplay体育安卓版本-傑夫Boudier,產品總監,擁抱的臉

變形金剛的新變壓器味道讓本機集成管道、模型、加工組件MLflow跟蹤服務。有了這個新的味道,您可以保存或日誌完全配置的變壓器管道或基本模型,包括多莉通過共同MLflow跟蹤接口。這些記錄工件可以被加載本地組件的集合,一個管道,或通過pyfunc

日誌組件或管道變形金剛的味道時,自動執行驗證,確保管道或模型保存兼容可部署的推理。除了驗證,有價值的模型數據卡自動為您獲取並將其添加到已保存的工件模型或管道。幫助這些模型的可用性和管道,簽名模型推理功能包括簡化部署的過程。

等大型語言模型集成與一個開源多利,托管在擁抱臉中心一樣簡單:

進口mlflow進口變形金剛架構=“磚/ dolly-v2-3b”多莉=變壓器。管道(模型=architecture, trust_remote_code=真正的)mlflow.start_run ():model_info = mlflow.transformers.log_model (transformers_model =多莉,artifact_path =“dolly3b”,input_example =“你好,多莉!”,)
              loaded_dolly = mlflow.transformers.load_model (model_info.model_uri,max_new_tokens =250年,)> > >[{“generated_text”:請注意,MLflow不是“ML IDE”。這意味著MLflow不是你唯一的工具,探索和構建毫升管道。但是,MLflow管道引擎提供,您可以使用自動訓練和部署模型在雲或本地生產服務。開始,我們建議檢查MLflow快速入門指南。如果你是一個非技術用戶,我們還建議開始頁麵了解端到端毫升經驗。”})

與新MLflow集成擁抱臉變形金剛,你甚至可以使用pyfunc版本的模型作為一個輕量級的chatbot界麵,如下所示。

進口變形金剛進口mlflowchat_pipeline = = transformers.pipeline(模型“微軟/ DialoGPT-medium”)mlflow.start_run ():model_info = mlflow.transformers.log_model (transformers_model = chat_pipeline,artifact_path =“聊天機器人”,input_example =“大家好!”)#負載作為交互式pyfunc聊天機器人= mlflow.pyfunc.load_model (model_info.model_uri)

MLflow變壓器風味支持自動簽名模式檢測和傳遞pipeline-specific輸入格式。

使用pyfunc模型加載從變壓器管道旨在保護底層管道的接口,如下所示:

chatbot.predict (“什麼是最好的方法去南極嗎?”)> > >我認為你可以乘船到達那裏chatbot.predict (“我應該使用什麼樣的船?”)> > >一艘可以去南極。


為每個支持的管道類型變壓器包中,元數據被收集,以確保準確的需求,版本的組件和參考信息供將來參考和保存模型的服務或管道。即使沒有一個顯式聲明的輸入簽名,簽名是推斷基於代表輸入示例在日誌記錄。

MLflow拉自動元數據模型
MLflow拉自動元數據模型

此外,MLflow變壓器味道會自動拉模型的狀態卡擁抱臉中心在保存或記錄的一個模型或管道。這個特性允許時間點參考底層模型的狀態信息的通用參考和審計。

卡從擁抱臉上MLflow拉模型
從擁抱臉上MLflow還將模型卡

的變形金剛的味道,非常廣泛應用和流行在MLflow包現在有一流的支持。管道已重新訓練和記錄MLflow可以很容易地提交回擁抱臉庫,允許他人使用和受益於小說模型架構來解決複雜的基於文本的問題。

OpenAI API支持基於函數的味道

OpenAI Python庫提供了方便的訪問OpenAI API在Python語言編寫的應用程序。它包括一組預定義的類映射到資源OpenAI API。使用這些類將提供動態初始化連接,傳遞的數據,從廣泛的模型和檢索響應OpenAI API的版本和端點。

的MLflow OpenAI味道支持:

  • 自動簽名模式檢測
  • 並行API要求更快的推理。
  • 自動API請求重試等瞬態錯誤速率限製錯誤。

下麵是一個例子的日誌“openai。ChatCompletion的推理模型和加載回來:

進口mlflow進口openaimlflow.start_run ():model_info = mlflow.openai.log_model (模型=“gpt - 3.5渦輪增壓”,任務= openai.ChatCompletion,消息= [{“角色”:“用戶”,“內容”:“告訴我一個笑話關於}{動物。”,}),artifact_path =“模型”,)
              模型= mlflow.pyfunc.load_model (model_info.model_uri)打印(model.predict ([{“動物”:“狗”})))

MLflow 2.3支持日誌記錄函數作為模型和自動簽名檢測類型注解來簡化測井的一個自定義模型。下麵是一個例子的日誌功能OpenAI chat-completion模型。

打字進口列表進口openai進口mlflow#定義一個函數模型類型注釋defchat_completion(輸入:列表(str])- - - >列表(str]:#自動簽名是由模型#類型注解。這個模型的簽名#看起來像這樣:# - - - - - - - - - - -#簽名:#輸入:[{“類型”:“字符串”}]#輸出:[{“類型”:“字符串”}]# - - - - - - - - - - -
              輸出= []輸入輸入:完成= openai.ChatCompletion.create (模型=“gpt - 3.5渦輪增壓”,消息= [{“角色”:“用戶”,“內容”:“<提示>”}))outputs.append (completion.choices [0].message.content)返回輸出#日誌模型mlflow.pyfunc.log_model (artifact_path =“模型”,python_model = chat_completion,pip_requirements = [“openai”),)

利用MLflow OpenAI味道,你可以充分利用pre-trained模型由OpenAI而利用MLflow的跟蹤和部署功能。

記得要管理你的OpenAI API密鑰通過環境變量,避免記錄運行參數或標簽。在磚上,你可以添加通過API密鑰磚秘密的管理所需的範圍與下麵的密鑰名“openai_api_key”。MLflow將自動獲取密鑰從磚秘密商店當OpenAI-flavored模型在一個端點。

磚秘密的把——< scope-name >——關鍵openai_api_key範圍

秘密範圍名稱可以與MLFLOW_OPENAI_SECRET_SCOPE指定環境變量。

進口操作係統進口mlflowos.environ [“MLFLOW_OPENAI_SECRET_SCOPE”]=“< scope-name >”#當MLFLOW_OPENAI_SECRET_SCOPE環境變量設置,#“mlflow.openai。log_model”讀取它的值並將它保存在“openai.yaml”
              mlflow.openai.log_model (…)

LangChain支持

LangChain味道在MLflow簡化了構建和部署的過程LLM-based應用程序,如自動問答係統和聊天機器人。現在,您可以利用LangChain與流線型的高級功能開發和部署MLflow的支持。

這裏有一個例子如何日誌LLMChain法語翻譯(英語)作為一個本地LangChain風味,並執行批處理翻譯的英語文本使用火花:

langchain進口PromptTemplate、HuggingFaceHub LLMChain模板=”““你所看到的一切之後翻譯成法語:{輸入}”“”提示= PromptTemplate(模板=模板,input_variables = (“輸入”])
              llm_chain = LLMChain (提示=提示,llm = HuggingFaceHub (repo_id =“穀歌/ flan-t5-small”,model_kwargs = {“溫度”:0,“max_length”:64年}),)
              mlflow.langchain.log_model (lc_model = llm_chain,artifact_path =“模型”,registered_model_name =“英語-法語-鏈gpt - 3.5 -渦輪- 1”)

加載LangChain模型分布式批與火花udf推理:

進口mlflow.pyfunc
              english_to_french_udf = mlflow.pyfunc.spark_udf (=火花,火花model_uri =”模型:/英語-法語-鏈gpt - 3.5 -渦輪- 1/1”,result_type =“字符串”)english_df = spark.createDataFrame (((“MLflow是什麼?”),(“english_text”])
              french_translated_df = english_df.withColumn (“french_text”,english_to_french_udf (“english_text”))

注意,這是一個初始釋放LangChain味道,日誌限於LLMChain與模型。代理日誌和其他進步和日誌記錄功能將被添加在即將到來的MLflow版本。

開始使用MLflow 2.3

今天我們邀請你嚐試MLflow 2.3 !升級和使用新特性支持llm,簡單的安裝Python MLflow庫使用下麵的命令:

pip安裝mlflow = = 2.3

的完整列表MLflow 2.3中的新特性和改進,看到版本更新日誌。更多信息關於如何開始使用新LLM-based MLflow和完整的文檔功能在MLflow 2.3中引入的,看到的MLflow文檔

免費試著磚

相關的帖子

看到所有Beplay体育安卓版本平台的博客的帖子
Baidu
map