跳到主内容

·阅读时长约一分钟
MLflow maintainers

MLflow 2.11.3 是一个补丁版本,解决了开源 MLflow 跟踪服务器的安全漏洞以及其他 Databricks 集成问题

错误修复

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

·阅读时长约一分钟
MLflow maintainers

MLflow 2.11.2 是一个补丁版本,引入了对自定义 transformer 模型支持的修正,解决了 LangChain 集成问题,并包含多项稳定性增强修复。

错误修复

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

·阅读时长约一分钟
MLflow maintainers

MLflow 2.11.1 是一个补丁版本,包含对部分 Databricks 集成和其他各种问题的修复。

错误修复

小型错误修复和文档更新

#11336, #11335, @harupy; #11303, @B-Step62; #11319, @BenWilson2; #11306, @daniellok-db

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

·阅读时长约七分钟
MLflow maintainers

MLflow 2.11.0 包含几项主要功能和改进

随着 MLflow 2.11.0 版本的发布,我们很高兴带来一系列涵盖 GenAI 和深度学习用例的重大且有影响力的功能。

MLflow UI 中针对深度学习的新改进

MLflow 跟踪 UI 进行了全面改进,以更好地支持深度学习工作负载的训练运行的审查和比较。从分组到贯穿 DL 模型训练周期的大规模指标绘制,有大量用户体验改进,以增强您的深度学习 MLOps 工作流程。

在 transformers 中支持 PEFT、无限制 Pipeline 记录和无权重模型记录

