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