0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

跟踪机器学习实验:15个最佳工具推荐

如意 来源:百家号 作者:图灵联邦 2020-06-30 11:06 次阅读

一个机器学习项目中,从单一的模型训练中获得良好的结果是一回事,但是保持所有的机器学习实验仅仅有条,并且有一个流程能让你从中得出有效的结论又是另一回事。

近日,数据科学家Pawe Kijko在一篇博文中介绍了15个跟踪机器学习实验的最佳工具,并且解释了作为数据科学家和机器学习工程师,为什么需要一个工具来跟踪机器学习实验,以及可使用的最佳软件是什么。

原文如下:

跟踪机器学习实验的工具——谁需要它们,为什么?

数据科学家

在许多组织中,机器学习工程师和数据科学家倾向于单独工作。这使得一些人认为,只要他们能够交付最后一个模型,跟踪他们的实验过程并不是那么重要。

在某种程度上这是正确的,但是当您想回到某个想法,重新运行几个月前的模型,或者简单地比较和可视化运行之间的差异时,用于跟踪ML实验的系统或工具的需求就显现出来了。

数据科学家团队

跟踪ML实验的专门工具对整个数据科学家团队很有效。它允许数据科学家们能够看到其他人在做什么、分享想法和见解、存储实验元数据,在需要的时候检索和分析它们。

它使团队合作更加高效,避免了几个人一起做同一项任务的情况,并使新成员更容易融入团体。

管理者/业务人员

跟踪软件提供了一个让其他成员,如经理或业务利益相关者参与机器学习项目的机会。

由于可以准备可视化效果、添加注释和共享工作,因此,管理者及其同事可以轻松地跟踪进度并与机器学习团队合作。

1. Neptune

Neptune是市场上最轻量级的实验管理工具。对于任何数据科学家来说,这都是一个出色的跟踪平台。

该软件可以轻松地与工作流程集成,并提供广泛的跟踪功能。人们可以使用它来跟踪、检索和分析实验,也可以与团队和管理者共享实验结果。

此外,Neptune非常灵活,可以与许多其他框架一起使用,并且由于其稳定的用户界面,它具有出色的可伸缩性(可运行数百万次)。

主要优点:

可以存储,检索和分析大量数据

高效团队协作和项目监督的工具

随附Jupyter笔记本追踪

2. Weights & Biases

Weights & Biases针对最先进的深度学习团队。使他们能够记录实验并可视化每个研究部分。Weight&Biases的创建是为了促进数据科学家之间的协作,并在此问题上提供了许多有用的功能,所有这些都是精心设计的。

主要优点:

专为深度学习实验跟踪而创建

易于集成整个过程

可定制的可视化和报告工具

3. Comet

与先前描述的工具类似,Comet的构建是为了跟踪机器学习项目。该软件的设计团队的任务是帮助数据科学家更好地组织和管理实验。Comet提供了轻松比较实验并保留收集的数据记录以及与其他团队成员进行协作的可能性。

主要优点:

能够快速适应任何机器

能够很好地与现有的ML库兼容

保障知识产权

4. Sacred + Omniboard

“每个实验都是神圣的……”就像他们在神圣的工具描述中说的那样。

Sacred是开源软件,它允许机器学习工程师配置、组织、记录和复制实验。Sacred没有合适的用户界面,但是可以连接到一些仪表盘工具,比如Omniboard, Sacredboard或者Neptune。

此外,它没有以前的工具的可伸缩性,也没有适应团队协作,但是,在个人研究方面,它具有巨大的潜力。

主要优点:

开源工具

广泛的实验参数定制选项

易于集成

5. MLflow

MLflow是一个开源平台,可帮助管理整个机器学习生命周期。这包括实验,还包括可重复性和部署。这三个元素分别由一个MLflow组件表示:跟踪,项目和模型。

这意味着使用MLflow的数据科学家能够跟踪实验,组织实验,为其他ML工程师描述实验并将其打包到机器学习模型中。

它旨在实现从一个人到大型组织的可扩展性,但是,它最适合单个用户。

主要优点:

专注于机器学习过程的整个生命周期

与许多其他工具和平台兼容

与任何ML库或语言集成的开放界面

6. TensorBoard

TensorBoard是另一个实验跟踪工具。它是开源的,提供了一套工具,用于可视化和调试机器学习模型。

TensorBoard是市场上最受欢迎的解决方案,因此已与许多其他工具和应用程序广泛集成。而且,它拥有很多工程师用户,他们使用该软件并分享经验和想法。

这使得一个强大的社区准备好解决任何问题。然而,软件本身最适合个人用户。

主要优点:

大型的预建跟踪工具库

与许多其他工具和应用程序集成

有充分准备去解决问题的用户和社区

7. guild.ai

guild.ai的开发人员指出:“你应用实验越快越有效,你就能越早完成你的工作。”为了更好地组织这个过程,他们开发了这个开源实验跟踪软件,这个软件最适合于单个项目。

