跳转至

70B 模型向百节点分发

这里的“70B、百节点”是实验规模标签,不是固定答案。目标是把一次扩容拆成可度量阶段,并避免所有节点同时从远端对象存储重复拉取同一份权重。

1. 时间线

节点供给
  → OS/驱动/Runtime Ready
  → 镜像拉取
  → 模型发现与校验
  → 模型下载/解压/转换
  → 本地缓存命中
  → 引擎加载权重
  → CUDA Graph/Warmup
  → Readiness

只报告 Pod 创建到 Running 会掩盖真正的模型加载时间。

2. 对比方案

方案 优点 风险
每 Pod 直拉对象存储 简单 重复流量、限流和启动风暴
Init Container + HostPath 易理解、节点复用 锁、GC、安全和节点生命周期
DaemonSet 预热 可提前完成 容量预测和版本切换复杂
OCI Modelcar 制品、Digest 和供应链统一 Registry 大制品能力需验证
P2P 分发 降低源站扇出 Peer 安全、拓扑和失败恢复
并行文件系统 一致入口 元数据和并发读取瓶颈

3. 实验矩阵

按 1、10、50、100 节点逐级放大,并分别测试冷节点、热节点、同可用区、跨可用区和单源故障。记录源站出流、每节点吞吐、p50/p95 完成时间、失败率、重试量和缓存命中率。

4. 防止惊群

  • 用带抖动的分批预热,而不是同时创建全部 Pod;
  • 下载到临时路径,完成 Digest 校验后原子重命名;
  • 同一节点用锁保证只下载一次;
  • 缓存 GC 先保留当前和上一个生产版本;
  • Readiness 等待模型真正可服务;
  • 发布系统区分“制品已复制”“节点已缓存”“实例已就绪”。

5. 验收

源站故障、一个 Peer 损坏、磁盘空间不足、下载中断和模型回滚都必须有确定结果。最终报告应给出从零扩容到 SLO 容量的完整时间,而不只是下载带宽。

延伸阅读:模型制品与分发数据与缓存