什么是從人類反饋中強化學習(RLHF)?
譯文譯者 | 李睿
審校 | 重樓
自從OpenAI公司發布ChatGPT以來,人們對大型語言模型(LLM)的這一重大進步感到興奮。雖然ChatGPT與其他最先進的大型語言模型大小相同,但其性能要高得多,并且承諾支持新的應用程序或顛覆取代原有的應用程序。
ChatGPT的驚人表現背后的主要原因之一是得益于其訓練技術:從人類反饋中強化學習(RLHF)。雖然RLHF在大型語言模型方面已經展現了令人印象深刻的結果,但可以追溯到發布的首個GPT,而首個GPT應用程序并不是用于自然語言處理。
以下是人們需要了解的關于RLHF以及它如何應用于大型語言模型的知識。
什么是RLHF?
強化學習(RL)是機器學習的一個領域,其中代理通過與環境的交互來學習策略。代理采取行動(包括什么都不做)。這些行動會影響代理所處的環境,而環境進而轉換到新的狀態并返回獎勵。獎勵是使強化學習代理能夠調整其行動策略的反饋信號。當代理進行訓練時,它會調整自己的策略,并采取一系列行動,使其回報最大化。

設計正確的獎勵系統是強化學習的關鍵挑戰之一。在某些應用中,獎勵將會延遲很久。考慮一個用于下國際象棋的強化學習代理,只有在擊敗對手后才能獲得積極的獎勵,這可能需要下數十步棋才獲得。在這種情況下,代理將會浪費大量的初始訓練時間隨機移動,直到它偶然發現獲勝的組合。在其他應用程序中,獎勵甚至不能用數學或邏輯公式來定義(當討論語言模型時,將會詳細討論這一點)。
來自人類反饋的強化學習通過將人類納入訓練過程來增強強化學習代理的訓練,這有助于解釋獎勵系統中無法衡量的元素。
為什么不總是用RLHF?首先,其擴展性很差。一般來說,機器學習的一個重要優勢是它能夠隨著計算資源的可用性進行擴展。隨著計算機發展得越來越快,數據變得越來越可用,因此能夠以更快的速度訓練更大的機器學習模型,而依賴人類訓練強化學習系統成為瓶頸。
因此,大多數RLHF系統依賴于自動化系統和人工提供的獎勵信號的組合。計算獎勵系統為強化學習代理提供主要反饋。人類管理者或者偶爾提供額外的獎勵/懲罰信號,或者提供訓練獎勵模型所需的數據。

RLHF的示例
假設創造一個烹飪披薩餅的機器人,可以將一些可測量的元素整合到自動獎勵系統中(例如,披薩餅的厚度、醬汁和奶酪的數量等)。但為了確保披薩美味可口,需要人類品嘗,并在訓練過程中為機器人烹飪的披薩餅打分。
語言作為強化學習問題
大型語言模型已被證明非常擅長于多種任務,包括文本摘要、問題回答、文本生成、代碼生成、蛋白質折疊等等。在非常大的范圍內,大型語言模型可以進行零樣本和小樣本學習,完成它們沒有受過訓練的任務。Transformer模型(大型語言模型中使用的架構)的一大成就是它能夠通過無監督學習進行訓練。
然而,盡管大型語言模型取得了令人著迷的成就,但它們與其他機器學習模型有著共同的基本特征。它們的核心是非常大的預測機器,旨在猜測序列中的下一個令牌(提示符)。在一個非常大的文本語料庫上訓練,大型語言模型開發了一個數學模型,可以產生(大部分)連貫和一致的長文本。
語言的最大挑戰在于,在很多情況下,提示有很多正確答案。但是,根據大型語言模型的用戶、應用程序和場景的不同,并不是這些方法都是可取的。不幸的是,大型文本語料庫上的無監督學習并不能使模型與它將用于的所有不同應用程序保持一致。

幸運的是,強化學習可以幫助大型語言模型朝著正確的方向前進。但首先把語言定義為強化學習問題:
- 代理:語言模型是強化學習代理,必須學習創建最佳文本輸出。
- 動作空間:動作空間是大型語言模型可以生成的可能語言輸出的集合(非常大)。
- 狀態空間:環境的狀態包括用戶提示和大型語言模型的輸出(非常大)。
- 獎勵:獎勵衡量大型語言模型的響應與應用程序場景和用戶意圖的一致性。
上述強化學習系統中的所有元素都是微不足道的,除了獎勵系統。與下國際象棋、圍棋甚至機器人問題不同,獎勵語言模型的規則并沒有很好地定義。幸運的是,在RLHF的幫助下,可以為語言模型創建良好的獎勵系統。
用于語言模型的RLHF
語言模型的RLHF由三個階段組成。首先,從一個預先訓練好的語言模型開始,這是非常重要的,因為大型語言模型需要大量的訓練數據。用人類的反饋從零開始訓練它們幾乎是不可能的。通過無監督學習預訓練的大型語言模型已經有了堅實的語言模型,并將創建連貫的輸出,盡管其中一些或許多可能與用戶的目標和意圖不一致。
在第二階段,為強化學習系統創建了一個獎勵模型。在這個階段,訓練另一個機器學習模型,它接受主要模型生成的文本,并生成質量分數。第二個模型通常是另一個大型語言模型,它已被修改為輸出標量值而不是文本標記序列。
為了訓練獎勵模型,必須創建一個由大型語言模型生成的文本標記為質量的數據集。為了組成每個訓練示例,給主要的大型語言模型一個提示,并讓它生成幾個輸出。然后,讓評估人員對生成的文本進行從最好到最差的排序。然后,訓練獎勵模型來預測大型語言模型文本的分數。通過訓練大型語言模型的輸出和排名分數,獎勵模型創建了人類偏好的數學表示。

