官术网_书友最值得收藏!

1.1.3 訓練一個自己的GPT大模型

小紅:吳老師,我很好奇怎樣才能訓練出一個GPT大模型,您能給我講一講嗎?

吳老師:把大象裝進冰箱只需要3步,打開冰箱→裝進大象→關上冰箱。要得到一個屬于自己的GPT大模型也是3步。第一步通過大量的文本進行無監督學習預訓練,得到一個能進行文本生成的“基座模型”第二步,通過一些人類撰寫的高質量對話數據,對基座模型進行監督微調(Supervised Fine-Tuning,SFT),完成后會得到一個“SFT模型”。此時的模型除了可以續寫文本之外,也會具備較好的對話能力。

小紅:原來總聽人說到的Fine-Tuning,就是對模型進行監督微調的意思。

吳老師:是的。第三步,用問題和多個對應回答的數據,讓人類標注員對回答進行質量排序,然后基于這些數據,訓練出一個能對回答進行評分預測的“獎勵模型”。接下來讓第二步得到的模型對問題生成回答,用獎勵模型給回答進行評分,將評分作為反饋進行強化學習訓練。這樣,一個類似ChatGPT的GPT大模型就訓練好了(見圖1-10)。

圖1-10

小紅:聽起來好簡單呀,能詳細給我講一講嗎?

吳老師:當然可以。在第一步的預訓練中,首先需要海量文本作為原料,讓模型從中學習。比如GPT-3的基座模型的訓練數據來自多個互聯網文本語料庫,覆蓋書籍、新聞文章、科學論文、維基百科、社交媒體、帖子等的內容,訓練數據的整體規模是3000億token。有了大量可用于訓練的文本后,要采用無監督學習的方式。

小紅:什么叫“無監督學習”?是不是還有一種“有監督學習”?

吳老師:你的問題很好。和“無監督學習相對的是監督學習。監督學習會接受有標簽的訓練數據,標簽就是期望的輸出值,所以每個訓練數據點都既包括輸入特征,也包括期望輸出值。而無監督學習則是讓模型在沒有標簽的數據上進行訓練,所以模型要自己找出數據中的結構和模式。以GPT-3 為例,訓練過程中它會利用海量文本自行學習人類語言的語法和語義,了解其表達結構和模式。具體來說,模型會先看到一部分文本,基于上下文嘗試預測下一個token,然后通過比較正確答案和預測值,模型會更新權重,從而能逐漸根據上文生成合理的下文,并且隨著見過的文本越來越多,它的生成能力也會越來越強。

小紅:原來如此,無監督學習就是機器自己學習,不用人類監督。

吳老師:不過,要知道預訓練并不是一個容易的過程,而是非常耗時、費力、“燒錢”的,得到的結果是一個基座模型,但是,基座模型并不等同于ChatGPT背后的對話模型。因為此時模型有預測下一個token的能力,會根據上文補充文本,但并不擅長對話。你給它一個問題,它可能會模仿上文幫你繼續提出更多的問題,但不回答你的問題。為了解決這點,我們需要進行第二步——對基座模型進行微調。微調就是在已有模型上做進一步的訓練,這樣會改變模型的內部參數,讓模型更加適應特定任務。

小紅:微調就是根據目的對基座模型進行調整,比如訓練出一個擅長對話的AI助手

吳老師:是的。微調的成本相比預訓練低很多,因為需要的訓練數據規模更小,訓練時長更短。在這一階段里,模型不需要從海量文本中學習,而是從一些人類寫的專業且高質量的對話文字中學習。這相當于既給了模型問題,也給了模型我們人類中意的回答,屬于監督學習,所以這一過程被叫作監督微調,完成后會得到一個SFT模型。SFT模型比基座模型更加擅長對問題做出回答。

吳老師繼續:但為了繼續提升模型的實力,還可以進行第三步——讓SFT模型進行強化學習。強化學習是讓模型在環境里采取行動,獲得結果反饋后,從反饋里學習,從而在給定情況下采取最佳行動,以最大化獎勵或最小化損失。這就跟馴小狗似的,隨著和訓犬師的互動,小狗會發現做某些動作能獲得零食,做某些動作沒有零食,做某些動作甚至會遭受懲罰。通過觀察做動作和獎懲之間的聯系,小狗的行為會逐漸接近訓犬師的期望。

小紅:就是要讓GPT大模型乖乖當一個樂于助人的AI助手。

吳老師:是這樣的。我們可以讓GPT大模型對問題做出回答,然后讓人類評估員去給回答打分。打分主要是基于3H原則——Helpful(有用性)、Honest(真實性)、Harmless(無害性)。如果打分高的話,模型就會再接再厲。如果打分低的話,模型就要予以改正。但是,靠人類一個一個打分,成本極高,效率極低。那為何不訓練出另一個模型,讓模型給模型打分?所以在這一個步驟里,需要訓練出一個獎勵模型。

小紅:獎勵模型就是從回答和回答對應的評分里訓練學習吧?

吳老師:是的。要得到評分數據,可利用第二步里得到的SFT模型,它會對每個問題生成多個回答,然后,讓人類標注員對回答質量進行排序。雖然還是免不了人力勞動,但是一旦有了足夠的排序數據,就可以把數據用在訓練獎勵模型上,讓獎勵模型學習預測回答的評分。當獎勵模型訓練完成后,即可將其應用于強化學習。在強化學習里,GPT大模型的初始參數源自此前獲得的SFT模型,會在訓練過程中不斷更新;而獎勵模型的參數則不再更新,其職責在于為模型生成的內容打分。經過一輪又一輪迭代后,模型會不斷優化回答策略,回答的質量也會進一步提升,強大的GPT大模型就在不斷學習中訓練成了。

小紅:這真是一個持續進步的過程,GPT大模型會隨著時間的推移變得越來越強大。

主站蜘蛛池模板: 彭泽县| 商水县| 达州市| 佛山市| 五寨县| 塘沽区| 桦川县| 寿光市| 从化市| 恩施市| 呈贡县| 峨山| 曲阳县| 馆陶县| 保亭| 忻州市| 武强县| 莫力| 固原市| 恩施市| 永州市| 福建省| 米林县| 湘阴县| 福州市| 嘉义县| 峨眉山市| 邓州市| 和顺县| 岑溪市| 阜南县| 基隆市| 分宜县| 汉阴县| 巧家县| 汪清县| 荃湾区| 甘谷县| 阜新市| 子长县| 滦南县|