中文 EN

系统设计 Lab

ML 训练平台一开始只是一个 notebook,然后围绕它把整个生命周期长出来:pipeline、tracking、一个 cluster、还有一个 registry。

调整每天的训练 job 数、dataset 大小、cluster GPU 数、tracked 的 experiment 数、模型大小、pipeline 阶段数。切换 data-parallel distributed training 和自动 retraining。设计会从单个 notebook 演进到一条 scheduled pipeline、versioned data 加 feature prep、一个 distributed training cluster、一个 experiment tracker、一个 model registry,以及把模型 promote 到 serving 的 CI/CD。

分步讲解

一步一步把它想清楚

常规演进场景

从左到右点击,就是预设的演示路径。每张卡片都会改变 workload 输入。

Workload

这些是输入,不是预设好的架构阶段。

推荐形态

当前架构路径
ML training pipeline 架构图 ML 训练平台的白板风格架构图:author 提交 run、一个 pipeline orchestrator、versioned data 加 feature prep、一个 distributed training cluster,以及带 experiment tracking 的 model registry 和到 serving/CI-CD 的交接。 Authors Orchestration Data + features Training cluster Registry + tracking ML author notebook + code Pipeline scheduler DAG runs CI/CD trigger retrain + promote Data versioning lineage Feature prep transform Training worker single host GPU cluster data-parallel Experiment tracker params + metrics Model registry versioned models Serving handoff deploy
Authors
ML author 写训练代码,并从 notebook 或 CLI 启动 run
Orchestration
Pipeline scheduler 把每个 run 变成一条 scheduled、可重复的、由各 stage 组成的 DAG
CI/CD trigger 在有新 data 或按 schedule 时触发 pipeline,并 promote 通过的模型
Data + features
Data versioning pin 住一个确切的 dataset version,让每次 run 都可 reproduce
Feature prep 把原始 data 清洗并 transform 成训练 feature
Training cluster
Training worker 在一台机器的 GPU 上跑 training loop
GPU cluster 把 batch shard 到很多 GPU 上,并 all-reduce gradient
Registry + tracking
Experiment tracker 记录 param、metric、artifact,让各次 run 能对比
Model registry 存储带 stage 和 approval metadata 的 versioned 模型
Serving handoff 接收 promote 过来的模型,做 online 或 batch inference

瓶颈

Orchestration 负载

Data + lineage 压力

GPU cluster 容量

Experiment tracking 规模

Registry governance

为什么会变

    决策权衡

    Pipeline orchestration

    Data versioning + lineage

    Distributed training

    Experiment tracking

    Model registry

    自动 retraining / CI-CD

    有出处支撑的规则

    这些是模型背后那些经得起时间考验的 system design 论断。而 slider 的具体阈值,则被刻意标注为教学用的假设。

    已验证的规则

    Model registry 管理 versioned 模型的生命周期

    MLflow 按 run 记录 param、metric、artifact,并以 stage transition 来 register versioned 模型——这正是为什么当 experiment 和模型一多,tracking 和 registry 就会出现。

    MLflow Docs
    已验证的规则

    Pipeline 让 ML workflow 可移植、可扩展、可重复

    Kubeflow Pipelines 在 Kubernetes 上把多步 ML workflow 编排成 DAG——这正是为什么随着 stage 和 run 量增长,ad-hoc 脚本会变成一条 scheduled pipeline。

    Kubeflow Pipelines
    已验证的规则

    生产级 ML 平台把 data、training、deployment 组件标准化

    TFX 定义了可复用的组件(ingest、validate、transform、train、evaluate、push),让从 data validation 到 deployment 的整个生命周期保持一致且可自动化。

    TFX Guide
    已验证的规则

    Data versioning 给 dataset 类似 git 的 lineage 和 reproducibility

    DVC 对大 dataset 和 pipeline 做版本控制,让任何一次 run 都能从一个确切的 data version 重现——一旦 dataset 经常变,这就是必需品。

    DVC Docs

    教学用假设

    • 单 host 训练顶多约 8 块 GPU、大约 1B 参数,再多模型加 optimizer state 就装不进一块加速器了。
    • orchestration、tracking、storage 的预算都是保守的教学数字,用来让这五个 scenario 有递进,并非 vendor 的真实上限。
    • data-parallel distributed training 被建模成一个 throughput 维度(replica 越多越快完成);而一个比单块 GPU 还大的模型需要的是 model sharding(tensor/pipeline parallelism 或 FSDP/ZeRO),它被建模成一个单独的 sharding 信号。