返回首页

AWS 为 SageMaker AI 训练与处理任务加入 SOCI 索引镜像

  • 核心发布:AWS 宣布 Amazon SageMaker AI Training 与 Processing 任务支持 Seekable OCI(SOCI)索引镜像。任务启动时只拉取容器启动所需文件,其余内容在代码运行期间后台流式加载,不再等待完整镜像下载完成。
  • 实测数据:在 8 个 1.8–35.4GB 镜像上测试,1.8GB 镜像下载从 48 秒降至 3–11 秒,13.2GB 从 3 分 42 秒降至约 6 秒,35.4GB 从 7 分 17 秒降至 3–11 秒;跨 13 种实例配置约快 34 倍,镜像拉取期间 GPU 空闲时间最多减少 90%。训练性能从第二个 epoch 起不受影响,首个 epoch 因按需取文件多 3–16 秒,但单任务整体仍提前 1–6 分钟结束。
  • 接入方式:可直接使用带 -soci 后缀的预索引 AWS Deep Learning Container,覆盖 PyTorch Training、TensorFlow Training、vLLM、SGLang 及部分 arm64 变体;自有镜像可用 soci-snapshotter、nerdctl 等工具生成索引,也可通过 CFN ECR SOCI Index Builder 在 CI/CD 中自动构建。任务定义、入口与数据通道无需改动。
  • 边界与注意:该能力当前仅支持 Amazon ECR 私有仓库;小于约 4GB 的镜像收益相对有限。SOCI 镜像运行在 containerd 运行时上,需检查入口脚本是否依赖 Docker CLI、/var/run/docker.sock 或 cgroup 路径。若索引不可读或懒加载失败,任务会回退到标准下载,不影响既有工作流运行。
  • 行业意义:深度学习容器镜像常超过 10GB,完整拉取属于可计费但不产生模型进展的启动开销;在超参数扫描、短处理和快速实验中,镜像下载可能主导总运行时间。SOCI 索引把下载移出任务关键路径,直接压缩启动等待与 GPU 空闲成本,对大镜像、高频提交任务的团队影响更明显。 🔗 AWS Machine Learning Blog
Bar chart comparing Docker pull and SOCI lazy-loading download times across eight image sizes, with speedups from about 10x to over 35xChart comparing standard download and SOCI lazy loading for a 13.2 GB image across 13 instance type and size combinations, about 34x faster on eachChart breaking job startup into image download time and first training epoch time, comparing a standard Docker pull with a SOCI-indexed image across GPU and CPU configurationsKanwaljit KhurmiMona Mona