Press "Enter" to skip to content

机器学习(ML)实验追踪和管理的顶级工具(2023)

机器学习(ML)实验追踪和管理的顶级工具(2023) 四海 第1张机器学习(ML)实验追踪和管理的顶级工具(2023) 四海 第2张

在机器学习项目中,获得单个模型训练运行的良好结果是一回事,但保持机器学习试验的良好组织并从中得出可靠结论是另一回事。

实验跟踪为这些问题提供了解决方案。机器学习中的实验跟踪是保留每个实验的所有相关数据的实践。

实验跟踪由机器学习团队以多种方式实施,包括使用电子表格、GitHub或内部平台。然而,使用专门用于管理和跟踪机器学习实验的工具是最高效的选择。

以下是机器学习实验跟踪和管理的顶级工具
Weight & Biases

Weight & Biases是一个用于模型管理、数据集版本控制和实验监控的机器学习框架。实验跟踪组件的主要目标是帮助数据科学家记录模型训练过程的每个步骤,可视化模型并比较试验。

Weight & Biases可以在本地和云端使用。Weights & Biases在集成方面支持多种不同的框架和库,包括Keras、PyTorch环境、TensorFlow、Fastai、Scikit-learn等。

Comet

数据科学家可以使用Comet ML平台跟踪、比较、解释和优化实验和模型,从训练到生产的整个模型生命周期。对于实验跟踪,数据科学家可以记录数据集、代码更改、实验历史和模型。

Comet提供给团队、个人、学术机构和企业使用,适用于希望进行实验、促进工作并快速可视化结果的所有人。它可以在本地安装或用作托管平台。

Sacred + Omniboard

机器学习研究人员可以使用开源程序Sacred配置、安排、记录和复制实验。尽管Sacred缺乏出色的用户界面,但您可以将其与一些仪表盘工具(如Omniboard,还可以使用其他集成,如Sacredboard或Neptune)进行链接。

尽管Sacred缺乏其他工具的可扩展性,并且没有为团队协作而设计(除非与其他工具结合使用),但它对于独立研究有很多可能性。

MLflow

MLflow是一个开源框架,用于管理整个机器学习生命周期。这包括实验和模型的存储、复制和使用。MLflow有四个组件,分别代表这些因素:跟踪(Tracking)、模型注册(Model Registry)、项目(Projects)和模型(Models)。

MLflow跟踪组件具有API和UI,可以记录不同的日志元数据(如参数、代码版本、指标和输出文件),然后查看结果。

TensorBoard

由于TensorBoard是TensorFlow的图形工具包,用户经常从它开始。TensorBoard提供了机器学习模型可视化和调试工具。用户可以检查模型图、将嵌入投影到低维空间中、跟踪实验指标(如损失和准确率)等等。

您可以使用TensorBoard.dev将机器学习实验的结果上传并与任何人共享(TensorBoard缺少协作功能)。虽然TensorBoard.dev作为托管服务器上的免费服务提供,但TensorBoard是开源的并可在本地托管。

Guild AI

Guild AI是一个机器学习实验跟踪系统,采用Apache 2.0开源许可证。它可以进行分析、可视化、差异操作、流水线自动化、AutoML超参数调整、调度、并行处理和远程训练。

Guild AI还包含了几个集成工具,用于比较实验,包括:

  • Guild Compare,一个基于curses的程序,允许您查看带有标志和标量数据的电子表格格式运行结果
  • Guild View,一个在线应用程序,可比较结果并查看运行结果
  • 使用Guild Diff命令,您可以对比两个运行结果。
Polyaxon

Polyaxon是一个可扩展且可复现的深度学习和机器学习应用平台。它具有许多功能,包括模型管理、运行编排、合规性、实验跟踪和优化。其创建者的主要目标是最大化产出和生产力,同时将成本降至最低。

您可以使用Polyaxon自动记录重要的模型指标、超参数、可视化、工件和资源,并且还可以对代码和数据进行版本控制。您可以使用Polyaxon UI或将其与其他面板(例如TensorBoard)结合使用,以后显示已记录的元数据。您可以选择在本地部署Polyaxon,也可以选择与特定的云服务提供商一起使用。Polyaxon还支持TensorFlow、Keras或Scikit-learn等主要的ML和DL库。

ClearML

Allegro AI团队支持ClearML,这是一个开源平台,集成了一系列工具,可简化您的机器学习流程。该软件包包括数据管理、编排、部署、ML流水线管理和数据处理。ClearML的五个模块展示了所有这些功能:

  • 用于将ClearML集成到当前代码库中的Python包;
  • 将实验、模型和工作流数据存储在ClearML服务器上,该服务器还支持Web UI实验管理器;
  • ML-Ops编排代理ClearML Agent,可实现可扩展的实验和工作流可重现性;
  • 基于文件系统和对象存储构建的数据管理和版本控制平台,称为ClearML Data;
  • 使用ClearML Session启动远程的VSCode和Jupyter Notebooks。

模型训练、超参数优化、绘图工具、存储解决方案以及其他框架和库都与ClearML集成。

Valohai