它是轻量级的,并配备了许多有用的特性,使它更容易运行、分析、优化和重新创建机器学习实验。此外,guild.ai包含各种分析工具,使实验比较过程更加容易。

主要优点:

自动化机器学习过程

与任何语言和库集成

远程训练和备份的可能性

8. Polyaxon

Polyaxon是一个专注于机器学习项目的整个生命周期管理以及促进ML团队协作的平台。

它包括从跟踪和优化实验到模型管理和法规遵从的广泛特性。其开发人员的主要目标是在节省成本的同时最大化结果和生产力。

但是,值得注意的是,在准备使用之前,需要将Polyaxon集成到您的infra/cloud中。

主要优点:

与最流行的深度学习框架和ML库集成

旨在服务于不同的利益群体,包括数据科学家,团队领导和架构师

提供了团队协作的可能性

9. Trains

如其创建者所述,Trains的建立是为了跟踪“训练生产级深度学习模型的过程”。该软件的主要重点是轻松高效地跟踪机器学习和深度学习实验。Trains是一个仍处于测试阶段的开源平台,但它在不断开发和升级。

主要优点:

快速简便的实施过程

促进团队合作的可能性

用于跟踪实验过程并将数据保存到一台集中式服务器

10. Valohai

Valohai在设计时考虑到了数据科学家的想法,它的主要好处是使模型构建过程更快。

它可以实现大规模自动化,但首先需要与基础设施/私有云集成。

Valohai兼容任何语言或框架,以及许多不同的工具和应用程序。该软件也是面向团队的,并具有许多便于团队协作的特性。

主要优点:

大大加快了模型构建过程

协助客户服务和每月检查

专注于机器学习的整个生命周期

11. Pachyderm

Pachyderm是一种工具,它使用户可以控制端到端的机器学习周期。从数据沿袭到构建和跟踪实验,再到可扩展性选项——Pachyderm涵盖了所有内容。

该软件提供三种不同版本:Community Edition(开源,可以在任何地方使用),Enterprise Edition(完整的版本控制平台)和Hub Edition(仍为beta版,结合了先前两个版本的特性) 。

它需要与您的基础架构/私有云集成,因此,不像前面提到的其他工具那样轻量级。

主要优点:

可以根据自己的需要调整软件版本

端到端流程支持

由强大的专家社区建立和支持

12. Kubeflow

Kubeflow是一款软件,其主要目标是运行流程并简化机器学习工作流程的部署。

它被称为Kubernetes的机器学习工具包,旨在利用Kubernetes的潜力来促进机器学习模型的扩展。

Kubeflow背后的团队正在不断开发其功能,并尽最大努力使数据科学家的生活更轻松。它作为补充工具能够与列表上的其他工具一起使用,

主要优点:

Multi-framework集成

非常适合Kubernetes用户

Open-source character

13. Verta.ai

Verta的主要特性可以概括为四个词:跟踪、协作、部署和监视。

正如你所看到的,创建此软件是为了方便管理整个机器学习生命周期。它配备了必要的工具,以协助ML团队在过程的每个阶段。然而,各种各样的特性使得平台更加复杂,因此不像我们提到的其他工具那样轻量级。

主要优点:

与其他ML框架的兼容性

在端到端机器学习过程中的辅助

人性化设计

14. SageMaker Studio

SageMaker Studio是一种Amazon工具,它使数据科学家可以管理整个机器学习生命周期。从构建、训练到部署ML模型。该软件的设计初衷是使开发高质量实验的过程变得更轻松、更省时。它是一个基于web的工具,并附带了整个工具集,旨在帮助数据科学家提高他们的性能。

主要优点:

跟踪数千个实验的可能性

与大量与ML相关任务的Amazon工具集成

全面管理

15. DVC

最后一个项目是专门为机器学习项目创建的开源版本控制系统。其目的是使数据科学家能够共享ML模型,并使它们具有可重复性。

DVC用户界面可以处理大量数据的版本管理和组织,并以组织良好、可访问的方式存储它们。它关注于数据和管道版本控制和管理,但有一些(有限的)实验跟踪功能。它可以很容易地与此列表中的其他工具作为补充工具一起使用。

主要优点:

适应任何语言和框架

收集大量数据的可能性

Open-source character

后记

跟踪机器学习实验一直是ML开发过程中的重要一环,但在过去,它需要数据科学家付出大量的努力。跟踪工具是有限的,因此该过程是手动且耗时的。

由于这个原因,数据科学家和工程师经常忽视机器学习生命周期的这一部分,或者创建自己的解决方案,这种情况不应该再发生了。

在过去的几年里,跟踪机器学习实验的工具已经成熟了很多,且易于访问和使用。今天列出的应用和平台就是最好的例子,希望对数据科学家们有所助益。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模型
    +关注

    关注

    1

    文章

    3372

    浏览量

    49314
  • 可视化
    +关注

    关注

    1

    文章

    1203

    浏览量

    21077
  • 机器学习
    +关注

    关注

    66

    文章

    8453

    浏览量

    133165
