也有人管MLOps叫做,模型的测试上线与运维工程。名字如此之长,倒是透露出一个信号,事儿多,信息量大。Ops=Operation,MLOps深刻继承了DevOps干活的思路与方法,都涉及一组最佳实践、流程、工具和理念。 尽管存在相似之处,但后者复杂得一言难尽。ML 模型高质量规模化交付很困难。MLOps本质是希望在不降低交付质量的前提下,缩短AI项目的生命周期。说句人话就是,MLOps干的活就是所有一堆工作流程,通过自动化手段,连接起来,还得干得快,干得好,省钱。之所以难,是因为模型跑起来需要和企业现有系统有效融合。 上游对接上游各式各样的数据和系统,下游为各种业务系统以及产品提供良好的服务(比如推荐服务)。系统中包括配置管理,数据收集,数据验证,特征工程,测试和调试,资源原理,模型分析,元数据管理,架构服务,模型监控。这种情况,除了大科技公司之外,小团队维护这样一个系统的成本太高。虽然现在美国有很多这个领域的SaaS服务,但国内还几乎是空白。之前《万字大稿深度解读硅谷风投A16Z“50强”数据公司榜单,一场大型凡尔赛》一文有提到。数十家美国初创公司已进入这一领域,创建了针对生命周期中每个步骤的开源工具,要将生命周期中执行每项任务所需的不同开源产品粘合和自动化。此外,还有来自亚马逊云、谷歌云和微软云的MLOps平台。MLOps 工作是一种合作,常由数据科学家、运维工程师和IT系统工程师共同完成。模型无法轻松上线,机器学习工程师设计一个新的模型版本,要在生产环境验证效果,先得走完整的工程化部署流程,不少时间浪费过去了。 AI是个新东西,IT系统是个老东西。“老东西”总是积垢方深。有人戏称,IT系统能跑起来不出问题就行,别轻易动,别轻易改。这些历史遗留问题也会算在AI头上。 · 1. 传统IT系统看重代码和组件,MLOps看重数据和模型。· 2. 传统软件系统的测试没有AI软件这么复杂,主要原因是传统软件的测试是功能逻辑验证。AI软件测试是效能验证,跟数据的版本和状态有关。· 3. AI/ML模型不同于代码,因为模型有一个“保质期”,除非进行维护,否则会退化。· 4. 传统软件的测试是逻辑正常就取得了上线资质,AI软件测试是选拔最好的版本。· 5. 拿测试来说,除了传统IT系统中常规的单元测试,集成测试,AI项目还要验证和测试数据,评估和验证模型等等。· 6. AI模型上线以后,工作远远没有结束,要监控模型的性能,还有预测指标的变化。如果预测指标出现衰退,就需要用最新数据做持续训练,更新模型。从数据提取(从生产环境里面拿),到数据分析,数据准备,模型训练,模型评估和验证,全部手工作业。缺点是不能频繁地更改模型,无法监控模型,没有反馈。一个设计开发好的模型,可以自动在新的生产数据上重新训练,自动部署更新后的模型参数,但是模型设计开发的过程中部分需要手工。把模型设计开发的过程用软件工程DevOps的方式实现持续集成交付。通过CI/CD(持续集成与持续部署)加快算法设计的改进迭代频率。 另外,数据、专利、员工是企业资产,模型难道就不是了吗?既然模型是宝贵的企业资产,就得有一套标准化自动化的工作流程。MLOps大显神威之时,一个新的算法版本提交到代码仓库,自动在生产环境数据上验证,几小时后就知道结果,一天可以试验多个算法版本。企业数字化转型情况复杂,哪种模式应该由开发工作复杂度和团队规模决定。 1.搞深度学习框架的那帮人,不是疯子,就是骗子(一)4. 售前,航空母舰,交付,皮划艇:银行的AI模型上线有多难?5. AI芯片公司:拿下“超级石油”,助力地质模拟和人工智能6. 两大榜单揭晓啦,2021年中国高性能计算机性能TOP100+国际人工智能性能排行榜AIPerf5007. “重型卡车自动驾驶,无量产,则无意义”赢彻科技CTO杨睿刚博士观点1. 万字大稿深度解读硅谷风投A16Z“50强”数据公司榜单,一场大型凡尔赛 4. AI for Science这事,到底“科学不科学”?
|