強化學習微調的超參數

超參數會控制模型權重在強化學習微調期間的更新方式。預設值經過調整,適用於大多數工作負載,但您可以在 Cloud de Confiance 控制台 (建立微調模型時,位於「Model details」>「Advanced options」>「Tuning setting」下方),或使用 REST API 建立微調工作時,在要求主體中覆寫任何預設值。

可用的超參數

如需這些參數的 API 定義,請參閱 ReinforcementTuningHyperParameters API 參考資料。

epochCount

資料集的疊代次數。這與訓練步驟數不同,每個訓練週期可能會產生不同數量的訓練步驟。

  • 預設值:如果留空,則為 min(110 * promptsPerBatch / promptsInDataset, 10)。預設值是動態計算,模型會多次看到每個提示詞,上限為 10 個訓練週期,以避免在較小的資料集上過度配適。
  • 上限:為確保微調穩定性,訓練執行總數最多為 500 個步驟。

learningRateMultiplier

套用至配接器層基礎學習率的調節係數。

  • 預設值: 1
  • 允許範圍: [1/4, 4]

thinkingLevel

控制生成期間使用的內部思考鏈處理長度和深度。

  • 預設值: HIGH
  • 允許的值: MINIMAL、HIGH (動態思考)

batchSize 和 samplesPerPrompt

這兩個超參數會控制提示的批次處理方式,以及模型在每個訓練步驟中,為每個提示生成的回覆數量。

  • batchSize:每個批次的提示數量 (也稱為 promptsPerBatch)。批次越大,微調速度就越慢,但每個步驟的更新會更穩定。
    • 預設值: 32
  • samplesPerPrompt:模型在單一訓練步驟中,為每個提示產生的不同回覆數量。較大的 samplesPerPrompt 會減緩微調速度,但可增加模型探索的回應多樣性。
    • 預設值: 16

產品 batchSize * samplesPerPrompt 須遵守特定模式的限制:

模態 batchSize * samplesPerPrompt的限制
文字 必須可被 16 整除,且小於或等於 8,192
多模態 (圖片、音訊或影片) 必須可被 16 整除,且小於或等於 1,024

evaluateInterval

模型在調整期間的評估頻率。間隔是以「步數」為單位,而非以「時期」為單位。

checkpointInterval

模型將微調進度儲存為檢查點的頻率,可用於復原或日後使用。間隔是以步數為單位,而非以 Epoch 為單位。

  • 建議做法:將 checkpointInterval = evaluateInterval * N 設為正整數 N。

maxOutputTokens

調整後模型的輸出內容生成長度上限。

  • 預設值和上限: 32,768

adapterSize

LoRA 轉換器大小。轉接器越大,學習能力越強,但訓練時間和記憶體用量也會增加。

  • 預設值: ADAPTER_SIZE_SIXTEEN

後續步驟