在Amazon SageMaker
Build efficient agents with knowledge distillation on Amazon SageMaker AI
在边界模型上构建的智能代理助手在规模化生产中因多次调用而成本高昂,使用序列级知识迁移(SeqKD)通过将较大“教师”模型的行为迁移到较小“学生”模型来弥补小模型在任务上表现不足的问题,从而在保持大部分质量的同时提高代理的效率
您在边界模型上构建了一个购物助手,它运行良好。 一位购物者要求“从一家至少有4.5星级的商店购买一个价值不到20美元的黑色腰带包”,该助手会搜索目录、检查候选商品、检查约束条件,并提交推荐。 但这个交互实际成本是多少? 一个智能代理助手不是一次模型调用,而是一个循环:搜索、读取结果、细化、验证、决定。 一个完成的任务可能是多次调用该边界模型,并且您为每个购物者支付费用。 在规模化生产中,每项任务的成本会累积,侵蚀项目的投资回报率,并阻止项目上线。
使智能代理应用程序更有效的一种方法是小模型,它响应更快,托管更具成本效益。 问题是质量:小模型通常在任务上表现不足,这就是为什么最初选择较大模型的原因。 知识迁移通过将较大“教师”模型的行为迁移到较小“学生”模型中来弥补这一差距,通过训练学生复制教师的输出,使其在较小的模型速度和成本下保持大部分质量。 本文将介绍如何在Amazon SageMaker AI上使用知识迁移,特别是序列级知识迁移(SeqKD),来微调购物代理。
我们涵盖了如何使用边界教师生成高质量的 多步骤轨迹并保留解决任务的轨迹,如何对它们进行编码以进行监督微调,如何在无服务器基础设施上运行训练,以及如何评估学生相对于保留的基准。 序列级知识迁移(SeqKD)是什么? 最适用的蒸馏形式是序列级知识迁移(SeqKD)。 它使用教师模型生成高质量响应,然后使用监督微调(SFT)在那些响应上训练学生模型。 SeqKD只需要教师的文本,无需访问教师 logits 和无需强化学习基础设施,因此即使对于封闭或仅限API的教师也适用。
与其他方法(如基于 logits 或策略)相比,它位于蒸馏成本效益最高和最便携的端点。 教师编写答案,学生在此基础上进行微调。 由于这些答案作为数据集持久存在,因此您可以使用它们来训练或测试不同的学生,而无需重新生成数据。 原则上,您希望学生匹配教师对可能输出的完整分布。 这里的注意事项是您无法做到这一点。 可能的序列空间极其庞大,因此精确匹配不可行。 SeqKD通过用教师实际产生的样本来近似它来解决这个问题。
对于代理,教师产生的序列不是一个散文块,而是一个轨迹,一系列推理、工具调用和它们返回的观察结果,其中每一步都取决于之前的一切。 在学生上训练这个整个序列教会它导致每个动作的推理以及多步骤行动过程本身,而不是一个答案文本段落。 这使得智能代理任务成为序列级KD最干净的说明之一,因为被复制的序列本身就是行为。 当SeqKD是正确选择时SeqKD适用于特定情况:您有










来源:AWS Machine Learning Blog · aws.amazon.com