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





