MLOps是一种机器学习工程文化,基于MLOps的机器学习系统需要具备持续集成 (CI)、持续交付 (CD) 、持续训练 (CT)等能力。
MLOps和DevOps区别?
持续集成 (CI)
在传统单元测试、集成测试上,还需要基于验证数据进行模型质量评估。
持续交付 (CD)
交付的不是一个软件或服务,而是一个模型,并将其部署到模型预测服务。
持续训练 (CT)
机器学习系统特有的属性,提供模型的重新训练以适应新的数据。
MLOps 级别0:
数据准备、模型训练、验证需要手动执行每个步骤,在本地生成有效模型。
算法人员将开发好模型将其交给工程人员做推理服务部署,但不具备模型推理性能监控。
模型更新不频繁,也不存在CI、CD、CT过程,
支持机器学习流水线,组件化代码以复用。
本地快速实验,并能够迁移流水线到生产。
支持CT,实时流水线触发自动训练。
持续交付模型用于部署模型推理服务。
级别1之上实现一个可靠的CI/CD系统,应对数据和业务环境的快速变化。
云原生机器学习平台
借助容器镜像能够支持多种机器学习的环境。
基于容器调度平台能够快速对机器学习任务的进行弹性伸缩。
能够支持需求CPU、GPU、TPU等多种异构算力任务的调度
算力按需申请,用完即释放,提升资源利用率。
挑战
按任务来调度(批调度)
在机器学习里分布式训练下需要创建多个pod同时运行。
GPU等算力提升利用率
K8s调度GPU任务时,是给pod独占GPU卡,但GPU利用率不高,造成资源浪费。
混合云支持
使用公有云方便的按需付费算力业务,同时也需要借助私有云保证企业数据的安全