ChatGPT「秘方」竟在拖LLM后腿?Karpathy、LeCun聯手開懟RLHF! 精華
昨天,Andrej Karpathy又發了長推,不過用了一句很有爭議的話開頭——「RLHF只是勉強的RL」。
這條推特可謂「一石激起千層浪」,瞬間點燃了LLM社區的討論熱情。
畢竟RLHF作為剛提出沒幾年的方法,又新穎又有爭議。一邊遭受質疑,一邊又在工業界和學界迅速流行。
5G沖浪的LeCun也趕來聲援Karpathy,但他的話很短,只有一句——「RLHF不是真正的RL」。
RLHF最早可以追溯到OpenAI安全團隊2017年發表的論文:
論文地址:https://arxiv.org/abs/1706.03741
當時,Jan Leike還在DeepMind、Dario Amodei還沒創辦Anthropic,而OpenAI還沒all in語言模型,仍是一家研究范圍更廣泛的AI公司。
他們提出,通過人類反饋,讓AI模型更好地學習「如何翻出一個漂亮的后空翻」。
訓練時,AI agent在環境中不斷觀察并行動,并得到獎勵模型的反饋進行自我改進。但比較特別的是,獎勵函數是由擬合人類反饋得到的。
2019年,這項技術被用到了NLP領域,用于微調語言模型。
論文地址:https://arxiv.org/abs/1909.08593
這篇論文附帶的代碼也很好地定義了RLHF的標準流程。
倉庫地址:https://github.com/openai/lm-human-preferences?tab=readme-ov-file
到了2022年3月,ChatGPT發布前夕,OpenAI發布了使用RLHF微調過的大模型InstructGPT,這是彌合GPT-3和GPT-3.5 Turbo之間差距的關鍵一步,后者為ChatGPT的推出提供了關健動力。
論文地址:https://arxiv.org/abs/2203.02155
此后,RLHF就成為了OpenAI、DeepMind、谷歌、Anthropic等AI巨頭們訓練模型的必備環節。
所以,Karpathy為什么會突然對此發難?我們先來看一下他的推特原文是怎么說的。
Karpathy原帖的大意如下:
RLHF全稱為「從人類反饋中進行強化學習」(Reinforcement Learning from Human Feedback),是訓練LLM的第三個階段,也是最后一個主要階段,接在預訓練和監督微調(SFT)之后。
我對RLHF的批評是:它幾乎算不上是真正的強化學習,而且我認為這一點沒有被廣泛理解。強化學習很強大,而RLHF則不然。
讓我們來看一個AlphaGo的例子,它的訓練用到了實際的RL算法:計算機通過下圍棋,在最大化獎勵函數(即贏得比賽)的推演過程中進行訓練,最終超越了最優秀的人類棋手。AlphaGo并不是用RLHF訓練的,否則它的效果就不會這么好。
那么,用RLHF訓練AlphaGo會是什么樣子呢?首先,你需要讓人類標注者看到兩個圍棋局面,并詢問他們更喜歡哪個:
你需要收集大概10萬條這類的對比數據,并訓練一個「獎勵模型」RM(Reward Model)來模仿人類對棋盤狀態的這種「直覺判斷」(vibe check),使RM的判斷在平均水平上與人類一致。
有了獎勵模型的直覺判斷,就可以在此基礎上運行強化學習,讓原模型學習下出能夠讓人類直覺上認為不錯的棋步。
顯然,這在圍棋中不會產出太好的結果,有兩個根本且獨立的原因:
1. 直覺可能會產生誤導。這并不是真正的獎勵(贏得比賽),而是個很差的替代目標。但更糟的是——
2.強化學習優化會失控,因為它很快就會發現對抗獎勵模型的棋盤狀態。RM是一個擁有數十億參數的龐大神經網絡,用來模仿直覺。有些棋盤狀態超出了訓練數據的分布范圍,可能并不是好的狀態,但由于偶然性,也會從RM得到了很高的獎勵。
出于完全相同的原因,有時我驚訝于RLHF對LLM的效果,因為其中的RM也在進行同樣的直覺判斷。它對人類評分員似乎喜歡的那類響應打出高分,但這不是正確解決問題的「實際」目標,只是人類覺得不錯的替代目標。
其次,RLHF不能運行太久,因為原模型很快就能學會操控獎勵模型,從而預測出一些看起來很奇怪的token。比如,LLM助手會開始對提示詞響應一些無厘頭的內容,像「the the the the the the」。
這在人類看來很荒謬,但由于某種原因,RM認為這些響應看起來很棒。
這就是LLM找到的對抗性案例(adversarial examples),對于RM的訓練數據而言,這是未定義領域的分布外數據。
你可以反復將這些特定例子添加到訓練集中來緩解這種情況,但下次還會有其他對抗性案例出現。因此,RLHF不能運行過多步驟,幾百/幾千步后就必須停下,因為模型的優化過程將開始操控RM。這不是像AlphaGo那樣的強化學習。
然而,在構建LLM助手時,RLHF依舊是利大于弊。其中有幾個微妙的原因,但我最喜歡指出的是,LLM可以通過RLHF過程受益于生成器和判別器之間的難度差距(generator-discriminator gap)。
對于許多類型的問題,相比于從零開始撰寫理想答案,人類標注者會覺得從幾個候選中選擇最佳答案要容易得多。比如這樣的提示:「生成一首關于回形針的詩」,普通的人類標注者很難寫出一首好詩作為SFT示例,但在給出幾個候選答案的情況下,他們可以選出一個看起來不錯的詩。
因此,RLHF相當于利用了這種人類監督的「簡便性」差距。
還有其他幾個原因,例如,RLHF也有助于減少幻覺現象。如果RM是一個足夠強大的模型,可以捕捉到LLM的虛構內容,就能通過低獎勵來懲罰這種行為,教會模型在不確定時避免冒險使用事實知識。但對幻覺及其令人滿意的緩解措施是另一個話題,此處不再贅述。
總之,RLHF確實是凈有用的,但它不是傳統的強化學習。
迄今為止,在開放領域還沒有出現生產級的「實際」RL方法,可以大規模地在LLM上實現,并給出令人信服的演示。從直觀上講,這是因為在開放式的問題解決任務中給出獎勵值(等效于AlphaGo贏得比賽)確實很困難。
在一個封閉的、類似游戲的環境中,比如圍棋,動態受到限制,獎勵函數易于評估且無法操控。但你如何為總結一篇文章提供明確的獎勵?或者回答關于pip安裝的略顯模糊的問題?或者講個笑話?或者將一些Java代碼重寫為Python?
原則上,朝這個方向發展是可能的,但并不簡單,它需要一些創造性的思考。如果有人給出令人信服的解決方案,就能運行實際的強化學習,那種讓AlphaGo在圍棋中擊敗人類的強化學習,只是最后得到的LLM將有可能在開放領域問題解決中擊敗人類。
強化學習到底是什么
如果RLHF「不是RL」,那真正的RL是什么?
Karpathy的描述比較簡潔而直觀——就是AlphaGo用的那種。
幸好,「強化學習」是一個人為提出的概念,更容易厘清;而且「強化學習之父」Richard Sutton專門寫過一本書來解釋這個領域的基本問題。
??https://web.stanford.edu/class/psych209/Readings/SuttonBartoIPRLBook2ndEd.pdf??
開頭第一章第一節,強化學習的基本概念。雖然不是嚴謹完備的數學定義,但基本闡明了要點。
基本思想是,一個正在學習的agent與環境交互,如何捕捉到它面臨的最重要的實際問題。
顯然,這樣的agent必須能夠在某種程度上感知環境狀態,且必須能夠采取某種行動以影響狀態。agent也必須有關于環境狀態的目標。這一表述旨在包含三個方面:感知、行動和目標,以可行的最簡潔的形式,而不會讓任何一個方面只有平凡解。
任何適于解決這類問題的方法,我們都認為是強化學習方法。
除了agent和環境的存在,強化學習系統中還有以下四個要素:
- 策略(policy),定義正在學習的agent在指定時間的行為
- 獎勵信號(reward signal),定義強化學習問題的目標,是對agent行為的即時反饋
- 值函數(value function),定義長期的優化目標
- 環境模型(model of the enviroment),模擬環境行為
那么問題來了,根據Sutton書中對強化學習的定義,你同意Karpathy的說法嗎?
誰贊同,誰反對?
非常明顯的是,Karpathy的觀點吸引了許多LLM領域的學者和研究員的關注。
谷歌大腦、DeepMind研究科學家Kevein Murphy:
完全同意。我認為RLHF更像是行為(action)值是字符串的上下文多臂賭博機,其中提示詞作為上下文,而不是完整的強化學習。但為日常任務制定明確的獎勵機制是困難的部分。(我想這被稱為「模型對齊」?)
Allen AI機器學習研究員Nathan Lambert回復:
同意,很棒的總結。就其提供的價值而言,下面是我最喜歡的引用,說明了RLHF的「風格」部分為何有用。
但這與為LLM解鎖完整版本的RL相比,仍然微不足道。
這張圖出自Lambert自己撰寫的博客:
之后,他又專門發推進一步解釋:
RLHF勉強算是 RL,但
- 它仍然使RL比以往任何時候都更重要,并且
- RLHF可能比至今為止其他的RL更有影響力
很罕見的是,以上是為數不多力挺Karpathy的觀點。多數人還是站在了Karpathy的對立面反駁他。
評論區有網友直接回懟:「你就是看獎勵函數不順眼」。
Karpathy只能繼續解釋:
我的主要動機是想說,LLM遠未達到原則上所能達到的高度,它們還沒有像其他最近/流行的ASI演示那樣有相同的訓練方式。我想要直觀地指出這種差距的根源。
馬里蘭大學副教授Furong Huang的觀點更強調RLHF對LLM的價值。
當模型已經非常優秀時,RLHF是有幫助的,你只需通過收集用戶反饋來「修補問題」。
RL對于推理和規劃等更復雜的任務確實很重要,把LLM放到RL循環中有助于泛化和「熱啟動」RL。
Mila在讀博士、Meta研究員Pierluca D'Oro自己就在為agent開發獎勵模型,他同意Karpathy「RLHF不是真正的RL」的說法,但并不認為Karpathy預期的那種獎勵模型能夠實現。
我是一名科學家,致力于為智能體創建更好的獎勵模型,我不同意這篇推文的主要觀點。使用你無法完全信任的獎勵進行的RL也是RL,而且我認為這正是我們應該研究的RL。
是的,毫無疑問,當獎勵明確定義時,RL能夠最大程度地發揮作用。比如圍棋中的獲勝條件,就是明確的!我們不在乎智能體如何獲勝,只要它符合游戲規則即可。這些規則非常簡單,可以由人類直接編碼到智能體的設計中,或者智能體通過計算推斷出來。
但是如果對于一個復雜任務,不僅僅是「做什么」重要,而是「怎么做」也很重要呢?「怎么做」往往不像在圍棋中要求智能體下有效棋步那樣容易實現。對于人類來說,這通常來自于人類的常識、期望或榮譽。LLM的對齊正是通過RLHF來提取這種「怎么做」。
這也可以延伸到那些看似容易定義明確目標的(智能體)任務。想要一個好的電子游戲中的NPC?可以試試正式定義一個你可以100%信任的「樂趣」的概念,祝你好運。想要一個好的網絡智能體?試試正式定義一個你可以100%信任的「預期行為」的概念,祝你好運。想要一個好的分子?定義一個你可以100%信任的「毒性」的概念,祝你好運。
AI智能體旨在做對人類有益的事情。人類不僅有內部多樣性,而且極其復雜,顯然超出了我們能夠完全理解的范圍。我可以編寫一個我認為是「在NetHack游戲中實現這個目標」的代碼,然后發現我對「實現」的理解比智能體的定義更為細致,就像我們最近在Motif上的工作中所做的那樣。
我認為追求「完美獎勵」的雄心是無望的,我不認為大多數我們希望智能體表現出的行為存在這樣的概念。然而,我認為有一些方法有望在獎勵不完美的情況下實際提高RL的性能:
- 盡可能活躍的反饋循環,以優化智能體的獎勵函數
- 對錯誤獎勵更穩健的RL機制
- 減少人類與AI合作的摩擦
不過,我同意推文標題所說的,RLHF在用于微調LLM時幾乎不能算是RL。但對我來說,這主要是因為它的半離線性質,以及智能體缺乏主動收集自身數據的機會。這些可能是RL在處理模糊、復雜,以及潛在可被利用的獎勵函數時奏效的關鍵因素。
華盛頓大學助理教授、谷歌AI高級研究科學家Natasha Jaques的反對態度更鮮明,力挺RLHF方法:
這是一個不好的看法。在與人類互動時,給出人類喜歡的答案就是真正的目標。
超出分布不是RLHF獨有的問題。數據集中的人類反饋比運行無限的圍棋模擬更有限,但這并不意味著是不值得研究的方法,它只是一個更具挑戰性的問題,并且我們希望它是一個更有影響力的問題,因為減少LLM的偏見對人類的益處顯然多過比在圍棋上擊敗人類。使用貶義語言稱RM為「直覺判斷」是愚蠢的;你可以對價值估計提出同樣的論點。
發布這樣的內容只會阻礙人們研究RLHF,而目前這是唯一可行的方法來緩解LLM偏見和幻覺可能造成的嚴重危害。
本文轉自 新智元 ,作者:新智元