MLOps平台Valohai可以自动化从模型部署到数据提取的所有过程。根据该工具的开发者所说,Valohai“提供无需设置的机器编排和类似MLFlow的实验跟踪”。尽管该平台的主要重点不是实验跟踪,但它确实提供了特定的功能,包括实验比较、版本控制、模型血统和可追溯性。

任何语言或框架,以及各种程序和工具都与Valohai兼容。它可以在本地部署或与任何云提供商一起使用。该程序还专为团队合作而设计,并具有许多简化操作的功能。

Pachyderm

Pachyderm是一个开源的企业级数据管道平台,使用户能够管理完整的机器学习周期,包括可扩展的选择、实验构建、跟踪和数据血统。

该软件有三个版本可用:

  • 社区版 – 由一群专业人士创建和支持的免费开源Pachyderm版本;
  • 企业版 – 可以在用户选择的Kubernetes基础设施上安装完整的版本控制平台。
Kubeflow

Kubeflow是基于Kubernetes的机器学习工具箱。它的目标是利用Kubernetes的能力简化机器学习模型的扩展。尽管该平台提供了一些跟踪功能,但这并不是项目的主要目标。它由几个部分组成,包括:

  • Kubeflow Pipelines – 用于创建和部署基于Docker容器的可扩展机器学习(ML)工作流的框架,这可能是Kubeflow中最常用的功能;
  • Kubeflow的主要用户界面(UI)是Central Dashboard;
  • KFServing是用于部署和提供Kubeflow模型的工具包,Notebook Servers是用于构建和管理交互式Jupyter笔记本的服务。
  • 通过操作符在Kubeflow中对ML模型进行培训(例如PyTorch、TensorFlow)。
Verta.ai

Verta是一个用于企业MLOps的平台。该软件旨在简化完整的机器学习生命周期管理。它的核心功能可以归纳为四个词:跟踪、协作、部署和监控。Verta的主要产品Experiment Management、Model Registry、Model Deployment和Model Monitoring都包含了这些功能。

您可以监视和可视化机器学习实验,记录不同类型的元数据,浏览和比较实验,确保模型可重现性,团队协作进行ML项目等等,这些都可以通过Experiment Management组件完成。

Verta支持TensorFlow、PyTorch、XGBoost、ONNX和其他众所周知的ML框架。它可以作为开源、SaaS和企业服务使用。

SageMaker Studio

在AWS平台上的一个组件是SageMaker Studio。它使数据科学家和开发人员能够创建、构建、训练和部署优秀的机器学习(ML)模型。它自称是第一个专门针对ML的集成开发环境(IDE)。它的四个部分是准备、训练、调优、部署和管理。其中第三个部分——训练和调优——负责实验跟踪功能。用户可以自动化超参数调优、调试训练运行、记录、组织和比较实验。

DVC Studio

DVC Studio 是迭代式的人工智能驱动的 DVC 工具系列的一员。DVC 最初被设计为面向机器学习的开源版本控制系统。该组件仍然存在,以允许数据科学家共享和复制他们的机器学习模型。DVC Studio 是一个用于 ML 项目的可视化界面,旨在帮助用户跟踪实验、可视化实验,并与团队共同开展工作。

DVC Studio 应用程序可在线和本地都可使用。

Deepkit

使用 Deepkit.ai,一个开源的机器学习开发工具和培训套件,实现智能、快速和可重现的现代机器学习。您可以使用 Deepkit.ai 管理计算服务器、记录试验并调试模型。

实验管理模型调试计算管理:Deepkit.ai 的主要优势

Trains

通过开源平台 Trains 跟踪和管理生产级深度学习模型。只需几行代码,任何处于模型开发阶段的研究团队都可以在本地 Trains 服务器上设置并保留有关其实验的有见地的记录。

任何 DL/ML 工作流都可以轻松集成到 Trains 中。它会自动将 Jupyter 笔记本存档为 Python 代码,并将实验与训练代码(git 提交 + 本地差异 + Python 包版本)链接起来。

DAGsHub

利用 Git(源代码版本控制)和 DVC 的强大功能,开源的数据科学和机器学习协作平台 DAGsHub 可以轻松构建、扩展和部署机器学习项目(数据版本控制)。

DAGsHub 简化了构建、分发和重用机器学习和数据科学项目的过程,节省了数据团队每次重新开始的时间和精力。DAGsHub 的以下特点使其与其他传统平台有所区别:

内置的远程连接功能使您可以在一个位置上连接所有内容,无需进行任何配置,包括 Git(用于源代码管理)、DVC(用于数据版本跟踪)和 MLflow(用于实验跟踪)等程序。

DAGsHub 为您提供了优雅的用户体验,同时允许您跟踪和监控许多人进行的各种 ML 实验。一个 ML 项目的试验可以被监控并与其模型、代码和数据的特定版本连接起来!

除了跟踪您的实验,DAGsHub 直观的可视化和每个实验记录的数据还可以让您将各种试验并排比较,并理解性能指标和超参数的差异。

注意:我们尽力展示了这些酷工具,但如果我们漏掉了什么,请随时联系 Asif@marktechpost.com

本文由 MarkTechPost 发布,主题是机器学习(ML)实验跟踪和管理的顶级工具(2023年)。

Leave a Reply

Your email address will not be published. Required fields are marked *