超參數,用於最佳化文字產生模型的學習程序 - Amazon SageMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

超參數,用於最佳化文字產生模型的學習程序

您可以調整下列超參數的任意組合,以最佳化基礎模型的學習程序。這些參數適用於所有模型。

  • Epoch 計數 epochCount超參數會決定模型通過整個訓練資料集的次數。它會影響訓練持續時間,並可在適當設定時防止過度擬合。大量的 epoch 可能會增加微調任務的整體執行時間。建議您在 CompletionCriteria MaxAutoMLJobRuntimeInSeconds中設定大型 TextGenerationJobConfig,以避免微調任務過早停止。

  • 批次大小 batchSize超參數定義每次訓練迭代中使用的資料範例數量。它可能會影響收斂速度和記憶體用量。在批次大小大的情況下,記憶體不足 (OOM) 錯誤的風險會增加,這可能在 Autopilot 中顯示為內部伺服器錯誤。若要檢查是否有此類錯誤,請檢查 Autopilot 任務啟動的訓練任務的/aws/sagemaker/TrainingJobs日誌群組。您可以在 AWS 管理主控台中 CloudWatch 從 存取這些登入。選擇日誌 ,然後選擇/aws/sagemaker/TrainingJobs日誌群組 。若要修正OOM錯誤,請減少批次大小。

    我們建議從批次大小 1 開始,然後逐步增加,直到發生記憶體不足錯誤為止。作為參考,10 個 Epoch 通常需要長達 72 小時才能完成。

  • 學習率 learningRate超參數控制訓練期間更新模型參數的步驟大小。它會決定模型參數在訓練期間更新的速度有多快或多慢。高學習率表示參數會依大型步驟進行更新,這可能會導致收斂速度更快,但也可能導致最佳化程序超過最佳解決方案並變得不穩定。低學習率表示參數會以較小的步進大小進行更新,這可能會導致更穩定的融合,但代價是學習速度變慢。

  • Learning Rate Warmup Steps learningRateWarmupSteps超參數會指定訓練步驟的數量,在達到目標或最大值之前,學習率會逐漸增加。這有助於模型更有效地收斂,並避免與初始高學習率可能發生的分歧或緩慢收斂等問題。

若要了解如何在 Autopilot 中針對微調實驗調整超參數,並探索其可能的值,請參閱 如何設定超參數以最佳化模型的學習程序