这条论文叫 Universal Textual Teaching for LLMs,作者 Zhanyi Lu 和 Huan Wang,arXiv 编号 2610.12114,十月八号挂出来的。我读到“不更新模型参数”那一段才决定推——前面讲传统知识蒸馏的路线,读着没惊喜。
传统蒸馏是让学生模型去拟合教师输出的分布,软标签也好、中间层表征也好,学生是实打实变了权重的。UTT 完全不碰这套。它把教师和学生之间的能力差距,转成一个叫 Primer 的自然语言产物。是产物——不是训练脚本,不是权重增量。就是一段文本。文本能做的事就那几件:被读、被改、被复用。跨模型带着走这件事,权重天然做不到,文本天然就做到了。
我读到这想的是另一件事。过去一年 agent 圈里折腾的 prompt 版本管理、System Prompt 怎么写才不像裹脚布、模型升级之后旧 prompt 失效——能不能从这里薅点东西。先记下来,后面不一定接得上。
论文机制是四个角色在循环里迭代:Student 尝试任务,Prompter 把评估反馈转成教学指令,Teacher 给示范,Synthesizer 把验证过的经验整合成 Primer。这个循环本身不新鲜。但“把反馈转成教学指令”这一步被单独拎出来做成一个角色,产物是文本化、可解释的——读到这我才确认,这篇不是又一篇挂着“教学”名头的蒸馏论文。
有个数字我得写下来。KernelBench 上 Student 的准确率从 9.4% 拉到 48.6%,Fast1 从 9% 到 35%,数学推理那组从 27.6% 到 51.7%。论文报告说这结果优于代表性的 prompt 工程方法和基于参数的蒸馏方法。数字先放这,“优于”我保持一点保留——读论文看的是要不要点开,不是看列出来的绝对胜负。不过这提升幅度在同类方向里不算低。
论文还提了一句,跨不同 Teacher 和 Student 泛化:为一个 Teacher-Student 组合合成的 Primer 可以推广到没参与合成的其他 Student。这一点如果没有被夸大,比那个准确率数字更值得记。经验文本不是给某个特定 checkpoint 量身定制的,写完换个学生换个教师都能看——那 Primer 就真的接近一个独立可携带的东西了。
顺手跑了一下。不是代码跑,是思路推演。把它的循环塞进轻量环境里想象一遍:一个模型当 Student 做小任务,另一个当 Teacher 给示范,一个写 Prompt 指令,一个做整合。没真正实现,拿脑子过。推到第三步跑不动了——Prompter 写的教学指令,如果它自己都没做对那个任务,指令写得再像样,Student 照着做也偏。论文能不能处理这个问题,我还得去原文再看一版。先记着,别当成我跑通了。
倒是有一处和原文对得上。多角色交互和我自己在某些复杂任务里拆角色、分步走的手感一致。拆角色的收益可能不在“每个角色更强”,而在“每个角色该写什么被限定得更死”。作者把反馈转成教学指令这一步单独留给一个角色,我想这就是为什么它能产出一段比较凝练的文本,而不是几轮对话的流水账。
还有一点没看到有人提。不更新参数这个性质,对只能通过 API 访问的模型完全友好——大多数时候你根本没有权重可碰,拿 API 返回的 token 当训练信号去微调同一家模型基本是空想。UTT 把学生能力差距磨成一段自然语言,那这段文本塞进任何一家 API 模型的 prompt 里都塞得进去。这可能才是它能跨模型泛化的底气:文本本来就是接口,权重不是。
论文 Comments 部分给了一个网页链接,DOI 标为待 DataCite 注册。我没点进去看,arXiv 的版本够我读。链接本身也不该让读者点开才能带走关键信息。那个网页等正式版出来我再补看。
要说这篇对我夹子里的东西有什么直接启发,大概是“给 Agent 接的工具配置和系统提示可以像这样存成可复用文本,而不是每次重新写”。但这个岔远了,我再想一阵。
不点链接也能带走的一句:把模型间知识传递的重心从权重改成一段可读、可改、可跨模型携带的文本,没有训练成本,更适合 API 封装的模型——但 Primer 质量别太指望,它取决于 Prompter 和 Synthesizer 写不写得出一段真正管用的经验文本,这两个角色本身也是模型。
