加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 创业 > 模式 > 正文

我研究了最热门的200种AI工具,却发现这个行业有点饱和

发布时间:2020-07-22 17:56:49 所属栏目:模式 来源:站长网
导读:副标题#e# 在 LinkedIn 上,很多你申请的机器学习职位都有超过 200 名竞争者。在 AI 工具上人们也有这么多选择吗? 为了完整了解机器学习技术应用的现状,毕业于斯坦福大学,曾就职于英伟达的工程师 Chip Huyen 决定评测目前市面上所有能找到的 AI / 机器学
副标题[/!--empirenews.page--]

在 LinkedIn 上,很多你申请的机器学习职位都有超过 200 名竞争者。在 AI 工具上人们也有这么多选择吗?

为了完整了解机器学习技术应用的现状,毕业于斯坦福大学,曾就职于英伟达的工程师 Chip Huyen 决定评测目前市面上所有能找到的 AI / 机器学习工具。

在搜索各类深度学习全栈工具列表,接受人们的推荐之后,作者筛选出了 202 个较为热门的工具进行评测。最近,她的统计结果让机器学习社区感到有些惊讶。

 

首先要注意的是:

这一列表是在 2019 年 11 月列出的,最近开源社区可能会有新工具出现。

有些科技巨头的工具列表庞大,无法一一列举,比如 AWS 就已经提供了超过 165 种机器学习工具。

有些创业公司已经消失,其提出的工具不为人们所知。

作者认为泛化机器学习的生产流程包括 4 个步骤:

项目设置

数据 pipeline

建模和训练

服务

作者依据所支持的工作步骤将工具进行分类。项目设置这一步没有算在内,因为它需要项目管理工具,而不是机器学习工具。由于一种工具可能不止用于一个步骤,所以分类并不简单。「我们突破了数据科学的极限」,「将 AI 项目转变为现实世界的商务成果」,「允许数据像您呼吸的空气一样自由移动」,以及作者个人最喜欢的「我们赖以生存和呼吸的数据科学」,这些模棱两可的表述并没有让问题变得更简单。

工具的时间演变历程

作者追溯了每种工具发布的年份。如果是开源项目,则查看首次提交,以查看项目开始公开的时间。如果是一家公司,则查看该公司在 Crunchbase 上的创办年份。然后她绘制了随着时间的推移,每个类别中工具数量的变化曲线。具体如下图所示:

我研究了最热门的200种AI工具,却发现这个行业有点饱和

不出所料,数据表明,随着 2012 年深度学习的复兴,该领域才开始呈爆炸式增长。

AlexNet 之前(2012 年之前)

直到 2011 年,该领域仍然以建模训练工具为主导,有些框架(比如 scikit-learn)仍然非常流行,有些则对当前的框架(Theano)产生了影响。2012 年以前开发出来且至今仍在使用的一些工具要么完成 IPO(如 Cloudera、Datadog 和 Alteryx),要么被收购(Figure Eight),要么成为受社区欢迎并积极开发的开源项目(如 Spark、Flink 和 Kafka)。

开发阶段(2012-2015)

随着机器学习社区采用「let’s throw data at it」的方法,机器学习空间就变成了数据空间。当调查每个类别中每年开发出的工具数量时,这一点更加明显。2015 年,57%(82 个工具中有 42 个)的工具都是数据 pipeline 工具。具体如下图所示:

我研究了最热门的200种AI工具,却发现这个行业有点饱和

生产阶段(2016 年至今)

每个人都知道越基础的研究越重要,但大多数公司都无法支持研究人员进行纯技术方向的探索——除非能够看到短期商业利益。随着机器学习研究、数据和已训练模型数量的增多,开发者和机构的需求增加,市场对于机器学习工具的需求也有了巨大的增长。

2016 年,谷歌宣布将神经机器学习技术应用到谷歌翻译中,这是深度学习在现实世界里首次落地的重要标志。

这一全景图仍不完整

AI 创业公司现在已经有很多了,但它们大多数都面向技术的落地(提供面向消费者的应用),而不是提供开发工具(如向其他公司售卖框架和软件开发包)。用风险投资的术语来说,大多数初创公司都是垂直 AI 领域里的。在福布斯 2019 年公布的 50 大 AI 初创公司里,只有 7 家是以机器学习开发工具为主业的。

对于大多数人来说,应用更为直观。你可以走进一家公司说:「我们可以让你们的一半客服工作实现自动化。」工具实现的价值总是间接的,但又深入整个生态系统。在一个市场中,很多公司都可以提供相同的应用,但其背后用到的工具却只有寥寥几种。

经过大量搜索和比对,在这里作者只列出了 200 余个 AI 工具,相对于传统计算机软件工程来说这个数字很小。如果你想评测传统的 Python 应用开发,你可以用谷歌几分钟内找出至少 20 个工具,但如果你想试试机器学习模型,事情就完全不一样了。

机器学习工具面临的问题

很多传统的软件工具都可以用于开发机器学习应用。但是在机器学习应用中,也有很多挑战是独有的,需要特殊的工具。

在传统软件开发流程中,写代码是最难的一步,但在机器学习工作中,写代码只是整个流程中耗费精力较小的一部分。开发一个可以带来很大性能提升,并且在现实世界中可以落地的新模型非常耗费时间和资金。大多数公司都会选择不去开发新模型,而是直接拿来就用。

对于机器学习来说,使用最多 / 最好数据的应用总会获胜。所以与其专注于提升深度学习算法,大多数公司都会花费大量时间提升数据的质量。因为数据的变化总是很快,机器学习应用也需要快速的开发和部署。在很多例子中,你甚至需要每天都部署新的模型。

此外,ML 算法的规模也是一个问题。预训练的大规模 BERT 模型具有 3.4 亿参数,大小为 1.35GB。即使 BERT 模型可以拟合手机等消费类设备,但在新样本上运行推理所耗费的大量时间就使其对于现实世界的众多应用毫无用处。

试想,如果自动补全模型提示下一个字符所花费的时间比用户自己键入的时间还要长,那么有什么必要用这个模型呢?

Git 通过逐行的差异比较实现了版本控制,因而对大多数传统软件工程程序的效果很好。但是,Git 并不适用于数据库或者模型检查点的版本控制。Panda 对大多数传统数据框操作的效果很好,但在 GPU 上不起作用。

CSV 等基于行的数据格式对于使用较少数据的应用有很好的效果。但是,如果你的样本具有很多特征,并且你只想利用其中的一个子特征,则使用基于行的数据格式依然需要你加载所有的特征。PARQUET 和 OCR 等柱状文件格式针对这种用例进行了优化。

ML 应用面临的一些问题如下所示:

监测:怎么知道你的数据分布已经改变以及需要重新训练模型?

数据标注:如何快速地标注新数据,或者为新模型重新标注现有数据?

CI/CD 测试:由于你不能花几天的时间等着模型训练和收敛,所以如何运行测试以确保每次改变后模型像期望地那样运行?

部署:如何封装和部署新模型或者替换现有模型?

模型压缩:如何压缩 ML 模型使其拟合消费类设备?

推理优化:如果加速模型的推理时间?是否可以将所有操作融合在一起?是否可以采用更低精度?缩小模型或许可以加速推理过程。

边缘设备:硬件运行 ML 算法速度快且成本低。

隐私:如何在保护隐私的同时利用用户数据来训练模型?如何使流程符合《通用数据保护条例》(GDPR)?

在下图中,作者根据开发工具能够解决的主要问题列出了它们的数量:

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读