HuggingFace 流行库 PEFT 的支持现已在 mlflow.transformers flavor 中提供。除了 PEFT 支持外,我们还取消了对可记录到 MLflow 的 Pipeline 类型的限制,并增加了在开发和测试模型时,能够不复制基础模型权重即可记录 transformers pipeline 的功能。这些增强功能旨在使 transformers flavor 对尖端 GenAI 模型、新的 pipeline 类型更加有用,并简化 prompt engineering、微调的开发过程,使迭代开发更快、更便宜。立即尝试更新的 flavor 吧!(#11240, @B-Step62)

TensorFlow 和 PyTorch 的 Autologging 现在支持模型权重的检查点

我们在 PyTorchTensorFlow 中都添加了对模型权重自动检查点 (包括从先前状态恢复) 的支持,用于这两种 flavor 中的 auto logging 实现。这项备受期待的功能允许您自动配置长时间运行的深度学习训练,以安全地保存您的最佳 epoch,从而消除训练后期因故障而丢失模型优化状态的风险。(#11197, #10935, @WeichenXu123)

用于与 pyfunc 模型统一聊天体验的 ChatModel 接口

我们为 GenAI 工作负载在 Pyfunc 中添加了一个新接口。新的 ChatModel 接口允许您像与任何其他提供者交互一样,与已部署的 GenAI 聊天模型交互。简化的接口(不再要求符合 Pandas DataFrame 输入类型)旨在统一 API 接口体验。(#10820, @daniellok-db)

MLflow 支持 Keras 3

我们现在支持 Keras 3。Keras 库的这项重大改进引入了 Keras 与不同 DL 框架集成的新的基本变化,带来了许多新功能和互操作性。要了解更多信息,请参阅 Keras 3.0 教程,立即开始使用更新的模型 flavor 吧!(#10830, @chenmoneygithub)

Mistral AI 模型现已在 MLflow 部署服务器中可用

Mistral AI 已被添加为 MLflow 部署服务器的原生提供者。您现在可以使用其强大的 GenAI 模型,创建到 Mistral AI 服务的代理连接,用于补全和嵌入。(#11020, @thnguyendn)

MLflow 现在支持 OpenAI 1.x SDK

我们为 OpenAI 1.x SDK 添加了兼容性支持。无论您是使用 OpenAI LLM 进行模型评估,还是在 LangChain 模型中调用 OpenAI,您现在都可以使用 OpenAI SDK 的 1.x 系列,而无需指向已弃用的旧版 API。(#11123, @harupy)

功能

  • [UI] 重塑 MLflow 跟踪 UI,使其更适合深度学习工作流程,提供更直观、高效的用户体验 (#11233, @daniellok-db)
  • [数据] 引入了无需将数据集加载到内存即可记录的功能,优化资源使用和处理时间 (#11172, @chenmoneygithub)
  • [模型] 引入 TensorFlow 的记录频率控制,使其与 Keras 对齐以实现一致的性能监控 (#11094, @chenmoneygithub)
  • [模型] 在 mlflow.pyfunc.predict 中添加 PySpark DataFrame 支持,增强了批处理推理的数据兼容性和分析选项 (#10939, @ernestwong-db)
  • [模型] 引入用于更新模型需求的新 CLI 命令,无需重新记录即可更轻松地维护、验证和更新模型 (#11061, @daniellok-db)
  • [模型] 更新 sentence transformers 的 Embedding API,以确保与 OpenAI 格式兼容,扩大模型应用范围 (#11019, @lu-wang-dl)
  • [模型] 改进文本生成模型的输入和签名支持,优化聊天和补全任务 (#11027, @es94129)
  • [模型] 在文本生成 pipeline 中启用聊天和补全任务输出,扩展交互能力 (#10872, @es94129)
  • [跟踪] 为系统指标添加节点 ID,以增强多节点设置中的记录,改进诊断和监控 (#11021, @chenmoneygithub)
  • [跟踪] 实现 mlflow.config.enable_async_logging 用于异步记录,改进日志处理和系统性能 (#11138, @chenmoneygithub)
  • [评估] 增强模型评估,支持 endpoint URL,简化性能评估和集成 (#11262, @B-Step62)
  • [部署] 实现 Cohere 的聊天和聊天流支持,增强交互式模型部署能力 (#10976, @gabrielfu)
  • [部署] 启用 Cohere 流支持,允许 MLflow 部署服务器与 Cohere 提供者实现实时交互功能 (#10856, @gabrielfu)
  • [Docker / 推理] 优化模型服务的 Docker 镜像,确保更高效的部署和可伸缩性 (#10954, @B-Step62)
  • [推理] 支持推理服务器中的补全(prompt)和嵌入(input)格式输入,增加模型交互的灵活性 (#10958, @es94129)

错误修复

  • [模型注册表] 纠正模型注册表设置中未利用默认凭据文件的问题 (#11261, @B-Step62)
  • [模型注册表] 解决已注册模型详情页面中模型版本表格中别名可见性问题 (#11223, @smurching)
  • [模型] 确保在强制执行 ChatModel 输出时调用 load_context(),以便所有必需的外部引用都包含在模型对象实例中 (#11150, @daniellok-db)
  • [模型] 纠正签名不匹配中的 keras 输出 dtype,确保数据一致性和准确性 (#11230, @chenmoneygithub)
  • [模型] 解决 spark 模型加载失败问题,增强模型可靠性和可访问性 (#11227, @WeichenXu123)
  • [模型] 消除 Databricks 中缺失签名的误报警告,改善用户体验和模型验证流程 (#11181, @B-Step62)
  • [模型] 在 Transformer 模型记录期间实现签名/需求推理的超时,优化记录流程并避免延迟 (#11037, @B-Step62)
  • [模型] 解决 transformer pipelines 缺失 dtype 的问题,确保数据完整性和模型准确性 (#10979, @B-Step62)
  • [模型] 纠正由于对模型配置进行就地更新导致的非幂等预测问题,稳定模型输出 (#11014, @B-Step62)
  • [模型] 修复将 torch.dtype 指定为字符串时未正确应用于底层 transformer 模型的问题 (#11297, #11295, @harupy)
  • [跟踪] 修复 mlflow.evaluate 中针对非 LLM/自定义指标的 col_mapping 错误,确保准确的评估和指标计算 (#11156, @sunishsheth2009)
  • [跟踪] 解决 TensorInfo TypeError 异常消息问题,确保为用户提供清晰准确的错误报告 (#10953, @leecs0503)
  • [跟踪] 增强 RestException 对象的可 pickle 化能力,提高其在需要序列化的分布式计算场景中的可用性 (#10936, @WeichenXu123)
  • [跟踪] 解决未识别响应错误代码的处理问题,确保鲁棒的错误处理并在边缘案例中改善用户反馈 (#10918, @chenmoneygithub)
  • [Spark] 将硬编码的 io.delta:delta-spark_2.12:3.0.0 依赖项更新到正确的 scala 版本,使依赖项与项目需求对齐 (#11149, @WeichenXu123)
  • [服务器基础设施] 通过避免使用 importlib.metadata.entry_points().get 来适应更新版本的 python,增强兼容性和稳定性 (#10752, @raphaelauv)
  • [服务器基础设施 / 跟踪] 引入一个环境变量,用于禁用 mlflow 在导入时配置日志记录,提高可配置性和用户控制能力 (#11137, @jmahlik)
  • [认证] 增强 mlflow.login() 的认证验证,简化认证流程并提高安全性 (#11039, @chenmoneygithub)

文档更新

  • [文档] 引入一个全面的 notebook,演示如何将 ChatModel 与 Transformers 和 Pyfunc 结合使用,为用户提供利用这些模型的实用见解和指南 (#11239, @daniellok-db)
  • [跟踪 / 文档] 稳定数据集记录 API,移除实验状态 (#11229, @dbczumar)
  • [文档] 修订并更新关于身份验证数据库配置的文档,提供更清晰的说明和更好的支持,以设置安全的身份验证机制 (#11176, @gabrielfu)
  • [文档] 发布关于 MLflow 数据记录和 log_input 的新指南和教程,用可操作的建议和示例丰富文档,以实现有效的数据处理 (#10956, @BenWilson2)
  • [文档] 升级文档中的视觉元素,用高质量的 HTML5 视频替换低分辨率且抖动不良的 GIF,显著增强学习体验 (#11051, @BenWilson2)
  • [文档 / 示例] 纠正 MLflow 部署服务器文档中 OpenAI 的兼容性矩阵,为用户提供准确的集成详情,并支持更流畅的部署 (#11015, @BenWilson2)

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

·阅读时长约两分钟
MLflow maintainers

MLflow 2.10.1 是一个补丁版本,包含对 transformerslangchain flavors、MLflow UI 以及 S3 artifact store 中各种错误的修复。更多详情可在以下补丁说明中找到。

错误修复

  • [UI] 修复了阻止数据集在 MLflow UI 中显示的问题 (#10992, @daniellok-db)
  • [Artifact Store] 修复了目录桶区域名称检索问题 (#10967, @kriscon-db)
  • Transformers flavor 的错误修复
    • [模型] 修复了 transformer pipelines 未继承模型上指定的 torch dtype 的问题,导致 pipeline 推理消耗的资源超出预期。(#10979, @B-Step62)
    • [模型] 修复了由于对模型配置进行就地更新导致的非幂等预测问题 (#11014, @B-Step62)
    • [模型] 修复了影响 Text2TextGeneration pipelines 的 prompt templating 问题。之前,对 pyfunc 加载的 Text2TextGeneration pipeline 调用 predict() 会对 stringList[string] 输入失败。(#10960, @B-Step62)
  • Langchain flavor 的错误修复

文档更新

小型错误修复和文档更新

#10930, #11005, @serena-ruan; #10927, @harupy

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

·阅读时长约五分钟
MLflow maintainers

MLflow 2.10.0 包含几项主要功能和改进!

在 MLflow 2.10 中,我们引入了许多重要的新功能,这些功能正在为当前和未来增强对深度学习用例的支持、支持更广泛的 GenAI 应用的新功能以及 MLflow 部署服务器(原 AI 网关)的一些用户体验改进铺平道路。

新 MLflow 网站

我们有了新的主页。新网站登录页面清新、现代,并包含比以往更多内容。我们一直在添加新内容和博客。

模型签名支持对象和数组 (#9936, @serena-ruan)

对象和数组现可作为可配置的输入和输出 schema 元素使用。这些新类型对于专注于 GenAI 的 flavor 特别有用,因为它们可以有复杂的输入和输出类型。请参阅新的签名和输入示例文档,了解如何使用这些新的签名类型。

Langchain 自动记录 (#10801, @serena-ruan)

LangChain 现在支持自动记录!启用自动记录后,当您调用 chain 时,我们将自动记录大多数 chain 实现,为您记录和存储配置的 LLM 应用。请参阅新的Langchain 文档,了解如何使用此功能。

Transformers 模型的 Prompt Templating

MLflow transformers flavor 现在支持 prompt templates。您现在可以指定一套应用程序特定的指令提交给您的 GenAI pipeline,以简化、流畅并集成随每个输入请求提供的系统 prompt 集。查看更新的transformers 指南,了解更多信息并查看示例!

MLflow 部署服务器增强

MLflow 部署服务器现在支持两项新的请求功能:(1) 支持流式响应的 OpenAI endpoint。您现在可以配置一个 endpoint,用于返回聊天和补全的实时响应,而无需等待整个文本内容完成。(2) 现在可以为每个 endpoint 设置速率限制,以帮助在使用 SaaS 模型时控制成本超支。

进一步的文档改进

通过扩展 MLflow 核心功能(部署、签名和模型依赖管理)以及为 GenAI flavor 新建页面,继续推动增强文档、指南、教程和示例。立即查看吧!

其他功能:

  • [模型] 增强 MLflow 模型 predict API,作为环境兼容性的预记录验证器。(#10759, @B-Step62)
  • [模型] 在 transformers flavor 中添加对图像分类 pipelines 的支持 (#10538, @KonakanchiSwathi)
  • [模型] 添加对检索和存储 transformers 模型许可证文件的支持 (#10871, @BenWilson2)
  • [模型] 添加对 JohnSnowLabs flavor 中 Visual NLP 格式模型序列化的支持 (#10603, @C-K-Loan)
  • [模型] 对于 pyfunc predict,自动将 OpenAI 输入消息转换为 LangChain 聊天消息 (#10758, @dbczumar)
  • [跟踪] 通过确保对 Futures 对象调用 flush 来增强异步记录功能 (#10715, @chenmoneygithub)
  • [跟踪] 为 login() API 添加非交互模式支持 (#10623, @henxing)
  • [推理] 允许 MLflow 模型服务支持带有 messages 键的直接 dict 输入 (#10742, @daniellok-db, @B-Step62)
  • [部署] 为 MLflow 部署服务器添加流支持,用于支持 OpenAI 流返回的兼容路由 (#10765, @gabrielfu)
  • [部署] 添加通过 MLflow 部署服务器直接与 OpenAI 交互的支持 (#10473, @prithvikannan)
  • [UI] 为 MLflow UI 引入多项新功能 (#10864, @daniellok-db)
  • [服务器基础设施] 添加一个环境变量,可以禁止 HTTP 重定向 (#10655, @daniellok-db)
  • [Artifacts] 为 Azure Blob Storage 添加分块上传支持 (#10531, @gabrielfu)

错误修复

  • [模型] 为 MLflow 模型添加 pip requirements 和 extras 处理的去重逻辑 (#10778, @BenWilson2)
  • [模型] 添加对 paddle 2.6.0 版本的支持 (#10757, @WeichenXu123)
  • [跟踪] 修复 urllib3 1.x 的重试默认超时时间不正确的问题 (#10839, @BenWilson2)
  • [Recipes] 修复 MLflow Recipes 卡片显示格式的问题 (#10893, @WeichenXu123)
  • [Java] 修复在使用 Delta 作为源的特定 Spark 版本上使用 Streaming Sources 时元数据收集的问题 (#10729, @daniellok-db)
  • [推理] 修复 SageMaker 标签未能正确传播的问题 (#9310, @clarkh-ncino)
  • [Windows / Databricks] 修复在 Windows 环境中执行 Databricks run 命令的问题 (#10811, @wolpl)
  • [模型 / Databricks] 由于 JohnSnowLabs flavor 的不稳定性,禁用 mlflowdbfs 挂载 (#9872, @C-K-Loan)

文档更新:

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

·阅读时长约两分钟
MLflow maintainers

MLflow 2.9.2 是一个补丁版本,包含多项关键安全修复和配置更新,以支持超大型模型 artifact。

功能

  • [部署] 添加 mlflow.deployments.openai API,通过 deployments API 简化对 OpenAI 服务的直接访问 (#10473, @prithvikannan)
  • [服务器基础设施] 添加一个新环境变量,允许在跟踪服务器内禁用 http 重定向,以增强公开访问的跟踪服务器部署的安全性 (#10673, @daniellok-db)
  • [Artifacts] 为分块上传和分块下载添加环境变量配置,允许修改每块大小以支持超大型模型 artifact (#10648, @harupy)

安全修复

  • [服务器基础设施] 通过强制在安全的沙箱模式下进行 YAML 渲染,禁用通过操纵的 YAML 文件注入恶意代码的能力 (#10676, @BenWilson2, #10640, @harupy)
  • [Artifacts] 通过禁止 .. 路径遍历查询,防止在查询 artifact URI 位置时发生路径遍历攻击 (#10653, @B-Step62)
  • [数据] 防止在使用与 HTTPDatasetSource 交互的跟踪 API 时,在 Windows 上执行恶意文件遍历攻击的机制 (#10647, @BenWilson2)
  • [Artifacts] 通过在评估前解码路径,防止通过编码的 URL 遍历路径进行的潜在路径遍历攻击 (#10650, @B-Step62)
  • [Artifacts] 通过强制跟踪服务器使用 Sanitized paths,防止执行路径遍历攻击的能力 (#10666, @harupy)
  • [Artifacts] 在使用 FTP 服务器作为后端存储时,通过在访问用户提供的路径之前强制声明基本路径,防止路径遍历攻击 (#10657, @harupy)

文档更新

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

·阅读时长约一分钟
MLflow maintainers

MLflow 2.9.1 是一个补丁版本,包含一个与加载在早期 MLflow 版本中保存的 pyfunc 模型相关的关键错误修复。

错误修复

  • [模型] 回退对 PythonModel 的更改,这些更改导致了在早期 MLflow 版本中保存的模型的加载问题 (#10626, @BenWilson2)

小型错误修复和文档更新

#10625, @BenWilson2

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

·阅读时长约三分钟
MLflow maintainers

MLflow 2.9.0 包含几项主要功能和改进。

MLflow AI Gateway 弃用 (#10420, @harupy)

之前称为 MLflow AI Gateway 的功能已迁移,以利用MLflow 部署 API。有关从 AI Gateway 迁移到新部署 API 的指南,请参阅 [MLflow AI Gateway Migration Guide](https://mlflow.org.cn/docs/latest/llms/gateway/migration.html

MLflow 跟踪文档全面修订 (#10471, @B-Step62)

MLflow 跟踪文档已全面修订。我们希望收到您对新跟踪文档的反馈!

安全修复

此版本已提交三项安全补丁,并已发布 CVE,其中包含安全补丁涉及的详细信息和潜在攻击向量。如果您的跟踪服务器未安全部署并对互联网开放访问,请审查并更新您的跟踪服务器部署。

  • 净化 HttpArtifactRepository.list_artifacts 中的 path (#10585, @harupy)
  • 净化 HTTPDatasetSourceContent-Disposition 头中的 filename (#10584, @harupy)。
  • 验证 Content-Type 头以防止 POST XSS (#10526, @B-Step62)

功能

错误修复

  • [跟踪] 恢复现有运行时继续系统指标记录 (#10312, @chenmoneygithub)
  • [UI] 修复折线图中错误的排序顺序 (#10553, @B-Step62)
  • [UI] 移除 git URL 中多余的空格 (#10506, @mrplants)
  • [模型] 使 spark_udf 在 databricks runtime 和 spark connect 模式下使用 NFS 将模型广播到 spark executor (#10463, @WeichenXu123)
  • [模型] 修复 promptlab pyfunc 模型在聊天路由上不起作用的问题 (#10346, @daniellok-db)

文档更新

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