从DevOps到MLOps,格物钛崔运凯分享从组织变革看机
2021 DevFest上海谷歌开发者节已于近期圆满落幕。格物钛与28w+ 线上观众、1300+ 线下开发者、工程师和行业重磅嘉宾一起尽享了一场技术盛宴。格物钛作为参展企业,创始人兼CEO崔运凯受邀发言,与开发者们分享了从DevOps到MLOps的进化路程,从组织变革看机器学习的最佳实践。
特斯拉的 AI 高级总监 Andrej Karpathy 定义了 Software 2.0 时代,即以 MLOps 组织开发模式为主的时代,那么它的前身 Software 1.0是什么?格物钛创始人兼CEO崔运凯从三十年前的软件开发时代讲起在 DevOps (Software 1.0) 的开发时代,软件开发以代码为中心,通过编程语言,完全基于程序员们手动编写代码来实现某项功能。Software1.0 的演进历史分为下面四个方面
软件发布时效的演进
以往每两年发布一次更新,用户需购买相应光盘,推演到现在每天都有新的版本发布。这样看似时间跨度小的变化从何而来?又如何推动企业发展?如果你的软件发布速度比别人快,那么你在竞争当中的优势有
1) 也许可以尽快切入更多市场,因为你比别人较快的发布最新 features,你的 idea 比别人更早上线
2) 试错成本不断降低,因为在有限相同的时间内,你更快速的上线、下线,尝试不同的东西。
软件开发的演进
从 Waterfall 瀑布式发布流程到 Agile 敏捷式开发流程的转变中,一个显著的改进是迭代时间缩短。因为软件开发的方式是服务于软件发布是间的,而线性开发(前者)流程导致效率过低,故催生敏捷式开发的应用,其优势在于小版本快速迭代,以用户需求为核心。虽然瀑布式发布流程的模块在敏捷式开发流程种有,后者每次只发布少量的 features,然后通过自动化工具让流程自动化运转。如果说瀑布式是由项目经理人工推动发布的,那么敏捷式就是由流水线自然推动发布的。
于是就有了各种自动化管理工具的诞生
协作和版本管理工具的演进
版本管理的出现主要配合协作上面提到的开发方式,尽可能实现流程自动化。以往集中式文件版本管理系统效率低、复杂,而开源的分布式版本控制具有强大的分支管理,使得协作灵活、可靠。比如git。
工具变化以后,使用工具的组织也发生了结构性变化
软件开发组织的演进
从全员软件工程师的团队优化到软件工程师+自动化工具工程师合作的分层组织。有些工程师的工作是开发维护自动化工具,这些工具去赋能其他的软件工程师。
一句话 DevOps 的核心为了让团队成员更加专注于自己的职能,需要管理跨越职能的协作。简单来讲,开发的人要懂运维,运维的人要懂开发。
回到开头,Andrew Karpathy 定义的 MLOps (Software 2.0) 的理念,是指软件开发以代码和数据为中心,通过 AI 技术寻找解决问题的方法。你定义好输入和输出,中间的逻辑和对应关系由机器学习决定。通过编程语言,以及大量相关数据,在程序空间通过随机梯度下降(Stochastic Gradient Descent, SGD) 和反向传播寻找可以完成特定任务的程序,以机器为主导,自动完成特定任务。
大家曾在学校学过典型的机器学习项目流程如图
在工业界,随着项目体量的增加,由于数据不足,需要 Data Operation 团队来负责数据采集、数据标注和数据清洗。比如在无人驾驶领域,你可能曾用 KITTI 公开数据集进行练习,可是当进入工业界你发现数据完全不够。你需要采集数据时,而采集数据本身太复杂以至于你需要一个多层级的组织来完成。当采集的数据量超过硬盘大小时,又需要 Infrastructure Team 负责开发分布式系统。当你将数据放入模型以后,因为一直有新的模型出现,算法工程师需要不断对同一份数据尝试新的算法。每个模型又有非常多的超参,你又需要(雇人)调优不同的超参数…由于数据漂移、概念漂移,需要重新收集数据,重新训练。
由于需要的数据越来越多、工作量加大,那么跨组织的、重复性的工作希望被自动化,才能满足开发流程的需要。
那么产品开发的组织又如何升级呢?简单来说是通过多层级的组织,不同的人各司不同职能。那么组织如何流水线化?答案是需要自动化的工具 ,通过MLOps 进行串联。
崔运凯认为上述公司定义的 MLOps 偏向 DevOps 风格的定义,而他创立的格物钛则在探索 MLOps 的本质与 MLOps 可提升的方向
整个机器学习产品迭代分为两大流派
1. 以模型为中心的 AI (Model-Centric)
2. 以数据为中心的AI (Data-Centric)
大量的算法工程师倾向于通过调整模型来获得更好的效果,但实际上根据谷歌 2015年发布的一篇名为Hidden Technical Debt Mache Learng Systems 的论文,绝大多数的工程师花了大量时间在数据上。
形象地讲,经典的 Model-Centric 是固定一组数据在多个模型种评估模型表现,而 Data-Centric 则是固定一个模型(BERT)去找更高质量的数据,使得整体系统性能更佳。
网络推广
- 5g网络有多快:5g网络网速有多快
- dota2无法连接至steam网络 为什么无法连接dota2网络
- 无线网络信号接收器 无线网络信号接收器怎么用
- 网络延时是什么意思 网络延时是什么原因
- 无线网络不可用:无线网络不可用是什么原因
- 网络广告销售技巧 网络广告销售技巧有哪些
- 智能手机网络设置 智能手机网络设置在哪里
- 为什么找不到无线网络 为什么找不到无线网络信
- 网络这么赚钱:网络怎么能赚到钱
- 为什么无线网络连接不上 为什么无线网连不起来
- 网络上的人际交往 网络上人际交往的优势
- 支付宝网络系统异常 支付宝显示网络异常什么时
- 营销软件:营销软件有哪些
- 无法访问您要使用的功能所在的网络位置
- 网络安全基本知识 网络安全基本知识有哪些
- 什么网络电话最好用 什么网络电话最好用最便宜