图文原创:谭婧
AI算法改变了世界吗?落地了才能改变世界。
MLOps为AI落地而来。
有人管MLOps叫做,AI应用模型效率化。
也有人管MLOps叫做,模型的测试上线与运维工程。
MLOps的中文名现在还是“众说纷纭”。
名字如此之长,倒是透露出一个信号,事儿多,信息量大。
Ops=Operation,MLOps深刻继承了DevOps干活的思路与方法,都涉及一组最佳实践、流程、工具和理念。
尽管存在相似之处,但后者复杂得一言难荆ML 模型高质量规模化交付很困难。
MLOps本质是希望在不降低交付质量的前提下,缩短AI项目的生命周期。
说句人话就是,MLOps干的活就是所有一堆工作流程,通过自动化手段,连接起来,还得干得快,干得好,省钱。
之所以难,是因为模型跑起来需要和企业现有系统有效融合。
模型会牵动周边产品和周边基础设施。
上游对接上游各式各样的数据和系统,下游为各种业务系统以及产品提供良好的服务(比如推荐服务)。
机器学习系统中,机器学习代码是很小的一部分。
系统中包括配置管理,数据收集,数据验证,特征工程,测试和调试,资源原理,模型分析,元数据管理,架构服务,模型监控。
牵一发,而动全身。
这种情况,除了大科技公司之外,小团队维护这样一个系统的成本太高。
虽然现在美国有很多这个领域的SaaS服务,但国内还几乎是空白。
之前《万字大稿深度解读硅谷风投A16Z“50强”数据公司榜单,一场大型凡尔赛》一文有提到。
数十家美国初创公司已进入这一领域,创建了针对生命周期中每个步骤的开源工具,要将生命周期中执行每项任务所需的不同开源产品粘合和自动化。
此外,还有来自亚马逊云、谷歌云和微软云的MLOps平台。
MLOps 工作是一种合作,常由数据科学家、运维工程师和IT系统工程师共同完成。
孤立建模,不考虑系统的思路,不对。
模型无法轻松上线,机器学习工程师设计一个新的模型版本,要在生产环境验证效果,先得走完整的工程化部署流程,不少时间浪费过去了。
AI是个新东西,IT系统是个老东西。“老东西”总是积垢方深。
有人戏称,IT系统能跑起来不出问题就行,别轻易动,别轻易改。这些历史遗留问题也会算在AI头上。
AI项目和传统IT项目的玩法,有哪些不同:
1. 传统IT系统看重代码和组件,MLOps看重数据和模型。
2. 传统软件系统的测试没有AI软件这么复杂,主要原因是传统软件的测试是功能逻辑验证。AI软件测试是效能验证,跟数据的版本和状态有关。
3. AI/ML模型不同于代码,因为模型有一个“保质期”,除非进行维护,否则会退化。
4. 传统软件的测试是逻辑正常就取得了上线资质,AI软件测试是选拔最好的版本。
5. 拿测试来说,除了传统IT系统中常规的单元测试,集成测试,AI项目还要验证和测试数据,评估和验证模型等等。
6. AI模型上线以后,工作远远没有结束,要监控模型的性能,还有预测指标的变化。如果预测指标出现衰退,就需要用最新数据做持续训练,更新模型。
(一)
100%纯手工,运维靠人
从数据提取(从生产环境里面拿),到数据分析,数据准备,模型训练,模型评估和验证,全部手工作业。缺点是不能频繁地更改模型,无法监控模型,没有反溃
(二)
手工设计+自动运维
一个设计开发好的模型,可以自动在新的生产数据上重新训练,自动部署更新后的模型参数,但是模型设计开发的过程中部分需要手工。
(三)
规模设计+自动运维
把模型设计开发的过程用软件工程DevOps的方式实现持续集成交付。通过CI/CD(持续集成与持续部署)加快算法设计的改进迭代频率。
另外,数据、专利、员工是企业资产,模型难道就不是了吗?
既然模型是宝贵的企业资产,就得有一套标准化自动化的工作流程。
MLOps大显神威之时,一个新的算法版本提交到代码仓库,自动在生产环境数据上验证,几小时后就知道结果,一天可以试验多个算法版本。
即使是在一家公司里,也会同时存在“三种情况”。
企业数字化转型情况复杂,哪种模式应该由开发工作复杂度和团队规模决定。
(完)
选题讨论专家
更多阅读
AI框架系列:
1.搞深度学习框架的那帮人,不是疯子,就是骗子(一)
漫画系列
最后,再介绍一下主编自己吧,
我是谭婧,科技和科普题材作者。
为了在时代中发现故事,
我围追科技大神,堵截科技公司。
偶尔写小说,画漫画。
生命短暂,不走捷径。
还想看我的文章,就关注“亲爱的数据”。