尽管人工智能的应用日益广泛,但 AI 产品的大规模部署依旧艰难;不过,一些新技术的出现,正试图改变这一状况。
(声明:我不是 Algorithmia 职员,或与其存在任何形式的利益关系。作为一个有数据科学背景的人,我只是试图为本文找到一个有说服力的公司。)
毫无疑问人类正进入人工智能时代,机器学习几乎渗透到我们日常参与的所有事情。在数据存储和计算能力的推动之下,诞生于 1970 年代的神经网络重磅回归。无论是医疗、安防、服务业,还是反欺诈,你总能找到资金充裕的公司正通过机器学习解决上述问题。没准,你正是通过 Medium 的机器学习推荐系统发现了这篇文章。
无论出于何种原因,深度学习似乎能很好地解决一系列问题,并产生即时影响。我们甚至称之为一场正在进行的革命。
创建深度学习模型越发容易,但大规模部署很难
数据存储及英伟达芯片无疑推动了这次变革,而当今机器学习的另一个推动力是你可以方便快捷地创建有效、精确的模型。机器学习变的越来越简单——新的工具使其落地比以往任何时候都容易(https://machinelearnings.co/machine-learning-abstraction-and-the-age-of-ai-ease-f3274bb9e0c1)。
除了为特定任务提供功能丰富的 API 的私有公司(比如 Clarifai 和 Indico)之外,在流行的数据科学语言(比如 R 和 Python)中第三方工具包生态系统也正呈指数增长。谷歌在 2015 年 11 月推出 TensorFlow 第一个版本,自此以后获得飞速发展(已经很流行的 ScikitLearn 除外)。对于数据科学家来说,在测试环境中打造复杂模型已不再是难事。
不幸的是,这一简便性并未脱离最初的 iPython Notebook。这是因为机器学习模型进入生产部署阶段与它在你的计算机上工作非常不同。部署模型意味着模型被大规模调用时,可以以你想要的方式工作。创建理论上精确的模型是没有用的,如果它们一旦开始向客户提供服务就会崩溃。
现在你需要关注一个全新的挑战,掌握一套新的技能,以及衡量你是否成功的不同指标。
模型部署与构建大不相同,对大、小企业而言都非常困难
和分布式应用类似,部署深度学习模型非常困难,它与构建模型是完全不同的任务。区别体现在以下几个方面:
- 谁:模型构建由数据科学家和机器学习研究人员完成,而部署由软件工程师、机器学习工程师和数据工程师完成。
- 指标:模型构建的目标是创建能够准确预测的模型,而部署的目标是进行快速、可靠的预测。
- 哪里:模型构建通常由多个人在多个虚拟服务器上完成,而模型部署需要具备扩展能力,能够处理数以千计甚至数以百万计的 API 请求。
以上反映了模型部署是一个不同的游戏,同样也很难进行,它涉及不同的技巧、优先级和能力。如果最准确的模型需要很长时间才能运行怎么办?如何用新数据更新模型?如何通过多样化地理位置来优化速度?
这个问题在不同规模的公司中都存在。对于希望开发和运行机器学习模型产品的初创公司而言,部署简直太复杂了。招聘合适的软件工程师和数据工程师本来就很难了,使一款产品起步更加困难,你的恢复力取决于身边这群使模型运行的人。数据科学家具备的技能使你创建出准确的模型,但无法使模型大规模部署。
该问题不会随着公司规模扩大而消失,事实上,某种程度上,在大公司这个问题更加突出了。数据科学团队开发出有效的模型和产品,但是他们需要使其运行和可扩展。这意味着其他工程团队需要加入,而他们或许不具备对应的背景。而且,数据科学家需要依赖他们来移植模型、调参和确定批量大小。其他软对完成模型部署时说不定 4 个月就过去了,也有可能更长,而且模型的样子和行为方式和数据科学团队最初构建的截然不同。
简而言之,很多初创公司无法解决的难题大公司也没办法。针对模型部署问题的一个普遍解决方案是使用一个平台,但是这些平台对多数企业未必合适。也就是说,你保存自己的数据,使用 API 在供应商的服务器上构建快速的 dirty 模型,平台使模型扩展,担忧如何使一切运转良好。这类平台有 BigML 和 Seldon。
不幸的是,因其构建方式,平台部署不总是有效:如果你的公司构建了一个深度学习产品,你无法把模型转移到第三方平台上。你想创建自己的复杂算法,不管它们是 TensorFlow 上的神经网络还是什么。
问题在于没有产品能够解决「最后一英里」的问题:开发自己想要的模型,同时照顾好其他方面。还好,事情发生改变。
Algorithmia 致力于提供部署服务,解决「最后一公里」问题
Algorithmia 发布新产品来解决该问题,但是建模和数据问题仍然掌握在数据科学家手中。该产品叫作 Enterprise AI Layer,它可以自动化对机器学习部署进行运行维护,让你把精力投入到真正重要的事情中——构建伟大的模型和产品。
Enterprise AI Layer 覆盖了可扩展部署解决方案中所有基础问题。它是云不可知(cloud agnostic)的,可以根据你的需求扩展,可使用 CPU 或 GPU,延迟极低。Algorithmia 的平台也适用于运维人员,即详细的仪表盘,对所有指标的跟踪,确保部署符合客户需求。
「作为一个在涉及和部署机器学习系统上花费数年时间的人,Algorithmia 的无服务器微服务架构让我印象深刻。这对想要规模化部署 AI 的公司来说是一个伟大的解决方案。
Anna Patterson,谷歌工程和人工之能副总裁」
现在情况有所不同,因为你的团队可以专注于创造好的模型,而不是基础的东西。这是 Serverless 通过谷歌的 BigQuery 和亚马逊的 Athena 完成的数据存储模式:它允许企业专注于分析其数据,而无须考虑存储数据的复杂的技术问题。作为收入来源的数据分析抽象自数据存储,现在,建模也可以从部署中抽象出来。
这很棒:这意味着更多的创意可以转化为产品,更多的产品可以打破巨大的工程团队和公司积压的单一性。这意味着作为一名数据科学家,你可以做你真正想做的,专注于构建伟大的想法和模型,而不是如何工程化其后端。并且我认为这是很大的一笔交易。
原文链接:https://towardsdatascience.com/the-missing-part-of-the-machine-learning-revolution-91e58b3427ef