机器学习中的持续集成/持续交付概述
面向机器学习的 CI/CD
Ravi Bhadauria
Machine Learning Engineer
SDLC 概览
SDLC
:软件开发生命周期(Software Development Life Cycle)
从始至终的系统化软件开发方法
SDLC 流程
指为达成目标而遵循的步骤:
构建(Build)
:编译/打包代码,解析依赖
测试(Test)
:确保代码库的功能、质量与可靠性
部署(Deploy)
:在特定环境中提供可用的软件
机器学习中的 SDLC
机器学习开发往往复杂且耗时
模型是可动态演化的算法
数据工程至关重要
持续集成/持续交付可减少错误,加速交付高质量 ML 软件
对高效的机器学习与实验至关重要
1
https://cloud.google.com/blog/products/ai-machine-learning/making-the-machine-the-machine-learning-lifecycle
什么是 CI/CD?
持续集成(CI)
:频繁构建、测试并将代码变更合并到共享仓库的实践
帮助开发者及早发现集成问题,保持代码库一致性
持续交付(CD)
:确保可随时部署到生产,但需人工批准
持续部署(CD)
:无需人工干预,自动将变更部署到生产
机器学习中的 CI/CD
数据依赖
:数据版本控制与管理策略
实验
:自动化超参数调优
模型版本控制
:提升协作
测试范式
:超越传统功能与单元测试
持续部署挑战
:模型服务、监控与更新的复杂性
课程范围
小结
软件开发生命周期(SDLC)流程涵盖构建、测试与部署代码
持续集成(CI)确保频繁合并代码并及早发现问题
持续交付(CD)允许在人工批准下随时部署变更
持续部署(CD)在无人工干预下自动部署代码变更
机器学习中的 CI/CD 使您能够:
数据版本控制
构建模型与模型版本控制
自动化实验
测试
部署
Vamos praticar!
面向机器学习的 CI/CD
Preparing Video For Download...