無論是 ChatGPT 還是 GPT-4,它們的核心技術(shù)機制之一都是基于人類反饋的強化學習(Reinforcement Learning from Human Feedback,RLHF)。這是大型語言模型生成領(lǐng)域的新訓練范式,即以強化學習方式依據(jù)人類反饋優(yōu)化語言模型。那么,什么是 RLHF 呢?
RLHF 背后的基本思想是采用預先訓練好的語言模型,并讓人們對其輸出的結(jié)果進行排序。這個輸出的排名作為一個信號,引導模型“更喜歡”某些結(jié)果,從而誘導響應(yīng),使其更安全可信。
RLHF 可以利用人工反饋優(yōu)化語言模型。通過將RL算法與人工輸入結(jié)合,幫助模型學習并提高其性能。結(jié)合人工反饋,RLHF 可以幫助語言模型更好地理解和生成自然語言,并提高它們執(zhí)行特定任務(wù)的能力,如文本分類或語言翻譯。此外,RLHF 還可以幫助緩解語言模型中的偏差問題,允許人類糾正并引導模型朝著更公平和包容性的語言使用方向發(fā)展。然而,另一方面,它也引入了一種途徑,用于將人類偏見嵌入模型中。
1. 關(guān)于強化學習
強化學習在數(shù)學方面有其基礎(chǔ)知識,其中通過代理與環(huán)境進行交互,如下圖所示:
代理人通過采取一個行動與環(huán)境進行交互,環(huán)境返回一個狀態(tài)和一個獎勵。獎勵就是我們想要優(yōu)化的目標,狀態(tài)是當前時間索引中環(huán)境/世界的表示,策略用于從該狀態(tài)映射到操作。作為對代理執(zhí)行的操作的回報,環(huán)境返回相應(yīng)的獎勵和下一個狀態(tài)。
當利用大語音模型完成 NLP 任務(wù)時,如何為一個語言模型編碼幽默、道德或者安全呢?這些都有一些人類自己能夠理解的微妙之處,但是我們不能通過創(chuàng)建定制的損失函數(shù)來訓練模型。這就是人類反饋強化學習的用武之地。
下圖顯示了 RLHF 模型如何從大模型和人工標注中獲取輸入,并創(chuàng)建一個比單獨使用這兩者更好的響應(yīng)。
2. RLHF之模型訓練
讓我們先從一個高層次的 RLHF 開始,并首先收集所有的背景和事實。
RLHF 可能相當復雜,需要訓練多個模型和不同的部署階段。由于 GPT-4、 ChatGPT 和 DirectGPT 都用 RLHF (由 OpenAI 提供)進行了微調(diào),因此讓我們通過查看訓練步驟來更深入地了解它。
RLHF 的設(shè)計是為了使模型更安全、更準確,并確保模型生成的輸出文本是安全的,更符合用戶的需要。人工智能代理首先在環(huán)境中隨機作出決策。人工排名者會周期性地接收多個數(shù)據(jù)樣本,甚至可能是模型的輸出 ,根據(jù)人類偏好進行排名,例如,給定兩個視頻,人工排名者決定哪個視頻更適合當前任務(wù)。
Agent將同時建立一個基于任務(wù)目標的模型,并通過使用 RL 對其進行細化。Agent將開始只需要人類對視頻的反饋,并進一步完善其理解。
這種循環(huán)行為可以從 OpenAI 的下圖中直觀地看到:
OpenAI 使用客戶通過 ChatGPT API 向模型提交的提示,并通過手動對模型的幾個期望輸出排序來微調(diào)語言模型,從而獲得人工反饋。這豐富了模型產(chǎn)出的質(zhì)量,從而引導模型朝著信任和安全的方向發(fā)展。
這個過程被稱為監(jiān)督式學習,模型通過使用標記數(shù)據(jù)進行訓練,以提高其準確性和性能。通過使用客戶提示對模型進行微調(diào),OpenAI 旨在使 ChatGPT在響應(yīng)給定提示時更有效地生成相關(guān)且連貫的文本。
為什么我們不總是使用 RLHF呢?由于依賴人工標注,它的擴展性很差。手工標記數(shù)據(jù)既緩慢又昂貴,這就是為什么非監(jiān)督式學習一直是機器學習研究人員長期追求的目標。
3. RLHF之預訓練語言模型
大模型是使用不同參數(shù)的各種模型進行預訓練的,并且可以針對特定任務(wù)進行微調(diào)。這又如何與 RLHF 相關(guān)呢?
生成數(shù)據(jù)以訓練獎勵模型是將人類偏好整合到系統(tǒng)中所必需的。然而,由于 RLHF 訓練中各種選擇的設(shè)計空間沒有得到充分的探索,對于哪種模式最適合開始 RLHF 訓練還沒有明確的答案。下圖像顯示了預訓練語言模型的內(nèi)部工作原理以及用 RLHF 進一步進行微調(diào)的可選路徑。
大模型的參數(shù)范圍從100億到2800億不等,但目前還沒有關(guān)于大模型最佳尺寸的答案??梢愿跺X讓人撰寫對現(xiàn)有提示的回應(yīng),然后這些數(shù)據(jù)可以用于訓練,但會變得成本昂貴。
4. RLHF之訓練獎勵模型
RLHF 的最重要任務(wù)是生成一個獎勵模型 (RM),它可以根據(jù)人的偏好為輸入文本分配一個標量獎勵。獎勵模型可以是端到端的語言模型或模塊化系統(tǒng),并使用提示對數(shù)據(jù)集進行訓練。下圖展示了獎勵模型是如何工作的:
可以看到,目標是希望得到一個模型,它可以將某個輸入文本序列映射到標量獎勵值。眾所周知,增強學習采用單個標量值,并通過其環(huán)境隨著時間的推移對其進行優(yōu)化。
獎勵模型的訓練也是從一個數(shù)據(jù)集開始的,但要注意它與用于大型模型預訓練的數(shù)據(jù)集不同。這里的數(shù)據(jù)集側(cè)重于特定的首選項,是一個提示輸入數(shù)據(jù)集。它包含模型將用于的特定用例的提示,以及與提示示例相關(guān)聯(lián)的預期獎勵,例如 $(prompt, reward)$ pairs
。數(shù)據(jù)集通常比預先訓練的數(shù)據(jù)集小得多。因此,輸出是文本示例的排名/獎勵。
通常情況下,可以使用一個大型的“teacher”模型集合來減輕偏見,增加排名的多樣性,或讓人工對排名參與這些模型的循環(huán)。例如,當使用 ChatGPT 時,它有一個向上或向下的圖標。這允許模型通過眾包學習它的排名輸出。
5. 用增強學習對大模型進行微調(diào)
下圖解釋了獎勵模型微調(diào)的工作原理。
首先,獲取提示數(shù)據(jù)集,即用戶所說的內(nèi)容或者我們希望模型能夠很好生成的內(nèi)容。然后,它被發(fā)送到增強學習的策略中,這是一個調(diào)優(yōu)的語言模型,以根據(jù)提示生成適當?shù)妮敵?。隨著初始大語言模型的輸出,這被傳遞到生成標量獎勵值的獎勵模型中。
這是在一個反饋循環(huán)中完成的,基于它接受訓練的人工標注,獎勵模型可以分配獎勵,在資源允許的情況下盡可能多地使用樣本,因此,它會隨著時間的推移而更新。
Kullback-Leibler(KL)是兩個概率分布之間差異的度量,可以用來度量初始大模型輸出與調(diào)優(yōu)后的大模型輸出。因此,使用 RLHF,KL 可以用來比較當前策略的概率分布和代表期望行為的參考分布。
此外,RLHF 可以對最近的政策優(yōu)化微調(diào)。近似策略優(yōu)化(PPO)是一種流行的強化學習算法,由于其能夠在具有高維狀態(tài)和行為空間的復雜環(huán)境中有效地優(yōu)化策略,因此經(jīng)常用于RLHF的微調(diào)過程中。PPO 有效地平衡了訓練過程中的探索和開發(fā),這對于必須從人類反饋和試錯探索中學習的 RLHF Agent來說非常重要。在 RLHF 中使用 PPO 可以導致更快和更強大的學習,因為智能 Agent 能夠從人類反饋和強化學習中學習。
在一定程度上,這個過程阻止了語言模型產(chǎn)生胡言亂語。換句話說,它驅(qū)使模型專注于高回報,從而最終導致它產(chǎn)生一個準確的文本結(jié)果。
6. RLHF之偏差考量及緩解策略
大型模型已經(jīng)被部署在各種應(yīng)用程序中,從搜索引擎(Bing Chat,Google’s Bard)到文本文檔(Microsoft Office co-Pilot、Google Docs、Notion)等。那么,RLHF 能否給模型增加偏差呢?
答案是肯定的。就像任何有人工輸入的機器學習方法一樣,RLHF 有可能引入偏差。RLHF 可能引入不同形式的偏差如下:
- 選擇偏差:RLHF 依賴于人類評估者的反饋,他們可能有自己的偏見和偏好,可以限制他們的反饋到他們可以涉及的主題或情況。因此,Agent 可能不會接觸到它在現(xiàn)實世界中將會遇到的真實行為和結(jié)果的范圍。
- 確認偏差:人類評估者可能更有可能提供反饋,確認他們現(xiàn)有的信念或期望,而不是提供客觀的反饋。這可能導致代理因為某些行為或結(jié)果而得到加強,而這些行為或結(jié)果在長期來看可能不是最理想的結(jié)果。
- 評分者之間的差異:不同的人類評價者可能對 Agent 的響應(yīng)質(zhì)量有不同的意見或判斷,從而導致 Agent 收到的反饋不一致。這可能使得有效訓練 Agent 變得困難,并且可能導致性能不理想。
- 有限的反饋:人工評估者可能無法提供關(guān)于 Agent 所有方面的反饋,從而導致 Agent 的學習差距和在某些情況下潛在的次優(yōu)結(jié)果。
針對RLHF可能存在的不同類型偏差,緩解策略如下:
- 選擇不同的評估者:選擇具有不同背景和觀點的評估者可以幫助減少反饋中的偏見??梢酝ㄟ^招募來自不同人口群體、地區(qū)或行業(yè)的評估人員來實現(xiàn)。
- 共識評價:使用共識評價,即多個評價者就同一項任務(wù)提供反饋,有助于減少個別偏見的影響,并提高反饋的可靠性。這幾乎就像是評估中的“規(guī)范化”。
- 校正評估者:通過向評價者提供關(guān)于如何提供反饋的培訓和指導來校準評價者,可有助于提高反饋的質(zhì)量和一致性。
- 評價反饋過程:定期評價反饋過程,包括反饋的質(zhì)量和訓練過程的有效性,可有助于查明和解決可能存在的偏差。
- 評估Agent的表現(xiàn):定期評估Agent在各種任務(wù)和不同環(huán)境中的表現(xiàn),可以幫助確保它不會過于適合特定的示例,并能夠推廣到新的情況。
- 平衡反饋:在人工評價者的反饋與其他反饋來源(如專家反饋)之間取得平衡,有助于減少反饋中偏差的影響,并提高訓練數(shù)據(jù)的整體質(zhì)量。
7. 強化學習與監(jiān)督式學習中微調(diào)的對比
下圖描述了強化學習與監(jiān)督式學習中微調(diào)的主要區(qū)別:
既然增強學習需要人工反饋提供的標簽,那為什么我們不只是把這些標簽和監(jiān)督式學習本身一起使用呢?
監(jiān)督式學習的重點是縮小真實標簽和模型輸出之間的差距。在這里,它意味著模型只是記住等級,并可能產(chǎn)生胡言亂語的輸出,因為它的重點是最大限度地提高它的等級。這就是 RL 中獎勵模型所做的,是 KL 差異可以提供幫助的地方。在這種情況下,如果聯(lián)合訓練兩個損失函數(shù),一個用于排名,一個用于輸出。那么,這個場景就只適用于問答任務(wù),而不適用于 ChatGPT 或其他會話模型的每種會話模式。
GPT 使用交叉熵損失函數(shù)對下一個詞進行預測。然而,RLHF 不使用標準損失函數(shù),而是使用客觀函數(shù)來幫助模型更好地服務(wù)于使用 RLHF 的任務(wù),例如信任和安全。此外,因為否定一個詞可以完全改變文本的意思,它在這里不是用武之地。根據(jù)經(jīng)驗,RLHF 的性能往往優(yōu)于監(jiān)督式學習。監(jiān)督式學習使用標注級損失,例如可以在文本段落中求和或取平均值,而 RL 將整個文本段落作為一個整體來考慮。
最后,二者不是互斥的,可以首先使用 SL 進行微調(diào),然后使用 RLHF 進行更新。
8. RHLF之潛在演進方向——RLAIF
Anthroic 的對話助手 Claude 采用了一種不同的方法來處理 RLHF,即從人工智能反饋 (RLAIF) 中創(chuàng)建 RLHF V2,并去掉了人工反饋。
RLAIF 利用人工智能系統(tǒng)協(xié)助監(jiān)管其他人工智能的可能性,以及提高監(jiān)管的可擴展性。通過減少回避式響應(yīng),減少有益和無害之間的緊張關(guān)系,并鼓勵 AI 解釋對有害請求的反對意見,從而改進對無害 AI 助手的訓練,使控制人工智能行為的原則及其實現(xiàn)更加透明。通過消除在改變目標時收集新的人工反饋標簽的需要,來減少迭代時間。
RLAIF 允許模型解釋為什么它拒絕提供一個答案,這是基于它的思維鏈推理能力。這使我們能夠洞察模型的推理過程。使用 RLAIF,不需要人工標簽,它大大降低了成本和人力。它允許 LLM “反映”通過堅持一組原則或章程而產(chǎn)生的輸出。人工智能將審查自己的響應(yīng),并確保他們遵守基本原則。
具體實現(xiàn)包括兩個步驟:監(jiān)督式學習階段和 RLAIF 階段,系統(tǒng)參考架構(gòu)如下:
在監(jiān)督式學習階段,AI系統(tǒng)首先采用一套自我完善的規(guī)則,包括AI對各種大范圍提示的答復,然后修訂這些關(guān)于原型的初步答復。首先,檢索預先訓練LLM模型的響應(yīng),其中模型的響應(yīng)可能包含有害元素。隨后,要求模型使用一套既定的原則來評估自己的響應(yīng)。然后,提示模型根據(jù)其提供的評估修改其響應(yīng)。這兩個步驟也稱為“批評和修訂”管道,將在n次迭代中重復執(zhí)行。最后,使用由有害提示生成的修訂響應(yīng)的所有迭代對預先訓練好的LLM進行微調(diào)。
此外,重要的是要包括一組有用的提示和它們各自的響應(yīng),以確保經(jīng)過微調(diào)的模型仍然是有用的,也就是這個階段的“監(jiān)督”性質(zhì)。這個修改后的模型被稱為監(jiān)督式學習AI憲章(SL-CAI)模型。
在強化學習階段,需要AI系統(tǒng)探索對成千上萬個提示的可能反應(yīng),并使用思維鏈推理來確定最符合憲章原則的行為。首先,利用前一階段開發(fā)的SL-CAI模型為有害提示生成響應(yīng)對。然后,引入一個反饋模型,它本質(zhì)上是一個預訓練的語言模型,用于評估一對反饋,并根據(jù)已建立的原則選擇危害較小的反饋。反饋模型的歸一化對數(shù)概率用于訓練偏好模型或獎勵模型。最后,使用這一獎勵模型作為獎勵函數(shù),使用近似策略優(yōu)化(PPO)訓練SL-CAI模型。這就產(chǎn)生了最終的強化學習人工智能憲章(RL-CAI)模型。
9. 小結(jié)
RLHF的主要任務(wù)是生成獎勵模型,通過人類偏好為輸入文本分配標量獎勵,并使用增強學習對大型語言模型進行微調(diào)。同時,RLHF可能會產(chǎn)生偏差,需要使用相應(yīng)的緩解策略。通過強化學習和監(jiān)督式學習中微調(diào)的對比,可以了解到二者結(jié)合使用的可能性,也就是RLHF的一個潛在發(fā)展方向——RLAIF。
【參考資料與關(guān)聯(lián)閱讀】
- “Deep reinforcement learning from human preferences” by OpenAI (2017),https://arxiv.org/abs/1706.03741
- Reinforcement Learning from Human Feedback,https://openai.com/blog/deep-reinforcement-learning-from-human-preferences/
- Learning to summarize from human feedback by OpenAI (2020),https://arxiv.org/abs/2009.01325
- Illustrating Reinforcement Learning from Human Feedback (RLHF)
- https://www.linkedin.com/posts/sebastianraschka_ai-deeplearning-machinelearning-activity-7036333477658599424-rkSL