AlphaGo 突破人類上限
1997 年,IBM 公司開發(fā)的國際象棋 AI 深藍,擊敗了世界冠軍卡斯帕羅夫而引發(fā)轟動;接近二十年后的 2016 年,由 DeepMind 開發(fā)的圍棋 AI AlphaGo 擊敗了圍棋世界冠軍李世石,再次引發(fā)轟動。
表面上看這兩個 AI 都是在棋盤上擊敗了最強的人類棋手,但它們對人類的意義完全不同。國際象棋的棋盤只有 64 個格子,而圍棋的棋盤有 19x19 個格子,假如我們用一盤棋能有多少種下法(狀態(tài)空間)來衡量復雜度,那么二者對比如下:
維度 | 國際象棋(深藍) | 圍棋(AlphaGo) |
---|---|---|
棋盤大小 | ||
平均每步合法走法 | ||
平均對局步數(shù) | ||
狀態(tài)空間復雜度 |
▲ 國際象棋和圍棋的復雜度對比
盡管規(guī)則大幅壓縮了復雜度,圍棋的實際狀態(tài)空間仍是國際象棋的 倍,這是一個巨大的量級差異,要知道,宇宙中的所有原子數(shù)量大約是 個。在范圍內(nèi)的計算,依賴 IBM 計算機可以暴力搜索計算出所有可能的走法,所以嚴格意義上來講,深藍的突破和神經(jīng)網(wǎng)絡、模型沒有一點關系,它只是基于規(guī)則的暴力搜索,相當于一個比人類快得多的計算器。
但的量級,已經(jīng)遠遠超出了當前超級計算機的算力,這迫使 AlphaGo 放棄暴力搜索,轉而依賴深度學習:DeepMind 團隊首先用人類棋譜進行訓練,根據(jù)當前棋盤狀態(tài)預測下一步棋的最佳走法。但是,學習頂尖棋手走法,只能讓模型的能力接近頂尖棋手,而無法超越他們。
AlphaGo 首先用人類棋譜訓練神經(jīng)網(wǎng)絡,然后通過設計一套獎勵函數(shù),讓模型自我對弈進行強化學習。和李世石對弈的第二局,AlphaGo 的第 19 手棋(第 37 步[^1])讓李世石陷入長考,這步棋也被很多棋手認為是“人類永遠不會下的一步”,如果沒有強化學習和自我對弈,只是學習過人類棋譜,AlphaGo 永遠無法下出這步棋。
2017 年 5 月,AlphaGo 以 3:0 擊敗了柯潔,DeepMind 團隊稱,有一個比它更強的模型 AlphaZero 還沒出戰(zhàn)。[^2] 他們發(fā)現(xiàn),其實根本不需要給 AI 喂人類高手的對局棋譜,只要告訴它圍棋的基本規(guī)則,讓模型自我對弈,贏了就獎勵、輸了就懲罰,模型就能很快從零開始學會圍棋并超越人類,研究人員把這個模型稱為 AlphaZero,因為它不需要任何人類知識。
讓我重復一遍這個不可思議的事實:無需任何人類棋局作為訓練數(shù)據(jù),僅靠自我對弈,模型就能學會圍棋,甚至這樣訓練出的模型,比喂人類棋譜的 AlphaGo 更強大。
在此之后,圍棋變成了比誰更像 AI 的游戲,因為 AI 的棋力已經(jīng)超越了人類的認知范圍。所以,想要超越人類,必須讓模型擺脫人類經(jīng)驗、好惡判斷(哪怕是來自最強人類的經(jīng)驗也不行)的限制,只有這樣才能讓模型能夠自我博弈,真正超越人類的束縛。
AlphaGo 擊敗李世石引發(fā)了狂熱的 AI 浪潮,從 2016 到 2020 年,巨額的 AI 經(jīng)費投入最終收獲的成果寥寥無幾。數(shù)得過來的的可能只有人臉識別、語音識別和合成、自動駕駛、對抗生成網(wǎng)絡等——但這些都算不上超越人類的智能。
為何如此強大的超越人類的能力,卻沒有在其他領域大放異彩?人們發(fā)現(xiàn),圍棋這種規(guī)則明確、目標單一的封閉空間游戲最適合強化學習,現(xiàn)實世界是個開放空間,每一步都有無限種可能,沒有確定的目標(比如“贏”),沒有明確的成敗判定依據(jù)(比如占據(jù)棋盤更多區(qū)域),試錯成本也很高,自動駕駛一旦出錯后果嚴重。
AI 領域冷寂了下來,直到 ChatGPT 的出現(xiàn)。
ChatGPT 改變世界
ChatGPT 被 The New Yorker 稱為網(wǎng)絡世界的模糊照片(ChatGPT Is a Blurry JPEG of the Web[^3]),它所做的只是把整個互聯(lián)網(wǎng)的文本數(shù)據(jù)送進一個模型,然后預測下一個字是什_
這個字最有可能是“么”。
一個參數(shù)量有限的模型,被迫學習幾乎無限的知識:過去幾百年不同語言的書籍、過去幾十年互聯(lián)網(wǎng)上產(chǎn)生的文字,所以它其實是在做信息壓縮:將不同語言記載的相同的人類智慧、歷史事件和天文地理濃縮在一個模型里。
科學家驚訝地發(fā)現(xiàn):在壓縮中產(chǎn)生了智能。
我們可以這么理解:讓模型讀一本推理小說,小說的結尾“兇手是_”,如果 AI 能準確預測兇手的姓名,我們有理由相信它讀懂了整個故事,即它擁有“智能”,而不是單純的文字拼貼或死記硬背。
讓模型學習并預測下一個字的過程,被稱之為預訓練(Pre-Training),此時的模型只能不斷預測下一個字,但不能回答你的問題,要實現(xiàn) ChatGPT 那樣的問答,需要進行第二階段的訓練,我們稱之為監(jiān)督微調(diào)(Supervised Fine-Tuning, SFT),此時需要人為構建一批問答數(shù)據(jù),例如:
# 例子一
人類:第二次世界大戰(zhàn)發(fā)生在什么時候?
AI:1939年
# 例子二
人類:請總結下面這段話....{xxx}
AI:好的,以下是總結:xxx
值得注意的是,以上這些例子是人工構造的,目的是讓 AI 學習人類的問答模式,這樣當你說“請翻譯這句:xxx”時,送給 AI 的內(nèi)容就是
人類:請翻譯這句:{xxx}AI:
你看,它其實仍然在預測下一個字,在這個過程中模型并沒有變得更聰明,它只是學會了人類的問答模式,聽懂了你在要求它做什么。
這還不夠,因為模型輸出的回答有時好、有時差,有些回答還涉及種族歧視、或違反人類倫理(“如何搶銀行?”),此時我們需要找一批人,針對模型輸出的幾千條數(shù)據(jù)進行標注:給好的回答打高分、給違反倫理的回答打負分,最終我們可以用這批標注數(shù)據(jù)訓練一個獎勵模型,它能判斷模型輸出的回答是否符合人類偏好。
我們用這個獎勵模型來繼續(xù)訓練大模型,讓模型輸出的回答更符合人類偏好,這個過程被稱為通過人類反饋的強化學習(RLHF)。
總結一下:讓模型在預測下一個字的過程中產(chǎn)生智能,然后通過監(jiān)督微調(diào)來讓模型學會人類的問答模式,最后通過 RLHF 來讓模型輸出符合人類偏好的回答。
大模型撞墻
OpenAI 的科學家們是最早堅信壓縮即智能的那批人,他們認為只要使用更海量優(yōu)質(zhì)的數(shù)據(jù)、在更龐大的 GPU 集群上訓練更大參數(shù)量的模型,就能產(chǎn)生更大的智能,ChatGPT 就是在這樣的信仰之下誕生的。Google 雖然做出了 Transformer,但他們無法進行創(chuàng)業(yè)公司那樣的豪賭。
DeepSeek V3 和 ChatGPT 做的事差不多,因為美國 GPU 出口管制,聰明的研究者被迫使用了更高效的訓練技巧(MoE/FP8),他們也擁有頂尖的基礎設施團隊,最終只用了 550 萬美元就訓練了比肩 GPT-4o 的模型,后者的訓練成本超過 1 億美元。
但本文重點是 R1。
這里想說的是,人類產(chǎn)生的數(shù)據(jù)在 2024 年底已經(jīng)被消耗殆盡了,模型的尺寸可以隨著 GPU 集群的增加,輕易擴大 10 倍甚至 100 倍,但人類每一年產(chǎn)生的新數(shù)據(jù),相比現(xiàn)有的幾十年、過去幾百年的數(shù)據(jù)來說,增量幾乎可以忽略不計。而按照 Chinchilla 擴展定律(Scaling Laws):每增加一倍模型大小,訓練數(shù)據(jù)的數(shù)量也應增加一倍。
RLHF 并不是 RL
另一方面,基于人類偏好的強化學習(RLHF)最大的問題是:普通人類的智商已經(jīng)不足以評估模型結果了。在 ChatGPT 時代,AI 的智商低于普通人,所以 OpenAI 可以請大量廉價勞動力,對 AI 的輸出結果進行評測:好/中/差,但很快隨著 GPT-4o/Claude 3.5 Sonnet 的誕生,大模型的智商已經(jīng)超越了普通人,只有專家級別的標注人員,才有可能幫助模型提升。
且不說聘請專家的成本,那專家之后呢?終究有一天,最頂尖的專家也無法評估模型結果了,AI 就超越人類了嗎?并不是。AlphaGo 對李世石下出第 19 手棋,從人類偏好來看,這步棋絕不可能贏,所以如果讓李世石來做人類反饋(Human Feedback, HF)評價 AI 的這步棋,他很可能也會給出負分。這樣,AI 就永遠無法逃出人類思維的枷鎖。
你可以把 AI 想象成一個學生,給他打分的人從高中老師變成了大學教授,學生的水平會變高,但幾乎不可能超越教授。RLHF 本質(zhì)上是一種討好人類的訓練方式,它讓模型輸出符合人類偏好,但同時它扼殺了超越人類的可能性。
所以我才說,RLHF 并不是 RL,最近 Andrej Karpathy 也發(fā)表了類似的看法[^4]。
OpenAI 的解法
丹尼爾·卡尼曼在《思考快與慢》里提出,人腦對待問題有兩種思考模式:一類問題不經(jīng)過腦子就能給出回答,也就是快思考,一類問題需要類似圍棋的長考才能給出答案,也就是慢思考。
既然訓練已經(jīng)到頭了,那可否從推理,也就是給出回答的時候,通過增加思考時間,從而讓回答質(zhì)量變好呢?這其實也有先例:科學家很早就發(fā)現(xiàn),給模型提問時加一句:“讓我們一步一步思考”("Let's think step by step"),可以讓模型輸出自己的思考過程,最終給出更好的結果,這被稱為思維鏈(Chain-of-Thought, CoT)。
2024 年底大模型預訓練撞墻后,使用強化學習(RL)來訓練模型思維鏈成為了所有人的新共識。這種訓練極大地提高了某些特定、客觀可測量任務(如數(shù)學、編碼)的性能。它需要從普通的預訓練模型開始,在第二階段使用強化學習訓練推理思維鏈,這類模型被稱為 Reasoning 模型,OpenAI 在 2024 年 9 月發(fā)布的 o1 模型以及隨后發(fā)布的 o3 模型,都是 Reasoning 模型。
不同于 ChatGPT 和 GPT-4/4o,在 o1/o3 這類 Reasoning 模型 的訓練過程中,人類反饋已經(jīng)不再重要了,因為可以自動評估每一步的思考結果,從而給予獎勵/懲罰。Anthropic 的 CEO 在前幾天的文章中[^5]用轉折點來形容這一技術路線:存在一個強大的新范式,它處于 Scaling Law 的早期,可以快速取得重大進展。
DeepSeek R1-Zero
我猜 DeepSeek 將自己的純強化學習模型命名為 R1-Zero 也是在致敬 AlphaZero,那個通過自我對弈、不需要學習任何棋譜就能超越最強棋手的算法。
要訓練慢思考模型,首先要構造質(zhì)量足夠好的、包含思維過程的數(shù)據(jù),并且如果希望強化學習不依賴人類,就需要對思考的每一步進行定量(好/壞)評估,從而給予每一步思考結果獎勵/懲罰。
正如上文所說:數(shù)學和代碼這兩個數(shù)據(jù)集最符合要求,數(shù)學公式的每一步推導都能被驗證是否正確,而代碼的輸出結果以通過直接在編譯器上運行來檢驗。
舉個例子,在數(shù)學課本中,我們經(jīng)常看到這樣的推理過程:
<思考>
設方程根為x, 兩邊平方得: x2 = a - √(a+x)
移項得: √(a+x) = a - x2
再次平方: (a+x) = (a - x2)2
展開: a + x = a2 - 2a x2 + x?
整理: x? - 2a x2 - x + (a2 - a) = 0
</思考>
<回答>x? - 2a x2 - x + (a2 - a) = 0</回答>
上面這段文本就包含了一個完整的思維鏈,我們可以通過正則表達式匹配出思考過程和最終回答,從而對模型的每一步推理結果進行定量評估。
和 OpenAI 類似,DeepSeek 的研究者基于 V3 模型,在數(shù)學和代碼這兩類包含思維鏈的數(shù)據(jù)上進行了強化學習(RL)訓練,他們創(chuàng)造了一種名為 GRPO(Group Relative Policy Optimization)的強化學習算法,最終得到的 R1-Zero 模型在各項推理指標上相比 DeepSeek V3 顯著提升,證明僅通過 RL 就能激發(fā)模型的推理能力。
這是另一個 AlphaZero 時刻,在 R1-Zero 的訓練過程,完全不依賴人類的智商、經(jīng)驗和偏好,僅靠 RL 去學習那些客觀、可測量的人類真理,最終讓推理能力遠強于所有非 Reasoning 模型。
但 R1-Zero 模型只是單純地進行強化學習,并沒有進行監(jiān)督學習,所以它沒有學會人類的問答模式,無法回答人類的問題。并且,它在思考過程中,存在語言混合問題,一會兒說英語、一會兒說中文,可讀性差。所以 DeepSeek 團隊:
這個過程大概就是:
監(jiān)督學習(SFT) -> 強化學習(RL) -> 監(jiān)督學習(SFT) -> 強化學習(RL)
經(jīng)過以上過程,就得到了 DeepSeek R1。
DeepSeek R1 給世界的貢獻是開源世界上第一個比肩閉源(o1)的 Reasoning 模型,現(xiàn)在全世界的用戶都可以看到模型在回答問題前的推理過程,也就是“內(nèi)心獨白”,并且完全免費。
更重要的是,R1-Zero向研究者們揭示了 OpenAI 一直在隱藏的秘密:強化學習可以不依賴人類反饋,純 RL 也能訓練出最強的 Reasoning 模型。所以在我心目中,R1-Zero 比 R1 更有意義。
對齊人類品味 VS 超越人類
幾個月前,我讀了 Suno 和 Recraft 創(chuàng)始人們的訪談[^6][^7],Suno 試圖讓 AI 生成的音樂更悅耳動聽,Recraft 試圖讓 AI 生成的圖像更美、更有藝術感。讀完后我有一個朦朧的感覺:將模型對齊到人類品味而非客觀真理,似乎就能避開真正殘酷的、性能可量化的大模型競技場。
每天跟所有對手在 AIME、SWE-bench、MATH-500 這些榜單上競爭多累啊,而且不知道哪天一個新模型出來自己就落后了。但人類品味就像時尚:不會提升、只會改變。Suno/Recraft 們顯然是明智的,他們只要讓行業(yè)內(nèi)最有品味的音樂人和藝術家們滿意就夠了(當然這也很難),榜單并不重要。
但沒有客觀真理作為Benchmark的壞處也很明顯:你的努力和心血帶來的效果提升也很難被量化,比如,Suno V4 真的比 V3.5 更好嗎?我的經(jīng)驗是 V4 只是音質(zhì)提升了,創(chuàng)造力并沒有提升。并且,依賴人類品味的模型注定無法超越人類:如果 AI 推導出一個超越當代人類理解范圍的數(shù)學定理,它會被奉為上帝,但如果 Suno 創(chuàng)造出一首人類品味和理解范圍外的音樂,在普通人耳朵里聽起來可能就只是單純的噪音。
對齊客觀真理的競爭痛苦但讓人神往,因為它有超越人類的可能。
對質(zhì)疑的一些反駁
DeepSeek 的 R1 模型,是否真的超越了 OpenAI?
從指標上看,R1 的推理能力超越了所有的非 Reasoning 模型,也就是 ChatGPT/GPT-4/4o 和 Claude 3.5 Sonnet,與同為 Reasoning 模型 的 o1 接近,遜色于 o3,但 o1/o3 都是閉源模型。
很多人的實際體驗可能不同,因為 Claude 3.5 Sonnet 在對用戶意圖理解上更勝一籌。
DeepSeek 會收集用戶聊天內(nèi)容用于訓練
錯。很多人有個誤區(qū),認為類似 ChatGPT 這類聊天軟件會通過收集用戶聊天內(nèi)容用于訓練而變得更聰明,其實不然,如果真是這樣,那么微信和 Messenger 就能做出世界上最強的大模型了。
相信你看完這篇文章之后就能意識到:大部分普通用戶的日常聊天數(shù)據(jù)已經(jīng)不重要了。RL 模型只需要在非常高質(zhì)量的、包含思維鏈的推理數(shù)據(jù)上進行訓練,例如數(shù)學和代碼。這些數(shù)據(jù)可以通過模型自己生成,無需人類標注。因此 做模型數(shù)據(jù)標注的公司 Scale AI 的 CEO Alexandr Wang 現(xiàn)在很可能正如臨大敵,未來的模型對人類標注需求會越來越少。
DeepSeek R1 厲害是因為偷偷蒸餾了 OpenAI 的模型
錯,R1 最主要的性能提升來自強化學習,你可以看到純 RL、不需要監(jiān)督數(shù)據(jù)的 R1-Zero 模型在推理能力上也很強。而 R1 在冷啟動時使用了一些監(jiān)督學習數(shù)據(jù),主要是用于解決語言一致性問題,這些數(shù)據(jù)并不會提升模型的推理能力。
另外,很多人對蒸餾有誤解:蒸餾通常是指用一個強大的模型作為老師(Teacher),將它的輸出結果作為一個參數(shù)更小、性能更差的學生(Student)模型的學習對象,從而讓學生模型變得更強大,例如 R1 模型可以用于蒸餾 LLama-70B,蒸餾的學生模型性能幾乎一定比老師模型更差,但 R1 模型在某些指標性能比 o1 更強,所以說 R1 蒸餾自 o1 是非常愚蠢的。
我問 DeepSeek 它說自己是 OpenAI 的模型,所以它是套殼的。
大模型在訓練時并不知道當前的時間,自己究竟被誰訓練、訓練自己的機器是 H100 還是 H800,X 上有位用戶給出了精妙的比喻[^8]:這就像你問一個 Uber 乘客,他坐的這輛車輪胎是什么品牌,模型沒有理由知道這些信息。
一些感受
AI 終于除掉了人類反饋的枷鎖。DeepSeek R1-Zero 展示了如何使用幾乎不使用人類反饋來提升模型性能的方法,這是它的 AlphaZero 時刻。很多人曾說“人工智能,有多少人工就有多少智能”,這個觀點可能不再正確了。如果模型能根據(jù)直角三角形推導出勾股定理,我們有理由相信它終有一天,能推導出現(xiàn)有數(shù)學家尚未發(fā)現(xiàn)的定理。
寫代碼是否仍然有意義?我不知道。今早看到 Github 上熱門項目 llama.cpp,一個代碼共享者提交了 PR,表示他通過對 SIMD 指令加速,將 WASM 運行速度提升 2 倍,而其中 99%的代碼由 DeepSeek R1 完成[^9],這肯定不是初級工程師級別的代碼了,我無法再說 AI 只能取代初級程序員。
當然,我仍然對此感到非常高興,人類的能力邊界再次被拓展了,干得好 DeepSeek!它是目前世界上最酷的公司。