记录和管理机器学习模型的顶级工具
ML模型的顶级工具
在机器学习中,实验追踪将所有实验元数据存储在一个位置(数据库或存储库)中。模型超参数、性能测量、运行日志、模型工件、数据工件等都包含在其中。
有许多实现实验记录的方法。电子表格是其中之一(已经没有人再使用它们了!),或者您可以使用GitHub来跟踪测试。
跟踪机器学习实验一直是ML开发中至关重要的一步,但过去它是一项费时、慢速且容易出错的工作。
- “LLMs反映的是谁的观点?这篇来自斯坦福大学的人工智能论文通过公众舆论调查的视角,研究了语言模型LMs所反映的观点”
- 什么是ETL?热门ETL工具
- 使用开源向量数据库ChromaDB构建语义搜索应用程序
近年来,用于机器学习的现代实验管理和追踪解决方案的市场发展和增长。现在,有各种各样的选择。无论您是寻找开源或企业解决方案、独立的实验追踪框架还是端到端平台,您肯定会找到合适的工具。
利用像MLFlow这样的开源库或框架,或者购买具有这些功能的企业工具平台(如Weights & Biases、Comet等),是执行实验记录的最简单方式。本文列出了对数据科学家非常有帮助的一些实验追踪工具。
MLFlow
开源平台MLflow管理机器学习生命周期,包括实验、可重现性、部署和中央模型注册。它将来自多个机器学习库的模型管理和分发到各种平台进行模型服务和推理(MLflow模型注册表)。MLflow目前支持将ML代码打包成可重用、可重现的形式,以便与其他数据科学家共享或转移到生产中,以及跟踪实验记录和比较参数和结果(MLflow跟踪)(MLflow项目)。此外,它还提供了一个中央模型存储,用于协作管理MLflow模型的整个生命周期,包括模型版本控制、阶段转换和注释。
Weights & Biases
Weights & Biases是一个MLOps平台,通过实验追踪、数据集版本控制和模型管理,帮助生成更好的模型并更快地实现结果。Weights & Biases可以安装在您的私有基础设施上,也可以在云上使用。
Comet
Comet的机器学习平台与您当前的基础设施和工具接口,用于管理、可视化和优化模型。只需在脚本或笔记本中添加两行代码,即可自动开始跟踪代码、超参数和指标。
Comet是一个用于ML实验的全生命周期平台。它可以用于比较代码、超参数、指标、预测、依赖关系和系统指标,以分析模型性能的差异。您可以将您的模型注册到模型注册表中,以便轻松移交给工程团队,并可以通过完整的训练运行到部署的审核跟踪来监控它们的使用。
Arize AI
Arize AI是一个机器学习可观察性平台,帮助机器学习团队在生产中交付和维护更成功的AI。Arize的自动化模型监控和可观察性平台使机器学习团队能够在问题出现时检测问题、排查问题原因并管理模型性能。通过帮助团队主动识别计算机视觉和自然语言处理模型的非结构化数据嵌入,Arize还帮助团队预测下一个要标记的数据并排查生产中的问题。用户可以在Arize.com上注册免费帐号。
Neptune AI
使用Neptune平台可以管理和记录ML模型构建的元数据。它可以用于记录图表、模型超参数、模型版本、数据版本等等。
您无需设置Neptune,因为它托管在云上,您可以随时随地访问您的实验。您和您的团队可以共同在一个位置组织所有实验。任何调查都可以与您的团队共享并由他们一起处理。
在使用Neptune之前,您必须安装“neptune-client”。此外,您还必须组织一个项目。在此项目中,您将使用Python API进行Neptune操作。
Sacred
Sacred是一个用于进行机器学习实验的免费工具。要开始使用Sacred,您首先必须设计一个实验。如果您使用Jupyter Notebook进行实验,则必须传递“interactive=True”。该工具可以管理和记录ML模型构建的元数据。
Omniboard
Omniboard是Sacred的基于Web的用户界面。该程序与Sacred的MongoDB数据库建立连接。然后显示每个实验收集的测量和日志。您必须选择一个观察者来查看Sacred收集的所有数据。默认的观察者称为“MongoObserver”。MongoDB数据库已连接,并创建了一个包含所有这些数据的集合。
TensorBoard
用户通常开始使用TensorBoard,因为它是TensorFlow的图形工具箱。TensorBoard提供了可视化和调试机器学习模型的工具。可以检查模型图,将嵌入投影到低维空间,跟踪实验指标(如损失和准确性),等等。
使用TensorBoard.dev,您可以将机器学习实验的结果上传和分发给所有人(TensorBoard中缺少协作功能)。TensorBoard是开源且本地托管的,而TensorBoard.dev是托管服务器上的免费服务。
Guild AI
Guild AI是一个用于跟踪机器学习实验的系统,采用Apache 2.0开源许可证发布。它的特点包括分析、可视化、差异操作、流水线自动化、AutoML超参数调整、调度、并行处理和远程训练等。
Guild AI还配备了几个集成工具,用于比较实验,例如:
- 使用基于curses的工具Guild Compare,您可以查看带有标志和标量数据的电子表格格式运行。
- 基于Web的程序Guild View允许您查看运行并比较结果。
- 称为Guild Diff的命令可让您比较两个运行。
Polyaxon
Polyaxon是一个可扩展和可重复的机器学习和深度学习应用平台。其设计者的主要目标是降低成本,同时提高产出和生产力。模型管理、运行编排、监管合规、实验跟踪和实验优化只是其众多特点之一。
使用Polyaxon,您可以对代码和数据进行版本控制,并自动记录重要的模型指标、超参数、可视化、资源和工件。要在以后显示已记录的元数据,您可以使用Polyaxon UI或将其与其他面板(如TensorBoard)结合使用。
ClearML
ClearML是一个由Allegro AI团队支持的开源平台,集成了一系列工具,以简化您的机器学习流程。部署、数据管理、编排、ML流水线管理和数据处理都包含在该软件包中。这些特性都存在于ClearML的五个模块中:
- 实验、模型和工作流数据存储在ClearML Server上,该服务器还支持Web UI实验管理器。
- 使用Python模块将ClearML集成到现有代码库中;
- ClearML Data数据管理和版本控制平台建立在对象存储和文件系统之上,实现可扩展的实验和过程复制。
- 使用ClearML Session可以启动远程的VSCode和Jupyter Notebooks实例。
使用ClearML,您可以集成模型训练、超参数优化、存储选项、绘图工具和其他框架和库。
Valohai
从模型部署到数据提取,MLOps平台Valohai实现了全自动化。根据该工具的创建者所说,Valohai“提供了无需设置的机器编排和类似MLFlow的实验跟踪”功能。尽管实验跟踪并不是其主要目标,但该平台提供了某些功能,包括版本控制、实验比较、模型衍生和可追溯性。
Valohai与各种软件和工具兼容,以及任何语言或框架。它可以在任何云提供商或本地环境中设置。该程序具有许多使其更简单的功能,并且还考虑了团队合作。
Pachyderm
Pachyderm是一个开源的企业级数据科学平台,允许用户控制整个机器学习周期。可扩展性、实验构建、跟踪和数据溯源等选项。
该程序有三个版本可用:
- 社区构建的开源Pachyderm由一群专业人士创建和支持。
- 企业版可以在用户首选的Kubernetes基础设施上设置完整的版本控制平台。
- Pachyderm的托管和管理版本称为Hub Edition。
Kubeflow
Kubeflow是Kubernetes的机器学习工具包的名称。其目标是利用Kubernetes的能力来简化机器学习模型的扩展。尽管该平台具有某些跟踪工具,但项目的主要目标不同。它由多个组件组成,包括:
- Kubeflow Pipelines是一个基于Docker容器构建和部署可扩展机器学习(ML)工作流程的平台。这是最常用的Kubeflow功能之一。
- Kubeflow的主要用户界面是Central Dashboard。
- 使用名为KFServing的框架来安装和提供Kubeflow模型,使用名为Notebook Servers的服务来创建和管理交互式Jupyter笔记本。
- 要在Kubeflow中通过运算符进行ML模型训练,请参阅Training Operators(例如TensorFlow,PyTorch)。
Verta.ai
一种用于企业MLOps的平台称为Verta。该程序的目标是使整个机器学习生命周期更易于管理。其主要特点可以概括为四个词:跟踪、协作、部署和监控。这些功能都包括在Verta的核心产品中,包括实验管理、模型部署、模型注册和模型监控。
通过实验管理组件,您可以监视和可视化机器学习实验、记录各种类型的元数据、探索和比较实验、确保模型可重现性、在ML项目上进行协作等等。
Verta支持多个知名的ML框架,包括TensorFlow、PyTorch、XGBoost、ONNX等等。服务提供了开源、SaaS和企业版本。
Fiddler AI
Fiddler是企业级模型性能管理的先驱。使用Fiddler监控、解释、分析和改进您的ML模型。
统一环境提供了一个共同的语言、集中的控制和可操作的洞察力,以建立可信的ML/AI。它解决了在规模上构建内部稳定且安全的MLOps系统的独特挑战。
SageMaker Studio
SageMaker Studio是AWS平台的组成部分之一。它使数据科学家和开发人员能够构建、训练和使用最佳的机器学习(ML)模型。它是第一个完整的机器学习(IDE)开发环境。它由四个部分组成:准备、构建、训练和调优、部署和管理。实验跟踪功能由第三个训练和调优部分处理。用户可以自动化超参数调整、调试训练运行、记录、比较实验和组织。
DVC Studio
由iterative.ai推动的DVC工具套件包括DVC Studio。DVC Studio是一个用于ML项目的可视化界面,旨在帮助用户跟踪测试、可视化测试并与团队协作。DVC最初是作为机器学习的开源版本控制系统而创建的。该组件仍然在使用中,以使数据科学家能够共享和复制他们的ML模型。