在最后階段,創建了強化學習循環。主要大型語言模型的副本成為強化學習代理。在每個訓練集中,大型語言模型從訓練數據集中獲取幾個提示并生成文本。然后,它的輸出被傳遞給獎勵模型,獎勵模型提供一個分數來評估其與人類偏好的一致性。大型語言模型隨后被更新,以創建在獎勵模型中得分更高的輸出。
雖然這是RLHF用于語言模型的通用框架,但不同的實現也會進行修改。例如,由于更新主要的大型語言模型的成本非常昂貴,機器學習團隊有時會凍結它的許多層以降低訓練成本。
RLHF對語言模型的另一個考慮是保持獎勵優化和語言一致性之間的平衡。獎勵模式是對人類偏好的不完美近似。像大多數強化學習系統一樣,代理大型語言模型可能會找到一條捷徑,在違反語法或邏輯一致性的同時最大化獎勵。為了防止發生這種情況,機器學習工程團隊在強化學習循環中保留了原始大型語言模型的副本。原始大型語言模型輸出與強化學習訓練的大型語言模型輸出的輸出之間的差異(也稱為KL散度)作為負值集成到獎勵信號中,以防止模型與原始輸出偏離太多。
ChatGPT如何使用RLHF
OpenAI公司還沒有公布ChatGPT的技術細節。但是可以從有關ChatGPT博客文章和InstructGPT的詳細信息中了解很多內容,而InstructGPT也使用RLHF。
ChatGPT使用以上描述的通用RLHF框架,并進行了一些修改。在第一階段,工程師們對預先訓練好的GPT-3.5模型進行了“監督微調”。他們雇傭了一組人類作家,并要求他們對一系列提示給出答案。他們使用提示答案對數據集來微調大型語言模型。據報道,OpenAI公司在這些數據上花費了大量資金,這也是ChatGPT優于其他類似大型語言模型的部分原因。
在第二階段,OpenAI公司根據標準程序創建了獎勵模型,對提示生成多個答案,并由人工注釋器對其進行排序。
在最后階段,使用近端策略優化(PPO) 強化學習算法來訓練主要的大型語言模型。OpenAI公司沒有提供進一步的細節,例如它是否凍結了模型的任何部分,或者它如何確保強化學習訓練的模型不會偏離原始分布太多。

ChatGPT的訓練流程
RLHF對語言模型的限制
雖然RLHF是一種非常有效的技術,但它也有一些局限性。人工勞動總是成為機器學習管道的瓶頸。人工標記數據緩慢而成本昂貴,這就是無監督學習一直是機器學習研究人員長期追求的目標的原因。
在某些情況下,可以從機器學習系統的用戶那里獲得免費標簽。這就是在ChatGPT和其他類似的大型語言模型界面中看到的贊成/反對投票按鈕的作用。另一種技術是從在線論壇和社交網絡中獲取標記數據。例如,許多Reddit帖子都是以問題形式發布的,最佳的答案會得到更高的支持率。然而,這樣的數據集仍然需要清理和修改,但這樣做成本昂貴并且緩慢,而且也不能保證所需要的數據在一個在線來源中就能得到。
大型科技公司和資金雄厚的實驗室(例如OpenAI和DeepMind)有能力投入巨資創建特殊的RLHF數據集。但規模較小的企業將不得不依賴開源數據集和網絡抓取技術。
RLHF也不是完美的解決方案。人類的反饋可以幫助大型語言模型避免產生有害或錯誤的結果,但人類的偏好并不是明確的,永遠不可能創造符合所有社會和社會結構的偏好和規范的獎勵模式。
然而,RLHF提供了一個框架,可以更好地將大型語言模型與人類保持一致。到目前為止,已經看到RLHF與ChatGPT等通用模型結合在一起工作,而RLHF將成為一種非常有效的技術,用于優化特定應用的大型語言模型。
原文標題:What is reinforcement learning from human feedback (RLHF)?,作者:Ben Dickson





































