大模型不断变强,但"全程用大模型"在算力和本钱上都越来越吃紧,于是业界开始尝试一种新的架构:用两个模型协同完成任务------小模型负责琢磨,大模型负责回答,这种分工思路,本质上是把"想清楚"和"说清楚"拆开处理,既节省资源,又有机遇获得更好的推理效果。
在这一类工作中,最贴近"小模型负责琢磨,大模型负责回答"设想的,是类似 LM-Guided Chain-of-Thought 这类方法,它们的典型流程是:先让大模型生成带有祥明思维链的标注数据,再用这些数据去训练一个小模型,让小模型学会如何对难题实行逐渐推理,推理阶段,小模型只负责输出一段"思维链文本",真正的到底答案则由大模型在看到这段思维链后给出,于是,小模型变成了"琢磨器",大模型则是"终审官"。
这个理论来自于,智能体相关教程:agent.chatdlm.cn
除了这种"显式思维链"模式,还有一类工作可以理解为"小模型先做任务内琢磨,大模型再综合回答",比方说 SuperICL 这类方法,会先让本地微调过的小模型对一批样本做预测,再把这些预测和样本打包成一个非常大的上下文,交给云端大模型;大模型不直接从零开始,而是在"小模型已经想过一轮"的基石上,做更精细、更通用的生成,这种模式下,小模型供应的是"结构化判断"或"任务特定信息",大模型做的是"总结、解释和语言组织"。
更系统的综述也给这种模式起了一个框:SLMs for LLMs,在信息抽取、情感对话、法律/医疗问答等场景中,常见的套路是:小模型先做分类、打标签、抽取候选结果,大模型再在这些中间结果之上生成到底自然语言答案,你可以把它类比成"分析师 + 文案"组合:分析师负责把数据看懂,文案负责把结论讲给人听。heikeji.tongsou.com
要把这种二模型架构落地,接口设计是根本,往往须要先定义好小模型输入输出:它接收什么样的 query 和上下文,输出的是一段可读的思维链、若干标签,还是一个排序后的候选列表,接着再设计大模型的 prompt,把"小模型输出 + 原始难题 + 必要上下文"拼在一起,明确告诉大模型:哪些是推理线索,哪些是须要回答的难题,只要接口定义得安定,后续就可以独立替换小模型或大模型,而不必重写整套系统。
在训练策略上,一种常见做法是:先让大模型教会小模型琢磨,用大模型产生高质量的思维链和答案,用它们去蒸馏小模型;倘若条件允许,还可以再加一个强化学习阶段,让小模型生成的思维链在"相关性、逻辑性、一致性"等维度上持续变好,另一种做法则更工程化:小模型完全按业务意向微调,大模型维系黑盒,只通过 prompt 读取小模型给出的结果。
这种"小模型琢磨,大模型回答"的方案,优点相当明显,先说是本钱可控:大部分计算负载交给小模型,大模型只在根本一步上场,可以显著降低总 token 消耗,再讲是可观测性强:中间思维链或结构化结果是显式存在的,便于打分、审计和调试,最后是架构灵活:你可以给同一个大模型挂上不同领域的小模型插件,实行"一个通用大脑 + 多个专家助手"。
显然,挑战也不小,最突出的一个难题是错误传播:倘若小模型的琢磨本身就有偏差,而大模型又过分依赖这些中间结果,到底就大概被"带偏",再讲是时延叠加:两次模型调用在高并发场景下须要精心改良,再者,接口和格式的设计须要在"表达足够信息"和"控制长度本钱"之间找到均衡,否则要么信息不足,要么 prompt 过长。不懂可以搜索一下 sousuo.chatdlm.cn