跳到主要内容
AI News HubLIVE
站内改写2 分钟阅读

AWS 推出 SOCI 索引镜像,加速 SageMaker AI 作业启动

文章摘要

AWS 为 SageMaker AI 训练和处理作业推出 SOCI 索引镜像,通过懒加载将容器镜像下载移出关键路径,容器启动时间从数分钟缩短至数秒,且无需修改作业定义。

来源AWS Machine Learning Blog作者: Kanwaljit Khurmi
AWS 推出 SOCI 索引镜像,加速 SageMaker AI 作业启动
报告错误

纠错通道尚未开通,可先复制下方文章信息留存。

查看更正说明
直接读正文

AWS 近日宣布为 Amazon SageMaker AI 训练和处理作业提供 Seekable OCI(SOCI)索引支持,旨在消除容器镜像完整下载带来的启动延迟。对于深度学习容器镜像,下载往往需要数分钟,这段时间不仅计费,还拖慢了模型迭代速度。SOCI 索引通过懒加载机制,仅获取启动容器所需的文件,其余部分在代码运行时后台流式传输,从而将作业启动时间从分钟级降至秒级。

SOCI 是一种开源技术,其索引作为元数据映射镜像内所有文件,并以 OCI 兼容工件的形式存储在 Amazon ECR 中,与原始镜像关联但独立存在,因此镜像摘要和现有签名不受影响。当用户创建 SageMaker AI 作业时,服务会自动检查镜像是否带有 SOCI 索引:若有,则懒加载;若无,则标准下载;若索引无法读取或懒加载失败,则回退到标准下载,确保作业始终能运行。

在基准测试中,AWS 对比了标准下载与 SOCI 懒加载在多种镜像大小(1.8 GB 至 35.4 GB)和实例类型(如 ml.g4dn、ml.g5、ml.p4d、ml.p5 等)上的表现。结果显示,标准下载时间随镜像增大而线性增长,从 48 秒到 7 分 17 秒不等,而懒加载始终保持在 3 至 11 秒,提升约 8 至 46 倍。对于 13.2 GB 镜像,在 13 种实例配置上标准下载需 3 分 16 秒至 4 分 20 秒,懒加载仅需 6 至 8 秒,约 34 倍加速,且不受实例类型和大小影响。

训练性能方面,从第二个 epoch 开始,懒加载镜像与标准下载镜像的 epoch 时间相同(在运行间波动范围内)。首个 epoch 因需获取框架首次访问的文件,会多出 3 至 16 秒,但每个作业总体仍提前 1 至 6 分钟完成。对于启动时读取大量镜像内容的场景,如 torch.compile、JIT 编译 CUDA 扩展或加载内置大模型,首个 epoch 开销会增加,但净节省仍为正,作业整体提前 2 至 3.5 分钟完成。

采用 SOCI 索引有两种方式:一是使用预索引的 AWS 深度学习容器(DLC),这些镜像标签带有 -soci 后缀,覆盖 PyTorch、TensorFlow、vLLM 和 SGLang 等框架;二是为自己的自定义镜像创建索引。创建索引需要在 Linux 主机上安装 containerd、SOCI snapshotter 及 nerdctl 或 Finch 等工具,通过 nerdctl image convert --soci 命令生成索引并推送至 ECR。用户还可通过部署 CFN ECR SOCI Index Builder 在 CI/CD 中自动构建索引。

使用索引镜像时,只需在作业定义中引用带有 -soci 标签的镜像即可,无需更改 API 或作业配置。用户可通过 aws ecr batch-get-image 命令验证镜像是否包含 SOCI 索引。需要注意的是,该功能仅适用于 Amazon ECR 私有仓库中的镜像,其他仓库或通过私有 Docker 注册表拉取的镜像不适用;镜像越小,提升幅度越有限,小于约 4 GB 的镜像收益相对较小。

展开要点与分析

文章情报

投资人进阶

要点

  • SOCI 索引使 SageMaker AI 懒加载容器镜像,仅获取启动所需文件,其余后台流式传输。
  • 基准测试显示,下载时间在不同镜像大小和实例类型上提升 8 至 46 倍。
  • 训练性能基本不受影响,仅首个 epoch 有 3-16 秒额外开销,但每个作业净节省 1-6 分钟。
  • 用户可通过预索引的 AWS 深度学习容器或为自己的镜像创建索引来采用,无需更改作业定义。

要点与分析由自动化流程生成,可能有误,请结合原始来源核实。