收藏 人收藏

    评论

    相关推荐

    传统机器学习方法和应用指导

    用于开发生物学数据的机器学习方法。尽管深度学习(一般指神经网络算法)是一强大的工具,目前也非常流行,但它的应用领域仍然有限。与深度
    的头像 发表于 12-30 09:16 433次阅读
    传统<b class='flag-5'>机器</b><b class='flag-5'>学习</b>方法和应用指导

    如何选择云原生机器学习平台

    当今,云原生机器学习平台因其弹性扩展、高效部署、低成本运营等优势,逐渐成为企业构建和部署机器学习应用的首选。然而,市场上的云原生机器
    的头像 发表于 12-25 11:54 181次阅读

    自然语言处理与机器学习的关系 自然语言处理的基本概念及步骤

    Learning,简称ML)是人工智能的一核心领域,它使计算机能够从数据中学习并做出预测或决策。自然语言处理与机器学习之间有着密切的关系,因为
    的头像 发表于 12-05 15:21 806次阅读

    什么是机器学习?通过机器学习方法能解决哪些问题?

    来源:Master编程树“机器学习”最初的研究动机是让计算机系统具有人的学习能力以便实现人工智能。因为没有学习能力的系统很难被认为是具有智能的。目前被广泛采用的
    的头像 发表于 11-16 01:07 544次阅读
    什么是<b class='flag-5'>机器</b><b class='flag-5'>学习</b>?通过<b class='flag-5'>机器</b><b class='flag-5'>学习</b>方法能解决哪些问题?

    NPU与机器学习算法的关系

    在人工智能领域,机器学习算法是实现智能系统的核心。随着数据量的激增和算法复杂度的提升,对计算资源的需求也在不断增长。NPU作为一种专门为深度学习机器
    的头像 发表于 11-15 09:19 659次阅读

    eda在机器学习中的应用

    值和噪声数据。通过绘制箱线图、直方图和散点图,我们可以直观地看到数据中的异常值和分布情况。例如,如果一数据集中的某个特征值远高于其他值,这可能是一异常值,需要进一步调查。 2. 特征选择 特征选择 是机器
    的头像 发表于 11-13 10:42 426次阅读

    具身智能与机器学习的关系

    具身智能(Embodied Intelligence)和机器学习(Machine Learning)是人工智能领域的两重要概念,它们之间存在着密切的关系。 1. 具身智能的定义 具身智能是指智能体
    的头像 发表于 10-27 10:33 530次阅读

    人工智能、机器学习和深度学习存在什么区别

    人工智能指的是在某种程度上显示出类似人类智能的设备。AI有很多技术,但其中一很大的子集是机器学习——让算法从数据中学习
    发表于 10-24 17:22 2558次阅读
    人工智能、<b class='flag-5'>机器</b><b class='flag-5'>学习</b>和深度<b class='flag-5'>学习</b>存在什么区别

    【《时间序列与机器学习》阅读体验】+ 时间序列的信息提取

    本人有些机器学习的基础,理解起来一点也不轻松,加油。 作者首先说明了时间序列的信息提取是时间序列分析的一重要环节,目标是从给定的时间序列数据中提取出有用的信息和特征,以支持后续的分析和预测任务,可以
    发表于 08-14 18:00

    机器学习算法原理详解

    机器学习作为人工智能的一重要分支,其目标是通过让计算机自动从数据中学习并改进其性能,而无需进行明确的编程。本文将深入解读几种常见的机器
    的头像 发表于 07-02 11:25 1435次阅读

    机器学习在数据分析中的应用

    随着大数据时代的到来,数据量的爆炸性增长对数据分析提出了更高的要求。机器学习作为一种强大的工具,通过训练模型从数据中学习规律,为企业和组织提供了更高效、更准确的数据分析能力。本文将深入
    的头像 发表于 07-02 11:22 866次阅读

    深度学习与传统机器学习的对比

    在人工智能的浪潮中,机器学习和深度学习无疑是两大核心驱动力。它们各自以其独特的方式推动着技术的进步,为众多领域带来了革命性的变化。然而,尽管它们都属于机器
    的头像 发表于 07-01 11:40 1575次阅读

    机器学习的经典算法与应用

    关于数据机器学习就是喂入算法和数据,让算法从数据中寻找一种相应的关系。Iris鸢尾花数据集是一经典数据集,在统计学习机器
    的头像 发表于 06-27 08:27 1744次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>的经典算法与应用

    请问PSoC™ Creator IDE可以支持IMAGIMOB机器学习吗?

    。 我发现IMAGIMOB 是一很好的解决方案来满足我的需求,但现在的问题是, PSoC™ Creator 不支持 IMAGIMOB! PSoC™ Creator 可以支持机器学习或 IMAGIMOB 吗?
    发表于 05-20 08:06

    机器学习8大调参技巧

    今天给大家一篇关于机器学习调参技巧的文章。超参数调优是机器学习例程中的基本步骤之一。该方法也称为超参数优化,需要搜索超参数的最佳配置以实现
    的头像 发表于 03-23 08:26 742次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>8大调参技巧