跳到主要内容

·阅读时长:1分钟
MLflow maintainers

2.14.3 (2024-07-12)

MLflow 2.14.3 是一个补丁版本,修复了错误并为已发布的功能添加了额外的文档。

功能

  • [模型注册表] 添加了在上传文件到 AWS S3 时支持服务器端加密的功能 (#12495, @artjen)

错误修复

  • [模型] 修复了 OpenAI 自动日志记录实现中流式追踪日志记录的问题,以记录正确的块结构 (#12629, @BenWilson2)
  • [模型] 修复了基于 Whisper 的翻译模型的批量推理行为,允许输入多个音频文件 (#12575, @B-Step62)

文档更新

有关完整的更改列表,请参阅版本更改日志,并查看 mlflow.org 上的最新文档。

·阅读时长:2分钟
MLflow maintainers

MLflow 2.14.2 是一个补丁版本,包含几个重要的错误修复和文档增强功能。

错误修复

  • [模型] 修复了禁用默认仅警告行为时,需求推理错误处理方面的问题 (#12547, @B-Step62)
  • [模型] 修复了使用统一 API llm/v1/xxx 任务定义保存的 Transformers 模型中的依赖推理问题。 (#12551, @B-Step62)
  • [模型 / Databricks] 修复了 MLflow 2.13.0 中引入的 MLlfow log_model 的一个问题,该问题会导致 Databricks DLT 服务在某些情况下崩溃 (#12514, @WeichenXu123)
  • [模型] 修复了 LangChain AgentExecutor 和其他非 Runnable 链的 predict_stream 实现中的输出数据结构问题 (#12518, @B-Step62)
  • [跟踪] 修复了在将 sklearn pipeline 对象作为 pyfunc 加载时,sklearn flavor 中 predict_proba 推理方法的一个问题 (#12554, @WeichenXu123)
  • [跟踪] 修复了追踪实现中的一个问题,其中其他服务使用 OpenTelemetry 会激活 MLflow 追踪并导致错误 (#12457, @B-Step62)
  • [跟踪 / Databricks] 纠正了在 Databricks 中运行依赖推理时可能导致记录重复依赖项条目的问题 (#12493, @sunishsheth2009)

文档更新

有关完整的更改列表,请参阅版本更改日志,并查看 mlflow.org 上的最新文档。

·阅读时长:1分钟
MLflow maintainers

MLflow 2.14.1 是一个补丁版本,包含几个错误修复和文档改进。

错误修复

  • [模型] 修复了 llm/v1/xxx Transformers 模型的 params 和 model_config 处理问题 (#12401, @B-Step62)
  • [UI] 修复了深色模式用户偏好设置的问题 (#12386, @daniellok-db)
  • [Docker] 修复了 Docker 镜像在设置 install_mlflow=False 时构建失败的问题 (#12388, @daniellok-db)

文档更新

  • [文档] 在文档中添加了 langchain 自动日志记录页面的链接 (#12398, @xq-yin)
  • [文档] 添加了关于代码模型的文档 (#12381, @BenWilson2)

有关完整的更改列表,请参阅版本更改日志,并查看 mlflow.org 上的最新文档。

·阅读时长:3分钟
MLflow maintainers

MLflow 2.14.0 包含几个我们非常激动地宣布的主要功能和改进!

主要功能:

  • MLflow 追踪:追踪是一个强大的工具,旨在增强您监控、分析和调试 GenAI 应用程序的能力,通过它您可以检查应用程序处理请求时生成的中间输出。此更新提供了自动的 LangChain 集成,使得入门尽可能简单,但我们也为想要更多控制追踪 instrumentation 的用户实现了高级 Fluent API 和低级客户端 API。有关更多信息,请查看我们文档中的指南
  • Unity Catalog 集成:MLflow 部署服务器现在与 Unity Catalog 集成,允许您利用注册的函数作为工具来增强您的聊天应用程序。有关更多信息,请查看此指南
  • OpenAI 自动日志记录:现在已为 OpenAI 模型 flavor 添加了自动日志记录支持。通过此功能,MLflow 在调用 OpenAI API 时会自动记录模型。每次发出请求时,输入和输出都将作为 artifacts 记录。有关更多信息,请查看指南

其他值得注意的功能

错误修复

  • [模型注册表] 处理无头的预签名 URL (#12349, @artjen)
  • [模型] 修复了 ChatResponse 类的 docstring 顺序并使对象字段不可变 (#12305, @xq-yin)
  • [Databricks] 修复了 get_databricks_nfs_temp_dir 和 get_databricks_local_temp_dir 中的 root 用户检查问题 (#12186, @WeichenXu123)
  • [跟踪] 修复了 _init_server 进程终止挂起的问题 (#12076, @zhouyou9505)
  • [评分] 修复了 MLflow 模型容器和慢速测试 CI 失败的问题 (#12042, @WeichenXu123)

文档更新

  • [文档] 增强了自动日志记录支持的库的文档 (#12356, @xq-yin)
  • [跟踪, 文档] 添加了 Langchain 作为代码示例和 doc string (#12325, @sunishsheth2009)
  • [跟踪, 文档] 添加了 Pyfunc 作为代码示例和 doc string (#12336, @sunishsheth2009)
  • [文档] 在文档中添加了查看追踪异常的 FAQ 条目 (#12309, @BenWilson2)
  • [文档] 添加了关于在使用 multiprocessing 进行并行运行时 'fork' vs 'spawn' 方法的说明 (#12337, @B-Step62)
  • [文档] 修复了函数包装追踪示例中的类型错误 (#12338, @B-Step62)
  • [文档] 在文档中添加了 mlflow.search_traces 中 "extract_fields" 的示例用法 (#12319, @xq-yin)
  • [文档] 更新了 LangChain 自动日志记录文档 (#12306, @B-Step62)
  • [文档] 添加了追踪文档 (#12191, @BenWilson2)

有关完整的更改列表,请参阅版本更改日志,并查看 mlflow.org 上的最新文档。

·阅读时长:1分钟
MLflow maintainers

MLflow 2.13.2 是一个补丁版本,包含几个错误修复和现有功能的集成改进。

功能

错误修复

  • [模型] 修复了使用 mlflow.deployment 模块时将 mlflow[gateway] 推理为依赖项的问题 (#12264, @B-Step62)
  • [跟踪] 在将 model_config 作为 params 记录之前,使用 / 将其展平 (#12190, @sunishsheth2009)

有关完整的更改列表,请参阅版本更改日志,并查看 mlflow.org 上的最新文档。

·阅读时长:1分钟
MLflow maintainers

MLflow 2.13.1 是一个补丁版本,包含几个错误修复和现有功能的集成改进。此补丁版本中引入的新功能旨在为下一版本中发布的更多主要功能奠定基础。

功能

  • [MLflow] 添加了 mlflow[langchain] 附加功能,用于安装推荐版本的 Langchain 与 MLflow 一起使用 (#12182, @sunishsheth2009)
  • [跟踪] 添加了在将 Langchain flavor 作为 pyfunc 加载时覆盖 model_config 的功能 (#12085, @sunishsheth2009)
  • [模型注册表] 自动检测 Unity Catalog 是否需要预签名 URL (#12177, @artjen)

错误修复

  • [跟踪] 在 Databricks Runtime 中使用 getUserLocalTempDirgetUserNFSTempDir 替换 getReplLocalTempDirgetReplNFSTempDir (#12105, @WeichenXu123)
  • [模型] 更新了聊天模型以接受默认 input_example 并在推理期间预测接受 json (#12115, @sunishsheth2009)
  • [跟踪] 在 pyfunc 中推理签名时自动调用 load_context (#12099, @sunishsheth2009)

有关完整的更改列表,请参阅版本更改日志,并查看 mlflow.org 上的最新文档。

·阅读时长:3分钟
MLflow maintainers

MLflow 2.13.0 包含几个主要功能和改进

通过此版本,我们很高兴引入几项功能,这些功能全面增强了 MLflow 在各种用例中的可用性。

主要功能和改进:

  • 可流式 Python 模型:新引入的 Python 模型 predict_stream API 允许自定义模型实现支持返回 generator 对象,从而为 GenAI 应用程序提供全面的自定义功能。

  • 增强的代码依赖推理:一项新功能,可根据模型实现中检测到的依赖关系自动推理代码依赖关系。作为 code_paths 参数的补充,记录模型时引入的 infer_model_code_paths 选项将确定需要哪些额外的代码模块,以确保您的模型可以独立加载、部署和可靠存储。

  • MLflow 部署服务器标准化:部署服务器端点的输出现在符合 OpenAI 的接口,以便与常用服务更简单地集成。

功能

  • [部署] 更新 MLflow 部署服务器接口以兼容 OpenAI (#12003, @harupy)
  • [部署] 添加 Togetherai 作为 MLflow 部署服务器支持的提供商 (#11557, @FotiosBistas)
  • [模型] 添加对 Python 模型的 predict_stream API 支持 (#11791, #11895, @WeichenXu123)
  • [模型] 增强 MLFlow 模型日志记录代码依赖关系的能力 (#11806, @WeichenXu123)
  • [模型] 在 LangChain 中添加对 RunnableBinding 模型的支持 (#11980, @serena-ruan)
  • [模型注册表 / Databricks] 添加了对重命名注册到 Unity Catalog 的模型的支持 (#11988, @artjen)
  • [模型注册表 / Databricks] 改进了处理在 Unity Catalog 注册的模型中搜索无效组件的问题 (#11961, @artjen)
  • [模型注册表] 增强了重试逻辑和凭证刷新,以减轻在上传或下载 artifacts 时云提供商令牌过期导致的失败 (#11614, @artjen)
  • [Artifacts / Databricks] 为从 Unity Catalog 加载的模型添加了增强的 lineage 跟踪 (#11305, @shichengzhou-db)
  • [跟踪] 为 Pyfunc 模型添加了资源元数据,以帮助模型服务环境配置 (#11832, @sunishsheth2009)
  • [跟踪] 增强了 LangChain 作为代码模型的签名推理功能 (#11855, @sunishsheth2009)

错误修复

  • [Artifacts] 禁止在 AWS 上进行多部分上传时使用无效的配置选项 (#11975, @ian-ack-db)
  • [模型注册表] 强制执行已注册模型元数据的一致性 (#12013, @artjen)
  • [模型] 纠正了 AttrDict 使用中 hasattr 引用的问题 (#11999, @BenWilson2)

文档更新

有关完整的更改列表,请参阅版本更改日志,并查看 mlflow.org 上的最新文档。

·阅读时长:2分钟
MLflow maintainers

MLflow 2.12.2 是一个补丁版本,包含几个错误修复和现有功能的集成改进。

此补丁版本中引入的新功能旨在为接下来的两个小版本中发布的更多主要功能奠定基础。

功能

  • [模型] 添加了一个环境变量标志,用于在模型依赖推理失败时引发异常而不是警告 (#11903, @BenWilson2)
  • [模型] 在 Transformers flavor 中添加了对 llm/v1/embeddings 任务的支持,以统一嵌入模型的输入和输出结构 (#11795, @B-Step62)
  • [模型] 通过 predict_stream() 为能够返回流式响应的自定义 pyfunc 模型引入了模型流式返回功能 (#11791, #11895, @WeichenXu123)
  • [评估] 添加了支持在 mlflow.evaluate 中为 GenAI 模型覆盖整个模型评估判断提示的功能 (#11912, @apurva-koti)
  • [跟踪] 添加了支持定义部署资源元数据以配置 pyfunc 模型内部署资源的功能 (#11832, #11825, #11804, @sunishsheth2009)
  • [跟踪] 添加了支持将 LangChain 和自定义 pyfunc 模型作为代码进行日志记录的功能 (#11855, #11842, @sunishsheth2009)
  • [跟踪] 修改了 MLflow 客户端的行为,使其从全局异步配置状态读取 (#11778, #11780, @chenmoneygithub)
  • [跟踪] 增强了系统指标数据收集,以包含 GPU 功耗指标 (#11747, @chenmoneygithub)

错误修复

  • [模型] 修复了在指定 params 时执行签名验证的验证问题 (#11838, @WeichenXu123)
  • [Databricks] 修复了 Databricks 无服务器运行时中无法加载模型的问题 (#11758, @WeichenXu123)
  • [Databricks] 修复了 Databricks 无服务器运行时中,扩展工作节点无权从驱动程序 NFS 挂载读取数据的问题 (#11757, @WeichenXu123)
  • [Databricks] 修复了 Databricks 无服务器运行时中,通过 spark_udf 加载模型进行推理因配置问题而失败的问题 (#11752, @WeichenXu123)
  • [服务器基础架构] 将 gunicorn 依赖项升级到版本 22,以解决第三方安全问题 (#11742, @maitreyakv)

文档更新

  • [文档] 添加了关于搜索 API 搜索语法限制的额外指导 (#11892, @BenWilson2)
  • [文档] 修复了快速入门指南中 Keras 示例模型定义不正确的问题 (#11848, @horw)
  • [文档] 提供了对 LangChain 教程和指南的修复和更新 (#11802, @BenWilson2)
  • [文档] 修复了文档中模型注册表示例的类型格式问题 (#11789, @80rian)

有关完整的更改列表,请参阅版本更改日志,并查看 mlflow.org 上的最新文档。

·阅读时长:6分钟
MLflow maintainers

MLflow 2.12.1 包含几个主要功能和改进

通过此版本,我们很高兴推出几项新的主要功能,重点增强了 GenAI 支持、涉及图像的深度学习工作流、扩展的表格日志记录功能以及 UI 和外部集成中的一般可用性增强。

主要新功能

PromptFlow

引入了新的 PromptFlow flavor,旨在丰富 MLflow 中的 GenAI 生态。此功能简化了动态提示的创建和管理,增强了用户与 AI 模型的交互并简化了提示工程过程。 (#11311, #11385 @brynn-code)

增强 Unity Catalog 的元数据共享

MLflow 现在支持在 Databricks Unity Catalog 中共享元数据(而非模型权重)。在记录模型时,此功能允许将元数据自动复制到专门的子目录中,与模型的实际存储位置区分开,从而允许不同的共享权限和访问控制限制。 (#11357, #11720 @WeichenXu123)

代码路径统一和标准化

我们已统一并标准化了所有 MLflow flavor 中的 code_paths 参数,以确保一致且简化的用户体验。此更改提高了模型部署生命周期中的一致性并降低了复杂性。 (#11688, @BenWilson2)

ChatOpenAI 和 AzureChatOpenAI 支持

ChatOpenAI 和 AzureChatOpenAI 接口的支持已集成到 LangChain flavor 中,从而实现了会话式 AI 模型的无缝部署。这一发展为构建利用尖端语言模型的复杂和响应式聊天应用程序开辟了新的途径。 (#11644, @B-Step62)

Sentence-Transformers 中的自定义模型

sentence-transformers flavor 现在支持自定义模型,从而在部署定制的 NLP 解决方案时提供了更大的灵活性。 (#11635, @B-Step62)

log_image API 中对原生 MLflow 图像的支持

添加了对优化图像日志记录的支持,包括对训练运行中生成的图像进行基于步骤的迭代日志记录。此功能能够轻松跟踪您的图像生成、分类、分割、增强和对象检测深度学习模型。 (#11243, #11404, @jessechancy)

Log Table 对图像的支持

通过在 log_table 中添加图像支持,MLflow 增强了其处理富媒体的能力。此功能允许在平台内直接记录和可视化图像,提高了视觉数据的可解释性和分析。 (#11535, @jessechancy)

LangChain 的流式支持

新引入的 LangChain 模型 predict_stream API 支持流式输出,可通过 pyfunc 实现链调用的实时输出。此功能对于需要连续数据处理和即时反馈的应用程序至关重要。 (#11490, #11580 @WeichenXu123)

安全修复

LFI 安全补丁

解决了模型注册表中一个关键的本地文件读取/路径遍历 (LFI) 漏洞,确保了强大的保护以防止未经授权的访问并保障用户数据完整性。 (#11376, @WeichenXu123)

详细发布说明

功能

  • [模型] 添加了 PromptFlow flavor (#11311, #11385 @brynn-code)
  • [模型] 为 Langchain 模型和 DatabricksDeploymentClient 添加了新的 predict_stream API,用于流式输出 (#11490, #11580 @WeichenXu123)
  • [模型] 弃用了 pyfunc 中的 code_path,并添加了 code_paths 别名,以便与其他 flavor 实现标准化 (#11688, @BenWilson2)
  • [模型] 在 sentence-transformers flavor 中添加了对自定义模型的支持 (#11635, @B-Step62)
  • [模型] 在与 Spark udf 推理一起使用时,启用了模型签名中的 Spark MapType 支持 (#11265, @WeichenXu123)
  • [模型] 添加了通过使用子目录在 Unity Catalog 中进行仅元数据共享的支持 (#11357, #11720 @WeichenXu123)
  • [模型] 在 LangChain flavor 中添加了对 ChatOpenAIAzureChatOpenAI LLM 接口的支持 (#11644, @B-Step62)
  • [Artifacts] 添加了在使用 Unity Catalog 上传和下载文件时利用预签名 URL 的支持 (#11534, @artjen)
  • [Artifacts] 添加了一个新的 Image 对象,用于处理图像的日志记录和优化压缩 (#11404, @jessechancy)
  • [Artifacts] 为图像日志记录添加了基于时间和步骤的元数据 (#11243, @jessechancy)
  • [Artifacts] 添加了通过 UCVolumeDatasetSource 将数据集记录到 Unity Catalog 的能力 (#11301, @chenmoneygithub)
  • [跟踪] 消除了以 Delta 格式记录表格的限制,不再要求在 Databricks 环境中运行 (#11521, @chenmoneygithub)
  • [跟踪] 添加了支持在表格中记录 mlflow.Image 文件 (#11535, @jessechancy)
  • [服务器基础架构] 引入了覆盖配置,用于控制如何处理 HTTP 重试 (#11590, @BenWilson2)
  • [部署] 在 MLflow 部署服务器中为 Anthropic 实现了 chatchat streaming 功能 (#11195, @gabrielfu)

安全修复

  • [模型注册表] 修复了本地文件读取/路径遍历 (LFI) 绕过漏洞 (#11376, @WeichenXu123)

错误修复

  • [模型注册表] 修复了 Databricks 无服务器集群中发生的注册表配置错误 (#11719, @WeichenXu123)
  • [模型注册表] 在删除底层模型时删除已注册模型的权限 (#11601, @B-Step62)
  • [模型注册表] 不允许模型名称中包含 %,以防止在 UI 中出现 URL 乱码 (#11474, @daniellok-db)
  • [模型] 修复了在模型日志记录期间,未将关键环境配置捕获为 Langchain 依赖项的问题 (#11679, @serena-ruan)
  • [模型] 修补了 LangChain 加载函数,以处理在某些版本中加载模型时抛出的不可纠正的与 pickle 相关的异常 (#11582, @B-Step62)
  • [模型] 修复了 sklearn flavor 中的回归问题,重新引入了对自定义预测方法的支持 (#11577, @B-Step62)
  • [模型] 修复了 langchain flavor 中批处理支持的不一致和不可靠实现问题 (#11485, @WeichenXu123)
  • [模型] 修复了加载包含自定义代码的远程代码依赖 transformers 模型的问题 (#11412, @daniellok-db)
  • [模型] 删除了 transformers flavor 中生成不一致输入示例显示在 MLflow UI 中的旧版转换逻辑 (#11508, @B-Step62)
  • [模型] 修复了 Keras 自动日志记录迭代输入处理的问题 (#11394, @WeichenXu123)
  • [模型] 修复了 keras 自动日志记录训练数据集生成器的问题 (#11383, @WeichenXu123)
  • [跟踪] 修复了记录 Langchain 模型时模块会多次导入的问题 (#11553, @sunishsheth2009)
  • [跟踪] 修复了 GetSampledHistoryBulkInterval API 中的采样逻辑,以便在 UI 中显示时产生更一致的结果 (#11475, @daniellok-db)
  • [跟踪] 修复了在记录 langchain 模型时,langchainlanchain_community 的导入问题并正确解析依赖项 (#11450, @sunishsheth2009)
  • [跟踪] 提高了异步日志记录的性能 (#11346, @chenmoneygithub)
  • [部署] 为 Sagemaker 镜像部署中过长的部署名称添加了中间截断 (#11523, @BenWilson2)

文档更新

  • [文档] 在 API 文档中为 code_paths docstrings 添加了清晰一致的文档 (#11675, @BenWilson2)
  • [文档] 添加了关于 sentence-transformers OpenAI 兼容 API 接口的文档指南 (#11373, @es94129)

有关完整的更改列表,请参阅版本更改日志,并查看 mlflow.org 上的最新文档。

·阅读时长:1分钟
MLflow maintainers

由于打包问题,MLflow 2.12.0 已从 PyPI 中撤回。应用了修复的 MLflow 2.12.1 是其替代版本。