机器学习中的持续集成/持续交付概述

面向机器学习的 CI/CD

Ravi Bhadauria

Machine Learning Engineer

SDLC 概览

  • SDLC:软件开发生命周期(Software Development Life Cycle)
  • 从始至终的系统化软件开发方法
  • SDLC 流程指为达成目标而遵循的步骤:
    • 构建(Build):编译/打包代码,解析依赖
    • 测试(Test):确保代码库的功能、质量与可靠性
    • 部署(Deploy):在特定环境中提供可用的软件

  SDLC 流程依赖图。先构建,随后测试与部署。

面向机器学习的 CI/CD

机器学习中的 SDLC

  • 机器学习开发往往复杂且耗时
    • 模型是可动态演化的算法
    • 数据工程至关重要
  • 持续集成/持续交付可减少错误,加速交付高质量 ML 软件
  • 对高效的机器学习与实验至关重要
1 https://cloud.google.com/blog/products/ai-machine-learning/making-the-machine-the-machine-learning-lifecycle
面向机器学习的 CI/CD

什么是 CI/CD?

  • 持续集成(CI):频繁构建、测试并将代码变更合并到共享仓库的实践
  • 帮助开发者及早发现集成问题,保持代码库一致性
  • 持续交付(CD):确保可随时部署到生产,但需人工批准
  • 持续部署(CD):无需人工干预,自动将变更部署到生产
面向机器学习的 CI/CD

机器学习中的 CI/CD

  • 数据依赖:数据版本控制与管理策略
  • 实验:自动化超参数调优
  • 模型版本控制:提升协作
  • 测试范式:超越传统功能与单元测试
  • 持续部署挑战:模型服务、监控与更新的复杂性
面向机器学习的 CI/CD

课程范围

机器学习项目步骤图,突出数据准备、模型开发、以及模型评估与调优。

面向机器学习的 CI/CD

小结

  • 软件开发生命周期(SDLC)流程涵盖构建、测试与部署代码
  • 持续集成(CI)确保频繁合并代码并及早发现问题
  • 持续交付(CD)允许在人工批准下随时部署变更
  • 持续部署(CD)在无人工干预下自动部署代码变更
  • 机器学习中的 CI/CD 使您能够:
    • 数据版本控制
    • 构建模型与模型版本控制
    • 自动化实验
    • 测试
    • 部署
面向机器学习的 CI/CD

Vamos praticar!

面向机器学习的 CI/CD

Preparing Video For Download...