面試題:大模型的FunctionCalling如何訓練得到?
主要來說,F(xiàn)unction Calling 的訓練主要涉及數(shù)據(jù)構(gòu)造、模型架構(gòu)適配、多階段微調(diào)等關(guān)鍵環(huán)節(jié)。
主要開源方案可以參考Llama3.1或者Qwen-Agent,基本上在Llama3的技術(shù)報告( https://arxiv.org/pdf/2407.21783) 中就可以知道FunctionCalling的實現(xiàn)路徑。
以下是Llama3的技術(shù)報告里面如何用二階段訓練來提升Function Calling的準確性。
一、數(shù)據(jù)預(yù)處理
Llama3設(shè)計了一套多階段數(shù)據(jù)篩選策略,通過質(zhì)量評估與內(nèi)容優(yōu)化提升訓練數(shù)據(jù)價值:
1. 主題分級體系
- 構(gòu)建基于Llama 3 8B的層級分類系統(tǒng),首先將數(shù)據(jù)劃分為"數(shù)學推理"等宏觀類別;
- 在頂層分類下建立細粒度子類別(如"幾何與三角學"),形成樹狀知識結(jié)構(gòu)。
2. 多維質(zhì)量評估
- 混合評估模型:結(jié)合獎勵模型(RM)與Llama質(zhì)量判別器
通用文本:準確性、指令合規(guī)性、表達規(guī)范(三級評分)
編程數(shù)據(jù):錯誤識別度、需求匹配度(二級評分)
- RM篩選:保留評分前25%的高質(zhì)量樣本
- 智能質(zhì)量檢測:通過Llama 3進行多維度評估
- 采用聯(lián)合篩選機制,保留至少一個評估體系認證的高質(zhì)量樣本
3. 難度量化建模
- 復(fù)雜性雙因素評估:
意圖密度分析(Instag):通過Llama 3 70B標記對話意圖數(shù)量
難度分級系統(tǒng):基于三階難度評分框架(簡易/中等/復(fù)雜)
- 生成綜合難度指標:意圖數(shù)量 × 人工難度分級
4. 語義優(yōu)化處理
- 特征聚類:采用RoBERTa構(gòu)建對話語義向量空間
- 分級去重策略:
按質(zhì)量×難度綜合得分降序排列
動態(tài)相似度閾值過濾(余弦相似度<0.85)
貪婪選擇算法保留最具代表性的樣本
該方案通過質(zhì)量-難度聯(lián)合建模與語義空間優(yōu)化,在保證數(shù)據(jù)多樣性的前提下,顯著提升訓練數(shù)據(jù)的有效信息密度。
實證研究表明,該方法可使模型在復(fù)雜推理任務(wù)上的準確率提升17%,同時減少28%的訓練收斂時間。
二、訓練流程
構(gòu)建數(shù)據(jù)集
主要是將函數(shù)名、參數(shù)類型、功能說明等以結(jié)構(gòu)化文本輸入模型(如JSON格式)。
[
{"role": "user", "content": "查詢北京明天天氣"},
{"role": "assistant", "tool_calls": [{"name": "get_weather", "arguments": {"location": "北京"}}]},
{"role": "tool", "name": "get_weather", "content": "{\"temperature\": 22}"},
{"role": "assistant", "content": "北京明天氣溫22℃"}
]
其中,tool這一層就是給大模型當做參數(shù)判斷邏輯輸入,模擬調(diào)度??獲取天氣接口?
?后返回最終結(jié)果。
二階段訓練
- 預(yù)訓練階段:模型在通用語料庫上進行基礎(chǔ)語言建模訓練,未涉及工具調(diào)用能力;
- 后訓練微調(diào)(Post-Training):
合成數(shù)據(jù)生成:通過預(yù)訓練模型生成包含函數(shù)調(diào)用的對話數(shù)據(jù),例如模擬用戶提問和對應(yīng)的工具調(diào)用參數(shù);
人工標注迭代:標注員逐步標注復(fù)雜場景,例如從單輪工具調(diào)用過渡到多輪交互,并加入異常參數(shù)處理樣本(如無效參數(shù)、多工具選擇等)。
三、訓練方法
- 監(jiān)督微調(diào)(SFT)
- 使用標注數(shù)據(jù)對模型進行指令微調(diào),強化其對工具調(diào)用的格式理解和參數(shù)生成能力。(示例:模型輸入包含工具定義的Prompt,輸出需嚴格匹配函數(shù)名及參數(shù)格式。)
- 強化學習(RLHF/DPO)
- 對工具調(diào)用的準確性和結(jié)果整合能力進行偏好排序,例如標注員對模型的工具調(diào)用決策打分,優(yōu)化模型生成質(zhì)量。
- 多任務(wù)學習
同時訓練模型完成常規(guī)對話和工具調(diào)用任務(wù),避免單一任務(wù)過擬合。 在報告中,Llama發(fā)現(xiàn) PPO 沒有 DPO 好,所以只用了 DPO,在preference data 中,有5.89%是和reasoning以及tool相關(guān)的。
本文轉(zhuǎn)載自???沐白AI筆記???,作者:楊沐白
