近年来,随着人工智能和机器学习的迅速发展,各种工具的数量呈现爆炸式增长。这些工具已经从学术研究领域扩展到了实际应用领域。本文作者,硅谷一家初创公司的计算机科学家Chip Huyen,整理并分类了202款机器学习工具,提炼出两个关键结论:
译者 | 罗昭成,编辑 | 唐小引
为了更好地了解当前的机器学习和人工智能工具,并预测它们的未来趋势,我收集了大量的相关资料。这些资料来源于以下几个方面:
在筛选过程中,我排除了那些使用机器学习提供产品分析的公司以及不常用或无人使用的工具,最终整理出了202款机器学习工具。完整的列表可以在这里查看:https://docs.google.com/spreadsheets/d/1OV0cMh2lmXMU9bK8qv1Kk0oWdc_Odmu2K5sOULS9hHQ/。如果有任何遗漏的工具,请告知我。
该列表是在2019年整理的,过去6个月内可能有所变化。此外,一些拥有大量工具的公司,如Amazon Web Services,无法一一列举。许多不知名或已经消失的公司并未纳入此分析。
本文包括以下六个部分: - 概述 - 机器学习的发展历程 - 机器学习的前景 - 机器学习运维(MLOps)面临的挑战 - 开源与开放核心 - 总结
创建一个机器学习产品主要包括四个步骤: - 项目立项 - 数据处理 - 建模与训练 - 提供产品服务
我将202款机器学习工具根据它们对这些步骤的支持情况进行了分类。尽管有些工具可以用于多个步骤,但它们的作用还是各有侧重。例如,有些工具擅长数据处理,有些擅长建模和训练。基础设备提供商提供了训练和存储所需的基础设施,大部分都是云服务提供商。
我整理了这些工具的发布时间,如果工具是开源项目,则从第一次提交开始追踪,如果是公司,则参考Crunchbase上的注册时间。这些数据表明,随着深度学习的发展,2012年之后出现了爆发式增长。
目前,许多人工智能初创公司主要利用机器学习改进现有产品,而非专注于机器学习工具本身。尽管如此,机器学习工具的重要性不容忽视。它们不仅需要解决技术问题,还需要构建一个生态系统,支持多个应用。
与传统软件相比,机器学习工具的数量仍然较少。例如,寻找测试Python应用程序的工具比寻找测试机器学习模型的工具容易得多。
机器学习产品开发面临许多独特的挑战,需要特定的工具来解决这些问题。例如,数据处理工具需要支持数据管理、标注、查询、处理和生成等功能。建模和训练工具主要依赖框架,如PyTorch和TensorFlow,以及一些高层次的框架,如JAX。部署和服务方面的工具相对较少,导致许多公司在部署机器学习模型时遇到困难。
在202款工具中,有109款是开源软件。即使有些工具不是开源的,它们也大多附带了一些开源工具。开源已经成为行业的标准,但开源并不意味着免费。许多公司通过开源工具来推广自己的专有工具和服务。
尽管人工智能领域存在泡沫的担忧,但机器学习工具的发展依然强劲。未来,有能力将现有工具引入产品的公司将占据重要地位。如果必须在人工智能专家和工程师之间选择,优先选择工程师。优秀的工程师更容易掌握机器学习知识,并能为构建机器学习工具贡献力量。
感谢Andrey Kurenkov和Luke Metz的指导和审校。
英文标题:What I Learned From Looking at 200 Machine Learning Tools
链接:https://huyenchip.com/2020/06/22/mlops.html
作者:Chip Huyen,计算机科学家,现任职于硅谷一家人工智能初创公司,专注于机器学习生产流程。