跳转到主要内容
bob体育客户端下载平台的博客

引入MLflow 2.3:加强与本地LLMOps支持和新特性

分享这篇文章

每月的下载量超过1100万,MLflow已经成为英超的端到端MLOps平台,赋予各种规模的团队,分享、打包和部署模型bob体育客户端下载对批处理和实时推理。MLflow采用每日成千上万的机构来驱动各种各样的生产机器学习应用程序,并积极开发的一个繁荣的社区工业和学术界的500多个贡献者。

今天,我们很高兴推出MLflow 2.3,这个开源的最新更新机器学习平台,挤满了创新的特性,拓宽管理和部署大型语言模型的能力(llm)和llm融入你其他的ML操作(LLMOps)。bob体育客户端下载这种增强LLM支持是通过:

拥抱的脸变形金刚的支持

“拥抱脸变形金刚的原生支持图书馆MLflow使它容易处理170000年自由和公开可访问的机器学习模型在拥抱的脸中心,最大的人工智能社区和开放平台”。bob体育客户端下载-杰夫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文档

免费试着砖

相关的帖子

看到所有bob体育客户端下载平台的博客的帖子