出产机器学习不再是困难

云栖号资讯:【点击检查更多职业资讯】
在这里您能够找到不同职业的第一手的上云资讯,还在等什么,快来!

出产机器学习不再是困难

布置机器学习微服务变得更简单了。

本文开端宣布在 Towards Data Science,经原作者 Caleb Kaiser 授权,InfoQ 中文站翻译并共享。
在许多软件工程学科中,出产用例是适当规范化的。以 Web 开发为例:要在 Web 运用中完结身份验证,你无需创造数据库,编写自己的哈希函数,或许规划一个新的身份验证战略。你能够运用某个界说好的办法,并运用规范东西就能在 Web 运用中完结身份验证。

可是,在机器学习中,这种规范化并不存在。为了构建从模型练习到布置的管道,团队不得不构建自己的处理方案,首要的问题是从头开端开端构建处理方案。

这样一来,这一范畴关于许多工程师来说成了远远赶不上的禁区,推而广之,对那些许多请不起专业专家的公司来说也是如此。

但这一状况正在改动。出产方法正变得越来越惯例。这些办法正在规范化,东西也正在日益老练。到最后,软件能够由非专业的机器学习工程师开发了。

将模型投入出产意味着什么?

假如你看看自己每天都运用的软件,如 Gmail、Uber、Netflix 等,不管你喜爱哪种交际媒体渠道,都能在里面看到机器学习的身影,比方:主动完结电子邮件、语音转文本、目标检测、估计抵达时刻等等。

出产机器学习不再是困难

虽然这些模型背面的数学是机器学习研讨人员的范畴,但用来将它们转化为产品的架构应该是任何开发人员都了解的:

从软件工程的视点来看,通过练习的模型只不过是另一个 API,将模型投入出产意味着将其布置为微服务

留意:还有其他方法的模型布置(例如,未连接到国际互联网的设备),但它们不是本文要评论的要点。

想要构建相似 Gmail 的智能编撰(Smart Compose)这样的功用吗?将言语模型布置为 Web 服务,用文本 ping 端点,并在前段显现猜测。想要完结像 Facebook 主张的标签功用吗?仍是相同的进程,布置一个图画识别模型,并像运用其他 Web 服务相同运用它。

虽然“把你的模型布置成微服务”,这句话听起来很简单,可是要怎么做到这一点,却是一个很有应战性的问题。

布置用于实时推理的模型需求答复几个问题:

  • 怎么编写一个从模型生成猜测的 API
  • 将该 API 布置到出产环境的最佳方法是什么?
  • 怎么完结出产 Web 服务所需求的一切基础设施特性:主动弹性、监控、负载平衡、翻滚更新等?

依据模型的具体状况(如模型一切的结构、需求多少核算和内存、能够处理的数据品种等等),答案或许会有很大的差异。

这便是为什么大型科技公司有专门的机器学习基础设施团队,也是为什么大多数创业公司无法在出产中运用机器学习的原因。

但现在,这些问题有了规范答案。

要从模型中生成猜测,能够运用结构顺便的任何服务库(如 TensorFlow/TF serving、PyTorch/TorchServe)。要将你的模型封装在 API 中并进行布置,你就需求运用模型服务渠道。

现在,任何软件工程师都能够选用一个模型(不管该模型是由他们的数据科学团队练习的模型,仍是通过他们调优的开源模型,或许仅仅一个一般的预练习模型),并将其转化为出产 Web 服务,而不用成为机器学习或 Kubernetes 方面的专家。

示例:文本生成不仅仅是 Gmail 的智能编撰

假如你在曩昔的几年里运用过 Gmail,那么你必定很了解它的智能编撰功用。当你在写电子邮件时,Gmail 会抛出一些主张回复:

出产机器学习不再是困难

虽然 Google 有一个杂乱的机器学习管道,需求很多出资,但假如你想构建一些仿照 Gmail 的智能编撰的功用,不需求 Google 的资源你也能做到这一点。

举个比方:AI Dungeon。这是一款依据机器学习的文字冒险游戏。

从实质上说,AI Dungeon 是 OpenAI 的 GPT-2(一种最先进的言语模型)的微调版别,以 Web 服务的方法布置。用户将他们的提示提交到模型 - 微服务中,它就会用一个故事来回应。

就上下文而言,GPT-2 十分巨大。通过练习的模型超越了 5GB,完全能够运用 GPU 来服务于一个猜测。在不久之前,要想知道怎么将其作为微服务进行规模化布置,是一个严重的基础设施项目。你需求:

  • 将其保管在具有满足空间 / GPU 的实例上,已供给猜测服务。
  • 装备主动缩放以处理恣意数量的并发用户。
  • 完结各种本钱优化,让你的云账单处于可控状况。

在这些使命中,有许多子问题需求处理。比方,你是否应该依据内存运用状况或对垒中的恳求数量进行主动缩放?你是否能够平稳地处理毛病搬运,然后能够轻松地运用 Spot 实例来节约本钱?

译注:Spot 实例,是一种未运用的 EC2 实例,以低于按需价格供给。因为 Spot 实例答应用户以极低的扣头恳求未运用的 EC2 实例,这或许会明显下降你的 Amazon EC2 本钱。Spot 实例的每小时价格称为 Spot 价格。每个可用区中的每种实例类型的 Spot 实例的价格是由 Amazon EC2 设置的,并依据 Spot 实例的长时刻供求趋势逐渐调整价格。只需容量可用,而且恳求的每小时最高价超越 Spot 价格,Spot 实例就会运转。假如能灵敏操控运用程序的运转时刻而且运用程序能够中止,Spot 实例便是经济实惠之选。例如,Spot 实例十分合适数据剖析、批处理作业、后台处理和可选的使命。

正如 AI Dungeon 背面的工程师 Nick Walton 在他的文章《咱们怎么扩展 AI Dungeon 来支撑超越 100 万用户》(How we scaled AI Dungeon 2 to support over 1,000,000 users) 中称,他所要做的便是编写他的猜测 API,并答应他的模型服务渠道(Cortex)完结基础设施的主动化。

注:假如你不了解搬迁学习,那么看一看 AI Dungeon 是怎么用很少的数据就能取得最先进的成果的故事也是很风趣的。

规划模型有应战,出产化的进程很单调

多年前,机器学习产品的瓶颈问题假如不处理,就不会有 AI Dungeon。但现在,它仅仅很多机器学习原生创业公司之一。

例如,Glisten 将多个模型组合在一起,生成了一个 API,能够用于从图画中提取产品信息:

出产机器学习不再是困难

虽然公司用 Glisten 来处理每月数以千计的产品,但 Glisten 仅仅一家只要两个人的草创公司。这仅仅因为他们不需求基础设施团队罢了,所以公司只要两个人就够了。

跟着机器学习的出产化的问题得到处理,机器学习研讨人员和软件工程师之间的妨碍也被打破。研讨方面的打破更快地体现为产品方面的功用,因而,咱们一切人都会获益。

作者介绍:
Caleb Kaiser,Cortex Lab 开创团队成员,曾在 AngelList 作业,开端在 Cadillac 供职。

原文链接:
https://towardsdatascience.com/production-machine-learning-isnt-hard-anymore-932bd91e138f

【云栖号在线讲堂】每天都有产品技能专家共享!
课程地址:https://yqh.aliyun.com/live

当即参加社群,与专家面对面,及时了解课程最新动态!
【云栖号在线讲堂 社群】https://c.tb.cn/F3.Z8gvnK

原文发布时刻:2020-05-11
本文作者:Caleb Kaiser
本文来自:“ AI前哨”,了解相关信息能够重视“ AI前哨”