新上线昨天0 投票
Amazon SageMaker AI SDK v3 脚本模式:自带模型的新方式
从框架绑定到自由选择:SageMaker SDK v3 脚本模式重塑自带模型体验
2021 年,AWS 曾发布关于 SageMaker 脚本模式的博客,展示了如何在 AWS 托管框架容器上使用自定义训练和推理代码。彼时,脚本模式让开发者无需构建和维护 Docker 镜像即可运行自己的算法,堪称一大进步。如今,SageMaker Python SDK v3 从零开始重新设计,让这一工作流更加顺畅。
核心变化:统一类与运行时注入
v3 SDK 用统一的 ModelTrainer(用于训练)和 ModelBuilder(用于部署)取代了旧的框架特定估算器类(如 SKLearn、PyTorch、XGBoost)。最关键的创新是 SourceCode 配置对象:它允许你将本地源代码目录同步到运行时训练作业中,而无需重建容器镜像。这意味着:
- 迭代更快:修改训练脚本后直接重新运行,无需重建容器。
- 完全控制容器:可在镜像中安装系统包或 CUDA 库,SDK 不假设镜像内容。
- 多框架统一 API:无论是 scikit-learn、PyTorch、Stable Diffusion 还是自定义 C++ 推理二进制,接口都一致。
两个端到端示例
博客提供了两个完整示例,展示 v3 脚本模式的实际应用:
- scikit-learn 随机森林:经典表格 ML 工作流,在糖尿病数据集上训练,并使用 Deep Java Library (DJL) Serving 部署到实时端点。
- Stable Diffusion 3.5 LoRA 微调:生成式 AI 工作流,使用 Hugging Face Accelerate 进行多 GPU 分布式训练。
两个示例都使用相同的两个核心类:ModelTrainer 和 ModelBuilder。SourceCode 对象接受 source_dir(本地代码目录路径)和 command(训练)或 entry_script(推理)。作业启动时,SageMaker 将该目录同步到容器中,代码在容器内运行。
对 AI 开发者的意义
这一更新降低了自带模型的门槛,尤其适合需要快速迭代或使用非标准框架的团队。无需每次调整代码都构建镜像,节省时间和精力。同时,统一的 API 简化了多框架项目的维护。对于生成式 AI 的微调任务,如 Stable Diffusion,脚本模式与多 GPU 分布式训练的结合也变得更加直接。
如果你正在使用 SageMaker 进行自定义模型训练,v3 的脚本模式值得一试。更多细节和代码示例,可参考 AWS 官方博客。

