本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Nova 2.0 上的 RFT
RFT 訓練資料遵循 OpenAI 對話格式。每個訓練範例都是 JSON 物件,其中包含訊息、參考答案和選用的工具定義。本節提供在 Nova 2.0 上準備 RFT 有效訓練資料的指引。
資料格式和結構
每個訓練範例都是包含下列項目的 JSON 物件:
-
訊息:一系列使用系統、使用者和選擇性助理角色的對話式轉場
-
reference_answer:獎勵計算的預期輸出或評估條件
-
工具 (選用):模型可用的函數定義陣列
-
id (選用):追蹤和刪除重複資料的唯一識別符
每個範例應該位於 JSONL 檔案中的單一行上,每行一個 JSON 物件。
下列範例顯示包含 Ground Truth 值的參考答案的化學問題:
{ "id": "chem-001", "messages": [ { "role": "system", "content": "You are a helpful chemistry assistant" }, { "role": "user", "content": "Predict hydrogen bond donors and acceptors for this SMILES: CCN(CC)CCC(=O)c1sc(N)nc1C" } ], "reference_answer": { "donor_bond_counts": 2, "acceptor_bond_counts": 4, "explanation": "Calculated using Lipinski's rule of five: N-H groups (2 donors), N and O atoms with lone pairs (4 acceptors)" } }
注意
reference_answer 包含使用網域特定規則計算的 Ground Truth 值。您的獎勵函數會將模型的預測值與這些參考值進行比較,以計算獎勵分數。
下列範例顯示解決方案步驟的數學問題:
{ "id": "math-001", "messages": [ { "role": "system", "content": "You are a math tutor" }, { "role": "user", "content": "Solve: 2x + 5 = 13" } ], "reference_answer": { "solution": "x = 4", "steps": ["2x = 13 - 5", "2x = 8", "x = 4"] } }
下列範例顯示具有預期行為的工具用量:
{ "id": "tool-001", "messages": [ { "role": "system", "content": "You are a helpful game master assistant" }, { "role": "user", "content": "Generate a strength stat for a warrior character. Apply a +2 racial bonus modifier." } ], "tools": [ { "type": "function", "function": { "name": "StatRollAPI", "description": "Generates character stats by rolling 4d6, dropping the lowest die result, and applying a modifier.", "parameters": { "type": "object", "properties": { "modifier": { "description": "An integer representing the modifier to apply to the total of the stat roll.", "type": "integer" } }, "required": ["modifier"] } } } ], "reference_answer": { "tool_called": "StatRollAPI", "tool_parameters": { "modifier": 2 }, "expected_behavior": "Call StatRollAPI with modifier=2 and return the calculated stat value" } }
欄位描述
欄位 |
Description |
其他備註 |
必要 |
|---|---|---|---|
id |
此 RFT 範例的唯一識別符 |
字串 (例如 "sample-001")。適用於追蹤和重複資料刪除。 |
否 |
messages |
定義提示和內容的聊天訊息排序清單 |
物件的陣列。模型會依序查看它們。通常以系統訊息開頭,然後是使用者。 |
是 |
messages【】.role |
誰在訊息中說話 |
常見值:"system"、"user" (有時在其他內容中為 "assistant") |
否 |
messages【】.content |
訊息的文字內容 |
純字串。對於系統,它是指示,對於使用者,它是任務或輸入。 |
否 |
工具 |
在此範例中,模型可用的工具規格 |
陣列。每個項目都會定義工具的界面和中繼資料。類型可能包括「函數」或「內部」。 |
否 |
reference_answer |
此範例的預期模型輸出 |
字串或物件,視任務而定。用作評估或訓練的目標。 |
否 |
注意
任何其他自訂欄位 (例如 task_id、Cucky_level、 context_data) 都不會經過驗證,並將做為中繼資料傳遞給您的獎勵函數。
超參數指引
根據您的訓練方法,使用以下建議的超參數:
一般:
-
Epochs:1
-
學習率 (lr):1e-7
-
世代數:8
-
最大新權杖數:8192
-
批次大小:256
LoRA (低排名調整):
-
LoRA 排名:32
注意
根據您的資料集大小和驗證效能調整這些值。監控訓練指標以防止過度擬合。
其他屬性
「additionalProperties」: true 設定可讓您包含核心結構描述需求以外的自訂欄位,讓您靈活地新增獎勵函數進行適當評估所需的任何資料。
常見的其他欄位
您可以包含下列類型的其他欄位:
中繼資料:
-
task_id:追蹤的唯一識別符
-
difficulty_level:問題複雜性指標
-
網域:主旨區域或類別
-
expected_reasoning_steps:解決方案中的步驟數
評估條件:
-
evaluation_criteria:特定分級盧布
-
custom_scoring_weights:不同層面的相對重要性
-
context_data:問題的背景資訊
-
external_references:相關文件或資源的連結
具有其他屬性的範例
下列範例包含自訂中繼資料欄位:
{ "id": "algebra_001", "messages": [ { "role": "system", "content": "You are a math tutor" }, { "role": "user", "content": "Solve: 2x + 5 = 13" } ], "reference_answer": { "solution": "x = 4", "steps": ["2x = 13 - 5", "2x = 8", "x = 4"] }, "task_id": "algebra_001", "difficulty_level": "easy", "domain": "algebra", "expected_reasoning_steps": 3 }
資料集大小建議
起點
從下列最低資料集大小開始:
-
最少 100 個訓練範例
-
最少 100 個評估範例
優先考慮高品質的輸入資料和可靠的獎勵函數,該函數會在模型回應時一致地執行。
評估優先方法
在投資大規模 RFT 訓練之前,請評估模型的基準效能:
-
高效能 (超過 95% 的獎勵):RFT 可能不必要,您的模型已表現良好
-
效能非常差 (0% 獎勵):先切換到 SFT 以建立基本功能
-
中等效能:RFT 可能是適當的
此評估優先方法可確保獎勵函數沒有錯誤,並判斷 RFT 是否適合您的使用案例。從小型開始,您可以熟悉 RFT 工作流程、及早識別和修正問題、在擴展之前驗證您的方法,以及測試獎勵函數可靠性。驗證後,您可以擴展到更大的資料集,以進一步改善效能。
有效訓練資料的特性
清晰度和一致性
良好的 RFT 範例需要清晰、不明確的輸入資料,以便在不同的模型輸出間實現準確的獎勵計算。避免資料中的雜訊,包括:
-
不一致的格式
-
矛盾的標籤或指示
-
模棱兩可的提示
-
衝突的參考答案
任何模棱兩可的情況都會誤導訓練程序,導致模型學習非預期的行為。
多樣性
您的資料集應擷取生產使用案例的完整多樣性,以確保強大的實際效能。包括:
-
各種問題類型和困難程度
-
不同的輸入格式和邊緣案例
-
來自所有預期案例的代表性範例
這種多樣性有助於防止過度擬合,並確保模型正常處理不熟悉的輸入。
獎勵函數考量事項
設計您的獎勵函數以進行高效訓練:
-
在幾秒鐘內執行 (非分鐘)
-
使用 Lambda 有效平行化
-
傳回一致、可靠的分數
-
正常處理不同類型的模型輸出
快速、可擴展的獎勵函數可大規模進行快速迭代和經濟實惠的實驗。