本文目錄

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」的許可證。以上數字為博客自報;我們暫時還沒有複跑。現場筆記可通過頁腳站長聯繫方式反饋。