AI News HubLIVE
站内改写2 分鐘閱讀

使用SFT和DPO在Amazon SageMaker AI上提高智能體的工具調用準確性

本文介紹瞭如何結合監督微調(SFT)和直接偏好優化(DPO)來提升小型語言模型(SLM)的工具調用準確性。示例使用Amazon SageMaker AI訓練作業,並基於Qwen3 1.7B模型和When2Call數據集進行微調。文章還涵蓋了環境設置、數據準備、訓練與評估過程。

來源AWS Machine Learning Blog作者: Amin Dashti

智能體在自主處理複雜多步驟任務時,工具調用準確性至關重要。錯誤調用工具或參數格式錯誤會導致任務延長、錯誤率上升、支持成本增加和用户體驗下降。隨着越來越多的組織將智能體應用從試點轉向生產,確保智能體為每個請求選擇正確工具是實現可靠自動化的關鍵。

本文展示瞭如何結合監督微調(SFT)和直接偏好優化(DPO)來提升小型語言模型(SLM)的工具調用準確性。以Qwen3 1.7B模型為例,利用Amazon SageMaker AI訓練作業進行微調,無需管理底層基礎設施。同時,還介紹瞭如何評估工具調用準確性,並對比基礎模型與多種微調變體,從而做出數據驅動的質量決策。

監督微調(SFT)通過構建高質量數據集,提供模型應如何執行任務或與特定工具交互的明確示例,特別適合教授模型識別工具特有語言、命令和約束的細微差別。直接偏好優化(DPO)則將人工反饋或預定義目標直接融入訓練循環,通過強調對某些響應的偏好而非其他,使模型輸出更貼近目標結果。DPO訓練數據包含“喜歡這個,不喜歡那個”的偏好,無需獎勵函數或獎勵模型即可實現與強化學習相同的優化目標,降低了資源需求和訓練時間。

本例使用NVIDIA發佈的When2Call數據集,該基準專門用於評估模型在工具調用中的決策能力,包括何時生成工具調用、何時追問、何時表示無法回答以及工具不可用時的處理。數據集包含三個部分:SFT訓練集(15000樣本)、DPO偏好集(9000樣本)和測試集(含多選題和LLM評判子集)。在預處理中,需將工具列表構建為系統提示並添加到消息列表中,DPO數據還需將chosen_response和rejected_response列重命名為chosen和rejected。

環境設置要求AWS賬户、IAM角色、開發環境(推薦SageMaker Studio)以及MLflow實驗跟蹤。使用ml.p4d.24xlarge實例進行訓練。數據準備完成後,保存至Amazon S3供訓練使用。SFT階段基於Spectrum微調配方,可修改模型和訓練參數。示例腳本包含模型參數、數據集路徑、訓練超參數等配置。

訓練完成後,需評估模型在測試集上的表現,對比基礎模型與微調後的變體。通過量化指標(如準確率)判斷改進效果,從而做出是否部署模型的決策。完整代碼和配方可在GitHub倉庫中找到。

以上內容涵蓋了從問題背景到方法、數據、實驗步驟和評估的完整流程,幫助讀者在實際項目中應用SFT和DPO提升智能體工具調用準確性。