生产型机器学习已经没那么困难了?
作者 | Caleb Kaiser
译者 | 香槟超新星
出品 | CSDN(ID:CSDNnews)
封面图源自视觉中国
在软件工程的诸多领域内,生产用例是相当标准化的。以Web开发为例,要在Web应用中实现身份认证,你不会去创造一个数据库,自己写出散列功能,或者去设计一个新的认证方法。你会从几个明确定义的方法之中选一个,并利用标准的工具手段。
然而,对于机器学习来说,这种标准化还不存在。想要建立一个从模型训练到部署的一体化pipeline,团队不得不自己构建解决方案,基本上都是从零开始。
因此,该领域对于许多工程师来说都是触不可及的,而进一步,对于那些没有能力请专家的公司来说,也是如此。
但是,这种局面正在发生变化。模型的生产化正在变得越来越常规化。方法正在逐步标准化,工具的选择正在逐步成熟,到最后,非专业的ML工程师的也能搭建出软件了。
只要看一看你每天使用的那些软件,Gmail、Uber、Netflix,或者任何哪个你喜欢的社交媒体平台,你就会看到许多由机器学习驱动的功能:自动完成电子邮件,语音转文字,对象检测,ETA预测等。
虽然这些模型背后的数学是机器学习领域的科研人员要操心的事情,但能将其转化为产品的架构却应该为所有开发者所熟知:
从软件工程的角度来看,一个训练好的模型也只是一个API罢了,将模型投入生产意味着将其部署为一个微服务(microservice)。
注意:其他形式的模型部署(例如,对于没有连接到互联网的设备)也是存在的,但那不是本文的重点。
你想搭建出类似Gmail的Smart Compose这样的东西吗?把一个语言模型部署为web服务,用文本ping终端,然后在你的前端显示预测结果。你想实现一个像Facebook的推荐标签(Suggested Tagging)那样的东西吗?还是同样的流程:部署一个图像识别模型,然后就像使用其他web服务一样了。
但是,虽然用手比划着对别人说“把你的模型部署成微服务就好了”是很容易的,但如何做到却是个很有挑战性的问题。
不久前,想要部署一个实时推理模型,还需要先回答几个问题:
你要如何编写一个能从你的模型中生成预测结果的API? 将该API部署到生产中的最佳方式是什么? 如何实现生产型Web服务所需要的所有基础设施功能?比如自动缩放、监控、负载均衡、滚动更新等等。
将其托管到有足够空间/GPU来为预测服务的实例上。 配置autoscaling来处理任意数量的并发用户。 实施各种成本优化方案,以保持你的云计算总花销在可控范围内。
推荐阅读
360金融首席科学家张家兴:别指望AI Lab做成中台 我们想研发一个机器学习框架,6 个月后失败了
那个分分钟处理10亿节点图计算的Plato,现在怎么样了? 中国 App 出海“变形记” 詹克团反攻比特大陆:一场失去人心的自我挽留
你点的每个“在看”,我都认真当成了AI
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
随时掌握互联网精彩
- 1 澳门是伟大祖国的一方宝地 7922421
- 2 女子穿板鞋爬山回家脱鞋时被吓一跳 7965950
- 3 张雨绮 为了讨大家喜欢才穿成这样 7814245
- 4 2024 向上的中国 7749192
- 5 大S老公具俊晔站C位跳女团舞 7648569
- 6 停个车数据就泄露了 7566535
- 7 特朗普赞成TikTok继续在美国运营 7428981
- 8 汪峰红毯现场回应汪峰定律 7311557
- 9 男子暴瘦110斤后被质疑戴人皮面具 7285861
- 10 央视曝光未成年人绕开防沉迷只需4元 7125068