内容提要
智能体AI微调需同时优化四个关键环节:训练数据、参数高效微调、运行时超参数和偏好对齐。以客服工单分流智能体为例,工具调用数据集须严格校验格式,采用QLoRA高效训练,调整温度与重试策略,并用DPO提升判断力。最后通过评估框架检测灾难性遗忘,决定是否上线。
延伸解读
微调不是万能药:先分清问题类型
文章明确指出,微调主要解决三类问题:精确的输出格式、狭窄的领域词汇、以及提示词无法稳定约束的一致行为。它不能解决知识缺失——如果智能体需要训练时不存在的事实,那属于检索问题,再多的微调也无济于事。因此,在启动微调项目前,应先判断需求是否真的适合微调,避免把检索问题误当成微调问题,浪费训练资源。
数据格式比数据量更重要
对于工具调用类智能体,文章强调格式的重要性远超数据量。几百条结构良好的示例,比几千条格式松散的示例更能可靠地修正模型输出。文章提供的验证函数能在训练前检查工具名是否有效、必填参数是否缺失,避免模型学会幻觉调用。这种低成本的前置校验,能防止训练出一个在演示中看似正常、实际却会胡乱调用工具的智能体。
运行时超参数:被忽视的可靠性杠杆
文章指出,许多微调指南完全跳过了推理时的超参数调优,这是一个常见错误。温度、迭代次数和重试策略都是在训练后决定的,却能显著影响实际任务成功率。模拟实验显示,在温度0.7的配置下,失败后以温度0重试一次,成功率可提升至98.7%,高于任何单次尝试。这意味着,调整重试策略往往比追加训练更便宜、更快速,应优先于扩大微调规模。
用裁决式评估防止灾难性遗忘
文章最后强调,评估不是看指标仪表盘,而是一个明确的“上线或暂停”裁决函数。它要求工具调用准确率提升的同时,通用能力不能显著下降。示例中,工具调用准确率从61%提升到97%,但通用能力下降7.2个百分点,系统正确返回“暂停:灾难性遗忘超过阈值”。这种检查应使用真实的保留基准(如MMLU或GSM8K),而非占位分数,以避免窄域微调悄悄破坏模型的其他能力。
Q&A
智能体AI微调需要同时优化哪四个关键环节?
训练数据、参数高效微调、运行时超参数和偏好对齐。
为什么工具调用数据集的格式比数据量更重要?
因为基础模型已经能流畅地生成自然语言,但无法可靠地输出语法精确、参数名正确的工具调用。格式问题用几百个结构良好的示例就能可靠解决,而几千个格式松散的示例效果反而更差。
QLoRA微调中,rank(r)、lora_alpha和lora_dropout分别控制什么?
r控制适配器的表达能力,直接权衡容量与过拟合风险及适配器大小;lora_alpha缩放适配器输出相对于冻结基础权重的贡献;lora_dropout对适配器进行正则化,在小数据集上有帮助。
在智能体运行时,调整温度和重试策略为什么重要?
因为一个训练完美的模型也可能因推理时设置不当而在生产中失败。温度、迭代次数和重试策略都在训练后决定,并显著影响实际任务成功率。例如,在温度0.7配置下,失败后以温度0重试一次可将成功率提升至98.7%,高于任何单次设置。
DPO如何弥补SFT在智能体判断力教学上的不足?
SFT只教“这个工具调用是正确的”,无法表达“这个调用正确,但另一个才是更好的判断”。DPO通过成对数据(一个选中、一个拒绝)训练,两者都合理但只有一个更优,从而教会模型在完整上下文下做出更好的判断。
如何评估微调后的智能体是否可以上线?
使用一个基于裁决的评估框架,同时检查工具调用准确率是否提升,以及通用能力是否未显著下降(灾难性遗忘)。如果工具调用准确率提升且通用能力下降未超过阈值(如3%),则返回SHIP;否则返回HOLD。