AWS发布SageMaker训练会话API:自写训练循环,GPU由服务托管
AWS称该API把抽象层从算法下移到算力:forward_backward()、optim_step()、sample() 等操作成为SageMaker调用,模型在步骤间常驻GPU;按处理token计费。官方博客给出GSM8K与竞赛编程两个示例的准确率数据。
AI解读:AWS机器学习博客发布SageMaker AI训练会话API,允许用户在本地Python进程中编写训练循环,由SageMaker在托管GPU上执行采样、梯度计算和检查点操作。
服务提供ServiceClient、TrainingClient、SamplingClient三层SDK客户端;GPU绑定调用返回future,训练操作按调用顺序执行,因此可在梯度步骤完成前提交优化器步骤。
适用场景包括自定义损失、偏好优化、强化学习奖励函数和新对齐算法;博客同时给出SFT用法:去掉采样和奖励步骤,用交叉熵损失调用forward_backward。
计费按处理token计,AWS称奖励计算、数据加载等本地工作不计GPU时间;会话在调用stop() 或过期前占用并发会话配额。
博客示例显示:GSM8K上 10 步训练、40 道题,留出准确率从 56% 升至 75%;竞赛编程任务训练 50 步后,测试准确率从 40% 升至 50.5%。两者均为官方示例运行结果。
支持的基座模型和可用区域需查阅训练会话API文档;同时发布包含SFT和RL配方的cookbook。
AWS机器学习博客宣布,Amazon SageMaker AI的Serverless模型定制功能新增训练会话API。用户可在本地Python进程中编写完整的LLM训练循环,采样、前向反向传播和优化器步骤作为SageMaker API调用在托管GPU上执行,模型在多个步骤间保持加载。
博客由Nicolas Jourdan撰写。文章将这一设计描述为把抽象边界从算法下移到算力:用户保留训练算法控制权,服务负责GPU分配、模型与LoRA加载、分布式执行、故障恢复和检查点存储。计费按处理的token数量计算。
API的调用方式与计费
训练会话API在SageMaker Python SDK中组织为三个依次创建的客户端:ServiceClient保存执行角色、模型包组、S3输出位置等平台设置并启动会话;TrainingClient承担forward、forward_backward、optim_step、save_weights_for_sampler等训练和检查点操作;SamplingClient提供sample和compute_logprobs,用于rollout与评估。活跃会话还提供兼容OpenAI的聊天补全端点。
GPU绑定操作立即返回future,由后台提交器排队发送,.result() 等待结果;训练操作按调用顺序执行。博客称每个保存都会在模型包组中登记一个版本,会话在调用stop() 或过期前占用并发会话配额。计费按token处理量计算,博客举例称,若奖励函数在本地耗时 10 秒,这段时间不计GPU费用。
- ServiceClient、TrainingClient、SamplingClient三层客户端依次创建
- GPU调用返回future,可先提交整批采样再统一等待
- 按token计费,不使用GPU的本地计算不计费
示例:GSM8K上的GRPO循环
博客拆解了一个最小强化学习循环:在GSM8K约 8,500 道小学数学题上,为OpenAI GPT-OSS 20B训练rank 32的LoRA适配器,采用GRPO。每一步先对每道题采样K个回答,在本地按答案是否正确打分并在组内中心化得到优势,再调用forward_backward(loss_fn="ppo")与optim_step,最后刷新采样客户端。
博客称,在其对示例的一次运行中,10 个训练步骤、40 道题把留出准确率从 56% 提升到 75%。这是官方示例的单次运行数据。
- 模型:OpenAI GPT-OSS 20B,LoRA rank 32、alpha 64
- 任务:GSM8K,约 8,500 道题
- 博客报告:10 步训练后留出准确率 56% 至 75%
示例:竞赛编程的多轮RL配方
cookbook中的code_rl配方用同一组操作训练竞赛编程任务:训练数据来自DeepCoder数据集(PrimeIntellect、TACO、LiveCodeBench),测试使用Codeforces和LiveCodeBench。模型写出Python解法,在本地SandboxFusion容器中运行单元测试,全部通过得 1 分,否则 0 分,无代码块扣 0.1 分。配方支持两轮交互,模型可调用check_solution工具读取测试结果并修改答案。
博客称,该配方在GPT-OSS 20B上训练LoRA(rank 32)50 步,每步 128 道题、每题 8 个回答,两轮交互,陈旧策略上限k=3;训练奖励从 0.46 升至 0.60,200 道留出测试题的准确率从 40% 升至 50.5%。
- 奖励来自沙箱中运行单元测试的结果
- 支持重叠采样与训练、子批次流式梯度、验证与断点续训
- 博客报告:50 步后留出准确率 40% 至 50.5%
定位与限制
博客用一张对比表定位该API:相比完全托管的Serverless模型定制,它对训练算法控制更多;相比SageMaker Training Jobs和HyperPod,它让用户承担的基础设施运维更少。适用对象被列为后训练与对齐研究者、需要非标准损失或数据课程的SFT团队、构建自定义rollout的智能体RL开发者,以及从底层训练循环迁移代码的研究者。
支持的基座模型和每个模型可用的AWS区域需查阅训练会话API文档;博客未在正文中逐一列出。
- 支持SFT(交叉熵损失)、RL(PPO、importance_sampling、cispo等)及自定义目标
- 基座模型与区域以官方文档为准