本文目录

AWS 机器学习博客上的一篇 Amazon SageMaker AI 技术教程(作者 Giuseppe Zappia、Ankita Agarwal、Amin Dashti、Michael Oguike,日期 02 NOV 2026)把购物 Agent 的 序列级知识蒸馏(SeqKD) 从头到尾走通:教师是 Amazon Bedrock 上的 GLM-5.3(打开 reasoning;轨迹采样温度 1.0);用 ShoppingBench 的程序化评分做拒采样,只保留解出题的多步轨迹;再在 SageMaker AI model customization 上对 Qwen3.5-4B 做 LoRA 监督微调(JumpStart ID huggingface-vlm-qwen3-5-4b)。在 324 道留出题上,蒸留学生的平均 Absolute Success Rate(ASR)为 0.541——与贪心教师的 0.540 落在文中「数个点的运行波动」提醒之内,并远高于未微调 4B 基座的 0.297。这是购物任务、单次 LoRA 的结果,不是「4B 全面追平 GLM-5.3」。DigIntoAI 没有复跑 ShoppingBench,没有测端点延迟或费用,也没有核验下文 IFEval 落差。文中分数一律按 AWS 机器学习博客自报 引用。

相关阅读:AWS 开源 Infinity:面向高并发 Agent 的研究型运行时、Deep Principle 基于 GLM-5.3 开放 Hydrogen-1.0,权重许可不等于拿来就能跑、同一个模型换套 coding harness,通过率几乎不动,账单为什么差这么多?、Cohere 称测试中 Qwen3.8-Flash-Next 试图向北京 OSS 桶上传。Infinity 是邻近的 AWS Agent 运行时笔记;Hydrogen 是另一条 GLM-5.3 权重线;harness 文讲的是编程外壳与账单;Cohere 文是 Qwen 系可用性/安全观察。它们都代替不了把这条蒸馏管线单独读清楚。

SeqKD 在这条管线里到底蒸馏了什么

最朴素、也最可移植的蒸馏形态之一,就是 序列级知识蒸馏(SeqKD):教师生成高质量文本输出,学生用监督微调(SFT)去模仿这些输出。它只要教师文本,不读教师 logits,也不要求打开教师权重——因此对 Bedrock 上只能走 API 的前沿教师仍然成立。相对 logit 蒸馏或 on-policy 采样,它处在成本与工程门槛更低的一端;博客也把它写成常见的第一阶段,而不是终局。

对 Agent 而言,「序列」不是一段散文终答,而是一条轨迹:按顺序展开的 reasoning、工具调用,以及环境返回的观察;每一步都以之前的全部上下文为条件。把整条轨迹交给学生,学的是「通向每个动作的推理」和「多步行动本身」,而不是单段答案。这也是为什么 Agent 任务特别适合拿来讲 SeqKD——被复制的序列,就是行为本身。

拒采样:把「够用但不完美」的教师变成干净训练集

ShoppingBench 约 750 道合成购物题(product/shop/voucher 各约 250),带隐藏金标与成功约束。教程固定切成 426 训练/324 留出(product 103/shop 105/voucher 116),索引不重叠。

对每道训练题,教师 GLM-5.3(reasoning on,温度 1.0)充当 ShoppingBench Agent:在约 270 万 商品目录上搜索、检视、推荐。每题采 2 次,得到约 850 条轨迹,再交给基准自带评分器——只留解出题的轨迹。温度 1.0 是刻意的:相对贪心解码,采样让两次尝试走不同查询与推理路径,从而提高「至少有一条解出」的题覆盖,并增加可学多样性。拒采样这一步的要点是:教师不必每次都对,只要解出的次数足够,就能筛出值得模仿的干净子集。DigIntoAI 没有复现该数据管线。

逐步编码与 reasoning 要不要留

多步工具对话被编成 messages 列表,并按学生自己的 chat template 渲染,使训练 token 与推理时 Agent 产出对齐。每条轨迹按步展开成多行:user 侧是系统提示与迄今对话;assistant 侧是该步 reasoning 与随之而来的工具调用;损失只落在 assistant 上,因此模型学的是「下一步推理+动作」,而不是去预测环境观察。文中解出轨迹过滤后约扩成 2600 训练行与 130 验证行。

切分必须按题而不是按行:同一题的两次教师采样、以及一步多行,会让近邻上下文泄漏进验证集。教程约留出 5% 整题作验证。

逐步编码的代价是上下文重复;超过 dataset_max_len(文中 16384)会被截断。实务上先压缩工具观察(只留决策依赖字段、限制每搜结果条数),必要时再限制轨迹步数——这是数据工程,不是调参口号。

消融结果很明确: 同一批轨迹去掉 reasoning、只留工具调用,平均 ASR 从 0.541 掉到 0.415(约少 13 点)。两条学生都仍高于基座,说明「只模仿工具」也有增益;但把教师 reasoning 留在目标里,才是这篇购物循环里把学生送到教师附近的关键一半。压缩成终答或裸工具 JSON,等于丢掉 ASR 表归给完整学生的那部分行为。

LoRA 学生与容量墙

训练走 SageMaker AI model customization 的无服务器 SFT:基座选自 JumpStart 的 huggingface-vlm-qwen3-5-4b,训练类型 LoRA。文中示例超参包括:dataset_max_len=16384、max_epochs=3、lora_rank=64、lora_alpha=256(alpha/rank=4)、learning_rate=0.0001、global_batch_size=64 等。这是博客示例,不是 DigIntoAI 复现配方。

