大型語言模型的多階段訓練流程主要包括預訓練、監(jiān)督學習微調、獎勵模型訓練和強化學習微調四個階段,具體如下:
預訓練階段
目標:讓模型學習語言的統(tǒng)計模式和語義信息,通過大規(guī)模未標記數(shù)據(jù)捕獲文本語料庫中存在的底層模式、結構和語義知識,構建基礎模型。
數(shù)據(jù)集:來源廣泛,如互聯(lián)網(wǎng)網(wǎng)頁、維基百科、書籍、GitHub、論文、問答網(wǎng)站等,形成包含數(shù)千億甚至數(shù)萬億單詞的具有多樣性的內容。
算法與資源:利用由數(shù)千塊高性能 GPU 和高速網(wǎng)絡組成的超級計算機,采用自監(jiān)督學習方法,如預測文本中下一個可能的詞,花費數(shù)十天甚至數(shù)月的時間完成深度神經(jīng)網(wǎng)絡參數(shù)的訓練。
結果:得到的基礎模型能夠對長文本進行建模,具備語言生成能力,可根據(jù)輸入的提示詞生成文本補全句子。
監(jiān)督學習微調階段
目標:在預訓練模型基礎上,使模型具備完成特定任務,如問題回答、翻譯、寫作等的能力。
數(shù)據(jù)集:使用少量高質量的與任務相關的數(shù)據(jù)集,包含用戶輸入的提示詞和對應的理想輸出結果,由專業(yè)標注員提供標準答案。
算法:在基礎模型上進行有監(jiān)督訓練,使用與預訓練類似的交叉熵損失函數(shù)進行評估,并通過梯度下降優(yōu)化模型參數(shù)。
結果:得到有監(jiān)督微調模型,具備初步的指令理解能力和上下文理解能力,能夠完成開放領域問答、閱讀理解、翻譯、生成代碼等任務。
獎勵模型訓練階段
目標:構建一個文本質量對比模型,用于評估模型生成文本的質量,為后續(xù)的強化學習階段提供準確的獎勵信號。
數(shù)據(jù)集:需要百萬量級的對比數(shù)據(jù)標注,標注者要根據(jù)預設標準,如準確性、有用性、流暢性等,對模型針對同一問題生成的多個不同質量的答案進行排序或評分。
算法:通常采用二分類模型的結構,通過輸入一對文本判斷它們之間的優(yōu)劣關系,優(yōu)化參數(shù)以最小化預測錯誤率或最大化排序準確性。
結果:得到能夠評估模型生成文本質量的獎勵模型,為強化學習階段提供重要支持。
強化學習微調階段
目標:根據(jù)獎勵模型的評估,進一步優(yōu)化模型生成文本的能力,使其更符合人類期望。
數(shù)據(jù)集:使用數(shù)十萬用戶給出的提示詞和獎勵模型評估的結果。
算法:利用強化學習算法,如 PPO 調整模型參數(shù),使模型生成的文本能夠獲得更高的獎勵。通常會在原始優(yōu)化目標中加入一個懲罰項,如 KL 離散度,以避免當前訓練輪次的語言模型明顯偏離初始的語言模型。
結果:得到最終的強化學習模型,該模型具備更強的理解和生成能力,能夠更好地滿足用戶需求。