当前位置: 首页 > 科技观察

我研究了排名前200的AI工具,发现这个行业有点饱和

时间:2023-03-20 16:41:50 科技观察

在LinkedIn上,您申请的许多机器学习工作都有200多个竞争对手。人们在人工智能工具方面也有这么多选择吗?为了全面了解机器学习技术的应用现状,毕业于斯坦福大学并供职于NVIDIA的工程师ChipHuyen决定对目前市面上所有的AI/机器学习工具进行评估。笔者在搜索各种深度学习全栈工具列表并接受大家的推荐后,筛选出了202个比较流行的工具进行评测。最近,她的统计数据让机器学习社区有些吃惊。首先要注意的是:这份清单是在2019年11月制作的,最近开源社区可能会推出新工具。一些科技巨头的工具清单多得无法一一列举,例如AWS,它已经提供了超过165种机器学习工具。一些初创公司已经消失,他们想出的工具也无人知晓。作者认为广义机器学习的生产过程包括4个步骤:项目设置数据管道建模和训练服务作者根据支持的工作步骤对工具进行了分类。项目设置步骤未计算在内,因为它需要项目管理工具,而不是机器学习工具。分类并不简单,因为一种工具可能用于多个步骤。“我们突破数据科学的极限”、“将AI项目转化为现实世界的业务成果”、“让数据像你呼吸的空气一样自由移动”,以及作者个人最喜欢的“我们生活和呼吸的事物”。“DataScience”,这些模棱两可的表达并没有使问题变得更容易。随着时间的推移工具的演变.如果是一家公司,看看这家公司在Crunchbase上成立的年份。然后她绘制了每个类别的工具数量随时间变化的情况。如下图所示:不出所料,数据显示该领域仅2012年随着深度学习的复兴开始爆发。在AlexNet之前(2012年之前)直到2011年,该领域仍然以建模训练工具为主,一些框架(如scikit-learn)仍然很流行,有些已经影响了当前框架(Theano)。一些在2012年之前开发并且今天仍在使用的工具要么完成了IPO(例如Cloudera、Datadog和Alteryx)、被收购(图八),要么变得流行并被社区积极开发的开源项目(例如如Spark、Flink和Kafka)。发展阶段(2012-2015)随着机器学习社区采用“让我们把数据扔给它”的方法,机器学习空间变成了数据空间。在检查每个类别中每年开发的工具数量时,这一点更加明显。2015年,57%(82个工具中的42个)工具是数据管道工具。具体如下图所示:在生产阶段(2016年至今),大家都知道越是基础研究越重要,但大多数企业无法支持研究人员去探索纯技术方向——除非短期内任期商业效益可见一斑。随着机器学习研究、数据和训练模型量的增加,来自开发者和机构的需求增加,机器学习工具的市场需求也随之巨大增长。2016年,谷歌宣布将神经机器学习技术应用于谷歌翻译,这是深度学习率先落地现实世界的重要标志。图片仍然不完整。已经有许多AI初创公司,但其中大多数都致力于实施技术(提供面向消费者的应用程序),而不是提供开发工具(例如向其他公司出售框架和软件开发工具包)。).用VC的话来说,大多数创业公司都在AI垂直领域。在福布斯2019年公布的50强AI创业公司中,只有7家是基于机器学习开发工具的。对于大多数人来说,应用程序更直观。你可以走进一家公司说,“我们可以自动化你一半的客户服务。”工具传递的价值总是间接的,但它深入到整个生态系统。在一个市场中,很多公司可以提供相同的应用,但其背后所使用的工具却寥寥无几。经过大量的搜索和比较,作者在这里只列出了200多个AI工具,与传统的计算机软件工程相比,这个数字是很小的。如果你想对传统的Python应用程序开发进行基准测试,你可以在几分钟内谷歌并找到至少20种工具,但如果你想尝试机器学习模型,事情就完全不同了。机器学习工具的问题许多传统的软件工具可用于开发机器学习应用程序。但也有许多挑战是机器学习应用程序所特有的,需要特殊的工具。在传统的软件开发过程中,编写代码是最难的一步,但在机器学习工作中,编写代码只是整个过程中的一小部分。开发一个可以带来巨大性能提升并可以在现实世界中实施的新模型需要时间和金钱。大多数公司选择不开发新模型,而是直接使用它们。对于机器学习,使用最多/最佳数据的应用程序总是获胜。因此,大多数公司并没有专注于改进深度学习算法,而是花费了大量时间来提高数据质量。由于数据总是变化很快,因此机器学习应用程序也需要快速开发和部署。在许多情况下,您甚至需要每天部署新模型。此外,ML算法的规模也是一个问题。预训练的大规模BERT模型有3.4亿个参数,大小为1.35GB。尽管BERT模型可以适用于手机等消费类设备,但对新样本进行推理所需的大量时间使其无法用于许多现实世界的应用程序。试想一下,如果自动完成模型提示下一个字符的时间比用户键入的时间长,为什么需要这个模型?Git通过逐行差异实现版本控制,因此可以很好地与大多数传统软件工程程序配合使用。但是,Git不太适合数据库或模型检查点的版本控制。Pandas适用于大多数传统数据帧操作,但不适用于GPU。基于行的数据格式(例如CSV)非常适合使用少量数据的应用程序。但是,如果您的样本有很多特征,而您只想使用其中一个子特征,那么使用基于行的数据格式仍然需要您加载所有特征。PARQUET和OCR等分栏文件格式针对此用例进行了优化。ML应用面临的一些问题如下:监控:你怎么知道你的数据分布发生了变化,模型需要重新训练?数据标注:如何快速标注新数据,或者为新模型重新标注现有数据?CI/CD测试:由于您不能等待模型训练和收敛几天,您如何运行测试以确保模型在每次更改后都按预期运行?部署:如何打包部署新模型或替换现有模型?模型压缩:如何压缩ML模型以适应消费类设备?推理优化:如何加快模型的推理时间?是否可以将所有操作融合在一起?是否可以使用较低的精度?缩小模型可能会加快推理过程。边缘设备:快速且廉价地运行ML算法的硬件。隐私:如何在保护隐私的同时使用用户数据训练模型?如何让流程符合《通用数据保护条例》(GDPR)?下图中,作者按照能够解决的主要问题列出了开发工具的数量:很大一部分集中在数据管道上,包括数据管理、标签、数据库/查询、数据处理和数据生成。数据管道工具也可能希望成为一体化平台。由于数据处理是项目中资源最密集的阶段,一旦有人将他们的数据放在你的平台上,就很有可能为他们提供一个预构建或预训练的模型。建模和训练工具大多是框架。当前的深度学习框架争论有些平静,主要是在PyTorch和TensorFlow之间,以及基于它们解决特定任务(如NLP、NLU和多模态问题)的更高级框架。分布式训练领域也有框架。还有一个来自Google的新框架JAX,每个讨厌TensorFlow的Google员工都对它发誓。存在一些用于实验跟踪的独立工具,一些流行的深度学习框架也具有内置的实验跟踪。超参数调整很重要,因此有专门用于超参数调整的工具也就不足为奇了,但它们似乎都没有流行起来。因为超参数调整的瓶颈不是设置,而是运行它所需的计算能力。尚未解决但最令人兴奋的问题是在部署和服务领域。缺乏服务方法的原因之一是研究人员和生产工程师之间缺乏沟通。在有能力进行AI研究的公司(通常是大公司)中,研究团队和部署团队分开工作,两个团队之间只通过P开头的管理者进行沟通:产品经理、项目经理、项目经理。员工可以看到整个堆栈的较小公司受到即时产品需求的限制。只有少数初创公司能够缩小差距,这些公司通常由有成就的研究人员创立,并且有足够的资金聘请优秀的工程师。而这样的初创公司将占据很大一部分人工智能工具市场。开源和开源作者选择的202个工具中有109个是开源软件(OSS),非开源工具通常与其他开源工具捆绑在一起。开源软件的出现和发展是由多种原因驱动的,以下是所有开源软件支持者多年来一直在谈论的一些原因,包括透明度、协作、灵活性和道德规范。客户可能不想使用源代码不可用的新工具。否则非开源工具用不了,就得重写代码。初创公司通常就是这种情况。开源软件并不意味着非营利和免费,开发者有更深远的目的。需要看到的是,开源软件的维护既费时又费钱。据传TensorFlow团队有近1000名成员。公司必须有其提供开源软件的商业目的。例如,如果越来越多的人使用一家公司的开源软件,那么这家公司的名字就会越来越有名,人们就会更加信任这家公司。专业知识,最终可能会购买他们的专有工具,甚至加入他们的团队。这样的例子比比皆是。谷歌不遗余力地推广他们的工具,目的就是让用户使用它的云服务。Nvidia维护cuDF的目的是销售更多GPU。Databricks免费提供MLflow,但也出售他们的数据分析平台。此外,Netflix最近加入了机器学习(ML)运动,通过成立专门的机器学习团队并推出自己的Metaflow框架来吸引人才。Explosion提供SpaCy免费,Prodigy收费。HuggingFace是个特例,它免费提供transformer,但不清楚具体如何赚钱。随着开源软件成为常态,初创公司很难找到行之有效的商业模式。任何启动工具公司都必须与现有的开源工具竞争。因此,如果一家初创公司选择了开源内核商业模式,它必须决定在开源软件中包含哪些功能,在付费版本中包含哪些内容而不是贪得无厌,以及如何让免费工具的用户开始付费.未来展望关于AI泡沫是否破灭的讨论很多。人工智能投资的很大一部分用于自动驾驶汽车,但我们已经知道完全自动驾驶汽车还有很长的路要走,一些人推测投资者将完全失去对人工智能的信心。谷歌暂停了ML研究人员的招聘,优步解雇了其AI团队的一半研究人员。这些决定是在COVID-19爆发之前做出的。此外,有传言称,由于选择学习机器学习的人数众多,市场上对ML职位的需求远低于具有ML技能的人。所以问题是,现在是进入ML的好时机吗?不可否认,AI炒作确实存在,某种程度上,这种热度需要“降温”。这可能已经发生了。然而,作者并不认为ML会消失。能够负担得起ML研究的公司可能越来越少,但仍然会有公司需要工具来将他们的ML投入生产。因此,如果必须在工程和ML之间做出选择,作者推荐工程。好的工程师学习ML知识更容易,但ML专家成为好的工程师更难。如果能成为一名可以构建出色ML工具的工程师,那就太好了!