容量墙是博客 Limitations 的核心提醒:蒸馏转移的是学生已经能够表示的分布,不是它根本没有的能力。跨度过大时,轨迹变长而正确率不动——工具调用格式像样,却反复换词重搜、跑满步数仍不满足约束。决定成败的差距,文中强调,是 任务 vs 学生,不是学生参数量 vs 教师参数量的标题对比。此处教师被描述为约 40B active 的 MoE,学生 4B——大约十倍——但购物任务被放在 4B 能力范围内,所以「收回教师的任务质量」被写成可成立,而不是魔法。

SeqKD 停效的位置: 易/中难题会被抬起;最难尾部——学生必须从自己的中途错误里恢复——容易 plateau。多步循环里,早期错误会复合,因为学生看不到「自己犯错后」才会进入的状态。这正是 on-policy 方法要对准的缺口,也是为什么 SeqKD 常被写成 on-policy 之前的第一阶段。博客覆盖第一阶段;越过 plateau 是下一步,不在这篇教程里。

留出 ASR 与 IFEval:接近教师,付什么账

同一未改 ShoppingBench Agent 循环、三意图平均、缺失轨迹计失败;推荐商品满足全部约束才算解出。数字来自单次 LoRA 跑,文中写明 expect a few points of run-to-run variation。

模型productshopvoucher平均
Base Qwen3.5-4B(未微调)0.4560.3140.1210.297
Distilled student(SeqKD)0.5630.6380.4220.541
GLM-5.3 teacher(sampled, T=1.0)0.5530.6190.3620.511
GLM-5.3 teacher(greedy, T=0)0.5440.6380.4390.540
Medium-sized frontier model(文中未点名)0.5830.6670.3880.546

读表方式跟博客一致:4B 学生挨着 贪心 教师与未点名的中型前沿上限,而不是「全面超过 GLM」。T=1.0 用于生成多样训练轨迹;一发评测时 greedy 更强,故贪心教师 0.540 高于采样教师 0.511。拒采样只学教师的已解子集,因此学生略高于其学习来源的 sampled 教师,并不与方法矛盾。任一格 DigIntoAI 都未复测。

ASR 量的是蒸馏技能;博客用 IFEval 做一般指令遵循回归:prompt-strict 0.819→0.741,instruction-strict 0.872→0.813,约 6–8 点。口径是专业化预期代价,不是「全面变强」。落差再大很多,才更像蒸馏把模型收窄过度的警告。

成本形态:没有每任务美元标题

蒸馏动机按博客框架是:在小模型的成本形状下保住大部分任务质量。前沿 API 教师按每任务每步 token 计费;蒸留学生跑在按实例小时计费的端点上,流量增加在扩容前不会按同倍率叠乘。文中明确不公布每任务成本或延迟——摊销取决于流量模式、序列长度与 G 系列实例并发(示例偏好 ml.g5.2xlarge/ml.g6.2xlarge/ml.g6e.2xlarge)。DigIntoAI 不会编造美元/任务或毫秒数。没有该数字时仍成立的操作结论:在把「接近教师 ASR」当成自动 ROI 之前,用自有负载对照 SageMaker AI 实例价与前沿 token 价。

服务侧补充一句:微调只教会模型发出下一步工具调用文本;解析、执行工具、回填观察、循环到终推,仍是普通应用代码或现成 serving harness。示例把学生做成基座上的 LoRA adapter,挂在同一实时端点的第二推理组件上(DJL LMI/vLLM),用组件名切换基座与学生以便对照。完整 ShoppingBench 循环前还有低成本闸门:用自定义打分看工具选择是否优于基座。以上均为教程自报;DigIntoAI 未部署该端点。

对照清单(仍未复测)

  1. 归属。 AWS 机器学习博客技术教程,02 NOV 2026;作者如上——不是 DigIntoAI 实验报告。
  2. 方法。 SeqKD=教师文本轨迹→SFT;示例学生训练为 Qwen3.5-4B 上的 LoRA。
  3. 切分。 ShoppingBench 426/324;意图 product/shop/voucher。
  4. 主数字。 学生 ASR 0.541 对贪心教师 0.540 对基座 0.297——单次、仅购物。
  5. 消融。 仅工具 0.415;目标里保留 reasoning。
  6. 回归。 IFEval 约降 6–8 点。
  7. 边界。 容量墙在「任务 vs 学生」;SeqKD 对最难题易 plateau,常作 on-policy 前第一阶段。
  8. 成本。 无官方每任务数字;端点小时 vs token 阶梯需自测。
  9. 上限标签。 「Medium-sized frontier model」在源文未点名具体竞品。
  10. 自报戳记。 我们暂时还没有复跑。

小结

2026-11-02,AWS 机器学习博客演示:用 Bedrock 上的 GLM-5.3 轨迹,经 ShoppingBench 拒采样与 SeqKD/LoRA,在 SageMaker AI 上把购物 Agent 压进 Qwen3.5-4B,再挂到仍需外层工具循环的实时端点。报告的单次表上,平均 ASR 从基座 0.297 到蒸馏 0.541,与贪心教师 0.540 同处该购物留出集附近——同时 IFEval 付一笔中个位数的专业化税,每任务美元未公布。这是任务局部、AWS 自报的效率故事,代价写在拒采样边界、reasoning 是否保留、容量墙与未给成本里;它不是「4B 全面追平 GLM」的许可证。以上数字为博客自报;我们暂时还没有复跑。现场笔记可通过页脚站长联系方式反馈。