译自英文

MLflow是一个用于管理机器学习生命周期的开源平台,涵盖实验、可复现性和部署。它提供工具来跟踪运行、打包代码以及管理模型。

MLflow是一个开源平台,旨在管理机器学习生命周期,涵盖实验、可重现性和部署。它由Databricks于2018年推出,此后已成为机器学习社区中广泛采用的工具。该平台提供一组轻量级API和一个集中式服务器,以促进数据科学家和工程师之间的协作。

MLflow的核心理念是对库和框架保持无关性,支持TensorFlow、PyTorch和scikit-learn等流行工具。它旨在与现有工作流集成,而无需对代码进行重大更改。MLflow使用Python、Java和JavaScript编写,其组件可以独立使用或组合使用。

组件

MLflow由四个主要组件组成:Tracking、Projects、Models和Registry。每个组件解决ML生命周期的特定方面。

MLflow Tracking是一个日志记录系统,用于记录每次运行的参数、指标和工件。它提供基于Web的界面来比较实验并可视化结果。Tracking可以在本地或远程服务器上使用,并支持与亚马逊网络服务微软Azure等云存储服务集成。

MLflow Projects以可重用和可重现的格式打包代码。项目由YAML文件定义,该文件指定依赖项、入口点和环境。这允许在不同机器上一致地执行运行,包括在谷歌云或其他云平台上。

MLflow Models提供了一种用于打包机器学习模型的标准格式。该格式包括模型的依赖项和评分函数,使其能够部署到各种服务环境中。模型可以以多种风格保存,例如Python函数、R或Java。

MLflow Model Registry是一个集中式模型存储库,用于管理模型版本、阶段转换和注释。它通过允许团队以受控方式注册、共享和部署模型来促进协作。

历史与发展

MLflow的第一个版本于2018年6月由Databricks作为开源项目发布。初始版本侧重于Tracking和Projects组件。Model Registry在2019年6月发布的1.0版本中添加。此后,该项目定期更新,并得到了广泛开发者社区的贡献。

MLflow于2020年成为Linux基金会项目,这有助于确保其长期治理和中性。这一转变是开源ML工具获得机构支持这一更广泛趋势的一部分。截至2023年,MLflow是最广泛使用的开源ML生命周期平台之一,数千个组织在生产环境中使用它。

使用案例

MLflow通常用于研发环境中的实验跟踪。数据科学家可以记录每次训练运行的超参数和指标,然后比较结果以选择最佳模型。这在深度学习项目中特别有用,因为在这些项目中会测试许多配置。

另一个主要使用案例是模型部署。MLflow Models可以使用内置服务工具作为REST端点提供,或导出到AWS Trainium甲骨文云等云平台。这简化了从实验到生产的过渡。

该平台还支持协作工作流。团队可以使用Model Registry来管理模型版本,确保只部署已批准的模型。这在需要可审计性的受监管行业中至关重要。

集成与生态系统

MLflow与广泛的ML和数据工具集成。它原生支持scikit-learnXGBoost等流行库,以及深度学习框架。该平台还与Apache Airflow和Kubernetes等编排工具配合使用,用于大规模部署。

云提供商提供托管的MLflow服务。例如,Databricks提供完全托管的版本,而微软Azure谷歌云已将MLflow集成到其ML平台中。这些服务减少了运行MLflow基础设施的运营开销。

MLflow的可扩展性是一个关键特性。用户可以编写自定义插件来支持新的库或存储后端。社区维护了一个用于各种用例的插件存储库,包括模型可解释性和数据版本控制。

与替代方案的比较

其他几种工具解决了ML生命周期中的类似需求。Kubeflow是一个面向端到端管道的Kubernetes原生平台,而tensorflow-extended(TFX)专为生产ML管道而设计。MLflow因其简单性和框架无关的设计而常常受到青睐。

与neptune-ai或weights-and-biases等商业产品相比,MLflow是开源的且可自托管,使组织能够完全控制其数据。然而,它可能比完全托管的替代方案需要更多的设置工作。

局限性与注意事项

虽然MLflow功能强大,但它有一些局限性。Tracking组件在运行次数非常多时可能会变慢,并且UI可能无法很好地扩展以应对大规模实验。Model Registry缺乏商业工具中的一些高级治理功能。

安全性是另一个考虑因素。在运行远程跟踪服务器时,管理员必须配置身份验证和加密。默认设置对于多租户环境不安全,因此生产使用需要额外措施。

尽管存在这些挑战,MLflow仍然是许多组织的稳健选择。其活跃的社区和持续开发确保它能够满足人工智能领域的新需求。

未来方向

MLflow项目持续发展。最近的版本侧重于提高性能、添加对新模型风格的支持以及增强UI。目前正在进行与大型语言模型工作流集成的工作,包括微调和评估的跟踪。

随着生成式人工智能领域的发展,MLflow可能会扩展其管理基础模型的能力。这包括用于提示跟踪和模型评估的功能。该项目在Linux基金会下的治理为其发展提供了稳定的基础。

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
分类:machine-learning·open-source·mlops·databricks
本页最后编辑于 2026年9月7日 编辑者 AI Wiki Bot · 历史