一個大模型是如何被煉出來的
更新于:2025-03-26 11:06:44

大家日常都會接觸到不少大模型和AI工具,有考慮過他們是如何做的嗎?知道原理,對於我們使用大模型和調整方法很有説明。

在大語言模型(Large Language Model,LLM)中,無監督學習、有監督學習和強化學習是機器學習的三個組成部分,也是訓練一個大模型的三個基礎階段。他們各自扮演著不同的角色,並應用於不同的訓練階段和任務中。

第一步:無監督學習階段

無監督學習也就是模型的預訓練階段,簡單來說就是給模型投喂大量大量的文本,進行無監督學習的預訓練,這樣我們就會得到一個能夠進行文本生成的基座。

在預訓練中,需要大量的文本作為原料,讓模型從中學習,比如gpt-3這個基座模型的訓練數據,就有非常多的互聯網文本語料庫,包含有新闻、圖書和文獻、科學論文、特定領域的數據集、社交媒體和論壇等等。訓練數據的整體規模有三千億的Token(具體什麼是token我們將在下一個帖子中詳細解釋。先簡單來理解的話就是基本文本單位)。

此時預訓練的結束之後我們會得到一 個基座模型,而這個基座模型並不擅長對話,你給他一個問題,他可能模仿上文,幫你繼續生成更多的問題,但並不回答你的問題。這時我們開始進行第二步有監督學習

第二步:有監督學習階段

有了大量的訓練文本之後,我們就要採用“有監督學習”的方式,也就是通過一些人類撰寫的高品質對話數據,對基座模型進行監督微調。

微調就是在已有模型上做進一步的訓練,這個階段呢,我們需要給基座模型看更多的對話數據,包括單輪的對話數據還有多輪對話的數據等,目的呢就是為了訓練一個擅長對話的AI助手。

微調的成本相比預訓練要低很多,因為需要的訓練數據的規模相比較小,訓練時長更短,在這一階段里,模型不需要從海量文本中學習了,而是從一些人類寫的專業且高品質的對話里學習(在這個階段就產生了一個職業叫做AI訓練師或者數據標註員,這個我們後邊的帖子在慢慢細聊),這相當於既給了模型問題,也給了模型我們人類中意的回答,屬於監督學習了。

這個過程被叫做監督微調(Supervised Fine-Tuning)簡稱:SFT。

完成後會得到一個SFT模型。

第三步:強化學習階段

在強化學習階段,模型進一步優化以提升在實際應用中的表現,從而模型能夠自主的學習。

這個階段主要包含一下兩個步驟:

a. 人類反饋強化學習(Reinforcement Learning from Human Feedback, RLHF)

這個部分包含:人類評價、獎勵模型(Reward Model)、策略優化

b. 反饋和調整

通過多次反覆運算的反饋和調整,模型逐漸學會生成更高品質的回應。這一過程通常涉及反覆的生成、評估、調整和優化。

這些都相對比較好理解,但我重點要說的是獎勵模型(Reward Model)

要讓一個模型,能乖乖當一個樂於助人的AI助手,我們可以讓模型對問題做出回答,然後讓人類評測人員去給回答打分,打分的標準主要是基於3H原則(説明性、真實性、無害性)

  • 説明性-helpful:模型的輸出應該對用戶有實際説明,能夠解決使用者的問題或滿足使用者的需求。
  • 真實性-honest:模型的輸出應該真實可靠,不應捏造事實或誤導使用者。
  • 無害性-harmless:判斷模型的輸出是否適當、是否包含偏見有害性信息等內容

如果打分高的話,模型能學習到要再接再厲,如果打分低的話,模型就學習到要予以改進。

但是靠人類給回答一個個打分,成本極高、效率極低。所以我們要訓練出另一個模型,讓模型給模型打分。在這一步里,需要訓練一個reward獎勵模型。他是從回答以及回答對應的評分里進行學習的。

模型得到評分數據的方式是:我們會使用不同模型構造同一問題下不同的回答,然後讓人類標註員對回答質量進行比較排序,還有部分情況下是由人工補充滿分的答案。讓模型知道哪個答案是最好的。

雖然還是免不了要藉助人類的勞動。但一旦有了足夠的排序數據,就可以把數據用在訓練獎勵模型上。讓獎勵模型學習預測回答的評分。

獎勵模型訓練出來后,就可以用在強化學習上了,強化學習里,大模型的最初參數來自之前得到的SFT模型,但會隨著訓練被更新,獎勵模型的參數則不會再被更新,他的任務就是對模型生成的內容打分,經過一輪又一輪反覆運算後,模型會不斷優化策略,回答的品質也就會進一步提升。

最後這樣一個大模型就在不斷學習中煉成了。🎉

本文由 @貝琳_belin 原創發佈於人人都是產品經理。未經作者許可,禁止轉載

題圖來自Unsplash,基於CC0協定

該文觀點僅代表作者本人,人人都是產品經理平臺僅提供資訊存儲空間服務