昨天,Thinking Maching Lab 研究者、斯坦福大學博士生 Zitong Yang 正式完成了他的博士論文答辯,課題為「持續(xù)自我提升式 AI」(Continually self-improving AI),并且他在答辯完成后很快就放出了自己的答辯視頻,從中我們可以看到他對未來 AI 發(fā)展路徑的系統(tǒng)性探索。針對當前模型在訓練后權(quán)重靜態(tài)化、高質(zhì)量人類數(shù)據(jù)面臨枯竭,以及新算法發(fā)現(xiàn)高度依賴人力這三大局限,他提出了明確的解決方案。
![]()
https://x.com/ZitongYang0/status/2029034067992437139
在本次答辯中,Zitong Yang 主要分享了三個核心研究方向。
首先是「合成持續(xù)訓練」范式,團隊利用實體圖合成數(shù)據(jù)生成技術(shù),讓模型在預(yù)訓練之后依然能持續(xù)學習小眾領(lǐng)域知識,同時避免災(zāi)難性遺忘。
其次是探索預(yù)訓練能力的自我提升,通過「合成引導(dǎo)預(yù)訓練」技術(shù),讓模型自主挖掘龐大文檔間的潛在結(jié)構(gòu)與關(guān)聯(lián),進一步優(yōu)化自身的預(yù)訓練效果并顯著降低事實錯誤率。
最后,他展示了「邁向 AI 設(shè)計 AI」的潛力,通過構(gòu)建包含代碼庫和價值函數(shù)的獨立研究環(huán)境,引入演化搜索機制,讓模型自主提出算法思路、編寫代碼并運行實驗。
Zitong Yang 在總結(jié)中指出,正如愛因斯坦創(chuàng)造的場方程能夠預(yù)言連其本人最初都無法接受的宇宙膨脹一樣,人類基于算法過程所創(chuàng)造出的智能體,也完全擁有進化出超越創(chuàng)造者智能水平的必然性。
其答辯委員會的陣容也非常強大,主席為斯坦福大學電氣工程、計算機科學與管理科學教授 Stephen Boyd,另外還包括斯坦福大學計算機科學教授 Percy Liang、數(shù)學和統(tǒng)計學教授 Emmanuel Candès、計算機科學助理教授 Tatsunori Hashimoto 以及前段時間剛剛離開 Meta 加入 OpenAI 的龐若鳴。
這條推文也收獲了諸多行業(yè)大佬的點贊,包括 Thinking Maching Lab CEO、前 OpenAI CTO Mira Murati 和 PyTorch 之父 Soumith Chintala 等。
![]()
![]()
下面是對 Zitong Yang 答辯內(nèi)容的整理。
題目:Continually self-improving AI
地址:https://zitongyang.github.io/slides/ZitongYang_defense_slides.pdf
持續(xù)自我提升式 AI
![]()
我本次答辯的題目是「持續(xù)自我改進式 AI」,首先我想嘗試定義一下我想要構(gòu)建的系統(tǒng)。
所謂持續(xù)自我改進式 AI 系統(tǒng),是指一旦被創(chuàng)造出來,就能自主且持續(xù)地進行自我改進,并且其改進效果要優(yōu)于人類創(chuàng)造者對它的改進。
![]()
為了使這個定義更加精確和實用,我認為我們應(yīng)該從一些假設(shè)出發(fā),縮小我們所討論的 AI 系統(tǒng)的范圍,這樣我們提出的主張也會更加嚴謹。因此,在本次演講中,我們探討的 AI 系統(tǒng)僅限于滿足以下兩個假設(shè)的情況。
第一個假設(shè)是參數(shù)化的,即 AI 系統(tǒng)基于一個或多個神經(jīng)網(wǎng)絡(luò),知識被存儲在一組明確定義的參數(shù)權(quán)重中;第二個假設(shè)是 AI 系統(tǒng)必須經(jīng)過預(yù)訓練。AI 系統(tǒng)經(jīng)歷了一個資源密集型的預(yù)訓練階段,在這個階段中,它接收包含大部分或全部人類知識的訓練信號,并將其轉(zhuǎn)化為參數(shù)權(quán)重。
![]()
在這兩個假設(shè)下,持續(xù)自我改進式 AI 應(yīng)該具備三個特性:
![]()
在初始預(yù)訓練階段之后,系統(tǒng)能夠繼續(xù)獲取新知識并融入其參數(shù)權(quán)重中,而不會災(zāi)難性地遺忘舊知識。
系統(tǒng)能夠生成自身的訓練信號,并且通過學習這種自生成的信號所帶來的提升,要超越學習人類生成信號所帶來的提升。
系統(tǒng)能夠自主設(shè)計學習算法,以便從其訓練信號中進行學習。
一旦我們確立了這些假設(shè),這個定義就是精確的。這些假設(shè)的初衷顯然是為了涵蓋我們今天所見到的所有大型語言模型(LLM)或相關(guān)范式。但是,它們排除了早期國際象棋游戲中那種硬編碼的智能。
為什么需要持續(xù)自我改進式 AI?
那么,為什么我們希望 AI 系統(tǒng)具備這三種能力呢?我認為這源于人類創(chuàng)造者固有的三個局限性。
首先,在人類創(chuàng)造它們之后,它們的權(quán)重是靜態(tài)的。
![]()
在與 ChatGPT 或 Claude 的典型對話中,一開始你可能有 100 輪對話,然后你會經(jīng)歷一個上下文壓縮階段,試圖總結(jié)到目前為止的對話。在這之后,如果你試圖問 AI 之前發(fā)生過什么,它不會有完美的記憶,因為隨著上下文變長,壓縮是一個非常容易丟失信息的有損過程。但對于人類記憶來說,也許你在前 100 輪對話后睡了一覺,你的記憶轉(zhuǎn)移到了大腦的其他部分,然后你還能隱約記得你之前談?wù)撨^的一些事情。
第二個局限性是在有限的人類數(shù)據(jù)下進行擴展。
![]()
在左邊,我們展示了 Scaling Law。X 軸代表語言模型訓練的 token 數(shù)量,Y 軸代表測試損失。在右邊,我們有 Epoch AI 的預(yù)測:隨著時間的推移,前沿語言模型所使用的 token 數(shù)量正迅速逼近互聯(lián)網(wǎng)上公開可用的 token 總量。當然,人們正試圖購買和獲取私有領(lǐng)域的數(shù)據(jù)。但同樣的邏輯依然適用,即人類數(shù)據(jù)是有限的,并且隨著我們想要訓練越來越深的神經(jīng)網(wǎng)絡(luò),這些數(shù)據(jù)正在被耗盡。
第三,當前的 AI 系統(tǒng)在某種意義上受限于人類所能發(fā)現(xiàn)的算法。
![]()
如果我們思考一下人類是如何提出算法的:它經(jīng)歷了一個產(chǎn)生想法的過程(例如最大似然估計),然后進行實驗(這可能是編寫代碼或進行數(shù)學推導(dǎo)),最終你得到一些研究成果;隨后其他人在此基礎(chǔ)上繼續(xù)研究,這個循環(huán)再次開始。這個過程極其依賴人力,并且成本非常高昂。因此,我們發(fā)現(xiàn)的僅僅是所有可能算法中的一個子集,而我們希望利用 AI 本身來使這個過程自動化。
接下來將從以下這三個方面展開:
![]()
持續(xù)知識獲取:合成持續(xù)訓練范式
第一個方面:持續(xù)知識獲取。
在此之前,我想說明一下,本論文包含了四篇文章,所有這些都是與合作者的共同研究成果,特別是那些標注了同等貢獻的合作者。在這段旅程中能與各位共事,我感到非常榮幸。
![]()
為了在訓練后不斷獲取新知識,我們提出了這種名為「合成持續(xù)訓練(Synthetic continuing)」的范式。
![]()
這里的目標是,我們希望將來自僅包含少量源文檔的小眾領(lǐng)域的知識教授給語言模型。
隨之而來的一個自然的問題是:為什么這個過程必須使用合成數(shù)據(jù)?
我們提出了以下觀察:如果沒有合成數(shù)據(jù),知識可能是稀疏的。
![]()
如果我們對比模型對線性代數(shù)的知識,與對 GitHub 上新發(fā)布的一個代碼庫的了解程度,模型對線性代數(shù)有著極其完美的記憶和深入的理解;但如果你問它關(guān)于這個新代碼庫的問題,比如抽象和 token 計算機之間的關(guān)系是什么,模型可能甚至不理解這個問題在問什么。通過這種對比我們發(fā)現(xiàn),模型從各種各樣的互聯(lián)網(wǎng)數(shù)據(jù)中獲取線性代數(shù)知識,這些數(shù)據(jù)包括許多教科書、講義、關(guān)于線性代數(shù)習題的在線討論,甚至包括 GitHub 上奇異值分解的代碼實現(xiàn),而對于新發(fā)布的代碼庫來說,這種多樣化的表征根本不存在。這就是我們?yōu)槭裁葱枰铣蓴?shù)據(jù)的原因。
為了將這個提案轉(zhuǎn)化為具體的實驗設(shè)置,我們需要兩樣東西來確保實驗的嚴謹性。
第一,我們需要收集一些小眾領(lǐng)域的源文檔,并且這不能是語言模型已經(jīng)知道的內(nèi)容。
第二,我們需要一個任務(wù)來測試模型對這些源文檔的了解程度,以便我們追蹤進展。在本文中,我們使用了該團隊構(gòu)建的 QuALITY 數(shù)據(jù)集,它同時滿足源文檔和問答任務(wù)這兩個標準。
![]()
關(guān)于源文檔,它是一個包含 265 本專業(yè)書籍的數(shù)據(jù)集,總計約 180 萬個 token,這些內(nèi)容都是模型未曾接觸過的。至于測試部分,它包含約 4000 個高質(zhì)量的多項選擇問答題。這使得評估和解析變得非常簡單,并且題目數(shù)量足夠大,可以獲得可靠的信號。
![]()
有了這兩個設(shè)置,回顧一下我們的目標:我們希望模型在不提供上下文書籍的情況下回答問題。所以這就好比是一場閉卷考試。源文檔是高質(zhì)量的書籍,任務(wù)是閉卷問答。
![]()
在這個設(shè)置下,我們評估了一些靜態(tài)模型,以了解該任務(wù)的難度。
![]()
這是四選一的選擇題,所以隨機瞎蒙的準確率是 25%。我們要微調(diào)的模型是 Llama 3 基礎(chǔ)模型,它開箱即用的準確率只有 39%。一個順理成章的做法是直接在原始數(shù)據(jù)本身上進行微調(diào)。我們稱之為原始的持續(xù)預(yù)訓練,我們發(fā)現(xiàn)準確率實際上略有下降。這是因為 token 的數(shù)量實在太少了,除非你進行合理數(shù)量的回放(replay),否則你的 batch 設(shè)置和學習率規(guī)劃都沒有被正確設(shè)定。此外,我們還有兩個來自閉源模型的靜態(tài)參考, GPT-3.5 和 GPT-4,我們看到它們的準確率分別在 44% 和 45% 左右,所以這是一個模型擁有一定相關(guān)知識的基準測試,它不是完全隨機的,但也絕對達不到 60% 之類的水平。
那么問題來了,我們該如何生成合成數(shù)據(jù)呢?
我們考慮的一個非常簡單的基準做法,就是直接重寫這篇論文提出的文檔。讓我們來看看它的表現(xiàn)。
在這里的圖表中, X 軸是我們在重寫過程中生成的合成 token 的數(shù)量。在重寫過程中,我們的提示詞實際上就是:「這是一本書,你能像維基百科文章一樣重寫它嗎」。我們有一組四個固定的提示詞,并且我們迭代地將它們應(yīng)用于本書。在這個過程中,我們可以看到雖然取得了一些成功,準確率有所提高,但斜率并不算陡峭,最終達到的最高點也不是很高。
![]()
我們認為,重寫數(shù)據(jù)之所以存在這種問題,是因為缺乏多樣性。因為我們一遍又一遍地重復(fù)相同的提示詞,我們所依賴的只是通過調(diào)整生成溫度來讓模型生成不同的數(shù)據(jù),而當你經(jīng)歷 200 或 300 次迭代后,你得到的數(shù)據(jù)基本上是一樣的。
![]()
實體圖合成數(shù)據(jù)生成
它缺乏多樣性,這就是為什么我們提出了這種稱為「實體圖(EntiGraph)合成數(shù)據(jù)生成」的數(shù)據(jù)增強技術(shù)。
![]()
實體圖的操作方式在精神上類似于單純的重寫,但它通過一個兩階段的過程增強了這一操作。我們首先從這里的源文檔開始,這些源文檔就像是來自 QuALITY 書籍的示例,然后我們將從書中提取實體。在這里,我們只需提示語言模型:「這是源文檔,書中有哪些核心實體能幫助我很好地理解這篇文章?」模型會輸出一個字符串列表。然后我們應(yīng)用關(guān)系描述的提示詞,我們只需隨機抽取實體的一個子集。接著,我們讓模型描述這些實體之間的關(guān)系。模型會生成諸如「在某某背景下,這兩個實體之間的相互作用是……」之類的內(nèi)容,這就能讓我們擁有用于訓練的多樣化數(shù)據(jù)。
所以它與重寫之間的區(qū)別在于,在提示詞中你總是在改變實體;當你在提示詞中改變一個 token 時,這是一個非常非線性的過程,因為你實際上是在改變詞向量,模型的輸出會有很大的差異,因此你獲得了多樣化的語料用于合成持續(xù)訓練,這就是它在實踐中的運作方式。
我們看到,隨著我們生成越來越多的 token,問答的準確率不斷提高,并且它有一個好得多的截距。此外,其斜率也遠優(yōu)于參考基準。因此,這就是最終的成果:如果正確使用合成數(shù)據(jù),可以產(chǎn)生極具規(guī)模效應(yīng)的改進。
![]()
以上是閉卷考試部分的主要結(jié)果。接下來,我們考慮一個不同的任務(wù) —— 開卷問答,這是一個非常自然的任務(wù)。這里我們看第二行,關(guān)于書籍訪問權(quán)限:閉卷、開卷、閉卷、開卷。這意味著,當你向模型提出有關(guān) QuALITY 的問題時。「閉卷」意味著你不提供任何上下文;而「開卷」意味著你提供問題所依據(jù)的確切書籍文本,然后讓模型來回答問題。開卷考試有點像測試模型的閱讀理解能力,就像 SAT 考試一樣。對于我們繼續(xù)進行實驗的 Llama 3 API 模型,我們和之前一樣以 39% 的準確率起步,而開卷測試將其提升到了 60%,這是非常高的。
![]()
對于實體圖方法,在閉卷情況下,我們的準確率大約是 56%,雖然這并沒有完全填補與開卷測試的差距,但我們發(fā)現(xiàn),如果你將開卷方法和持續(xù)預(yù)訓練結(jié)合起來,實際上能得到最好的結(jié)果。這意味著它們的改進是互補的。
這張表格傳達的意義是,合成持續(xù)預(yù)訓練加上檢索工具可以帶來更好的效果歸因。我認為這非常有意義,因為在實踐中,假設(shè)你想為你的公司或業(yè)務(wù)設(shè)計一個語言模型,你要抓住任何可以提升性能的機會,你應(yīng)該設(shè)計所有最好的方法,比如合成訓練,或者結(jié)合工具使用,設(shè)計出最佳的可用工具以獲得最佳性能。我認為這可能是未來將開源語言模型適配到個性化應(yīng)用場景的一種范式。
預(yù)訓練能力的自我提升
這就解決了我們期望的第一個特性,即我們希望模型在回到人類創(chuàng)造者手中后能夠持續(xù)獲取知識。第二點是,我們希望自我改進模型本身的預(yù)訓練能力。
在此之前,我想談?wù)劄槭裁次覀円谝膺@里的訓練。我致力于這個項目的原因源于我在 o1 論文發(fā)表時積累的 s1 經(jīng)驗。那是推理還非常新穎的時候,大約在 2024 年的 9 月或 10 月。我記得在那個時候,AI 推理這種事情還很難想象。所以當時的猜測是,他們肯定耗費了大量資源(比如人工標注)來構(gòu)建這個模型。
![]()
但我們在這篇論文中展示的是,僅僅對 10,000 條思維鏈數(shù)據(jù)執(zhí)行監(jiān)督微調(diào),就能提供達到 o1-preview 級別的能力。這是 s1 和 o1-preview 之間的對比。這讓我意識到,后訓練能力就像是對預(yù)訓練知識的一種極其奇妙的泛化。
因此,從某種意義上說,預(yù)訓練才是主心骨。困惑度揭示了模型能力的核心,它通常與預(yù)訓練的數(shù)據(jù)規(guī)模和模型規(guī)模有更大的相關(guān)性。因此,為了見證真正的自我改進,你必須看到在訓練層面上的自我改進,而不僅僅是我們之前項目中看到的中期訓練或后訓練層面的改進。
既然我們的目標是解決預(yù)訓練問題,我們先停下來思考一下:預(yù)訓練中的知識到底從何而來?
![]()
為了回答這個問題,我提出了這樣一個思想實驗。假設(shè)世界上只有 5 個 token : A、B、C、D 和 E,而我們用于訓練的文本文檔只是像這種格式的隨機字符串,所以在每個位置,我們都在這些 token 中均勻隨機地采樣一個字符,因此它不是一個馬爾可夫鏈。它就像一個完全平穩(wěn)的過程。
如果我們用 Transformer 語言模型在這些文本上執(zhí)行下一個 token 預(yù)測,我們將看不到任何有意義的學習信號,因為在初始化時,模型會給每個 token 分配 20% 的概率。這與你的訓練數(shù)據(jù)所規(guī)定的概率是一樣的。所以當你在訓練時,你實際上并沒有學到任何東西。
但這顯然不是自然語言文本的樣子。自然語言文本比隨機字符串擁有更多的結(jié)構(gòu)。在撰寫這篇論文的過程中,共同作者之間進行了許多有趣的討論,探討這種結(jié)構(gòu)究竟是什么。
我將這些討論總結(jié)為兩種互補的觀點。
一種統(tǒng)計學觀點是,將自然語言中的 token 視為從某種分布中抽取的隨機變量,并且這些 token 彼此之間存在統(tǒng)計相關(guān)性。
另一種更偏向計算層面的觀點,即更接近香農(nóng)最初提出的理論是,自然語言文本具有允許其被壓縮的模式,而下一個 token 預(yù)測本質(zhì)上是在進行信源編碼以壓縮文本。但拋開具體觀點不談,無論是統(tǒng)計學還是計算學的視角, token 之間確實存在使得模型能夠?qū)W習的結(jié)構(gòu)性相關(guān)性。
所以,如果預(yù)訓練的知識就是來源于此,我認為,在當前的預(yù)訓練范式中,遺漏了一個豐富但未被充分利用的相關(guān)性來源。即現(xiàn)有的互聯(lián)網(wǎng)文檔之間存在極其豐富的相關(guān)性。
例如,《哈利?波特》這本書與三年后其電影版劇本之間的相關(guān)性;或者《Attention is All You Need 》這篇論文與 GPT-2 代碼庫之間的相關(guān)性。比如在代碼的第 91 行,它實現(xiàn)了點積注意力機制,而在《 Attention is All You Need 》論文中的某個地方,他們確切地用英語寫了「dot-product attention」。因此,英文短語「dot-product attention」與 Python 代碼實現(xiàn)之間存在著這種相關(guān)性。
![]()
合成引導(dǎo)預(yù)訓練
我們將要采用的技術(shù)是,希望通過合成數(shù)據(jù)等手段來利用這種跨文檔的相關(guān)性。鑒于我們要使用合成數(shù)據(jù),我們必須確保我們所看到的是預(yù)訓練能力的普遍引導(dǎo)提升,而不僅僅是從教師模型中進行的知識蒸餾。 因此,我們會遵循以下三個步驟:
首先,我們使用固定數(shù)量的數(shù)據(jù)從頭預(yù)訓練一個語言模型;
然后,在不引入任何新文本的情況下,我們將該模型微調(diào)為一個合成數(shù)據(jù)生成器。
最后,我們將真實數(shù)據(jù)和合成數(shù)據(jù)結(jié)合起來重新預(yù)訓練語言模型,以此來提升性能。
![]()
如果我們能成功驗證這條流水線,我們就看到了一種對預(yù)訓練能力的真正自我改進。這正是「合成引導(dǎo)預(yù)訓練(Synthetic Bootstrap Pre-training)」。
![]()
為了實施這項技術(shù),它包含了三個操作步驟。
第一步,我們進行這種最近鄰詞向量編碼計算。我們使用了 DCLM 數(shù)據(jù)集的一個子集,然后將其輸入到 Qwen 6 的 embedding 模型中,我們就會得到類似這樣的結(jié)果。這些詞向量會對相似度進行編碼。例如, Transformer 的論文將會在距離上非常靠近它的 PyTorch 實現(xiàn)代碼。
接下來的第二步是,將這些相鄰的文檔連接成圖,并執(zhí)行合成微調(diào)。
合成微調(diào)的具體做法是:把一個經(jīng)過預(yù)訓練的檢查點作為語言模型的初始化狀態(tài)(這里的預(yù)訓練檢查點指的是已經(jīng)在所有真實數(shù)據(jù)上訓練過的模型);然后通過類似 SFT (監(jiān)督微調(diào))的目標對模型進行微調(diào)。
![]()
在這個過程中,以圖中相鄰的一側(cè)文檔作為條件,試圖最大化另一側(cè)相鄰文檔的對數(shù)概率。這里需要說明的是,每一個源文檔(d1)可能對應(yīng)多個目標文檔(d2)。這個過程會極大程度地增加模型的熵,例如,如果每個 d1 對應(yīng) 20 個 d2,那么在邏輯回歸下,最大似然估計的分布就會像黑墻一樣,將均勻的概率質(zhì)量分配給每一個文檔。因此,經(jīng)過這種微調(diào)后,你的模型會處于極高熵的狀態(tài)。
在這個過程之后,因為模型存在很多誤差,所以在我們生成合成數(shù)據(jù)時,我們不使用任何花哨的提示詞技巧,只是直接使用溫度為 1 的設(shè)置,對你所擁有的所有真實文檔反復(fù)應(yīng)用溫度為 1 的生成過程。
![]()
舉例來說,如果你有一篇不那么長的小說,你會得到一段對這篇小說的合成評論。這就能讓你獲得極其多樣化的合成內(nèi)容。
![]()
為了讓大家了解在這種類似于無條件生成范式下生成的內(nèi)容是什么樣子的,這里展示一個我們訓練中的例子。在左側(cè),這是一份來自 DCLM 數(shù)據(jù)集的真實文檔。它討論了圣地亞哥的咖啡館,基本上是列出了不同的咖啡館。
而右側(cè)的合成文檔,內(nèi)容開始像是在講述一趟圣地亞哥之旅,然后它開始把焦點轉(zhuǎn)向濃縮咖啡機,而濃縮咖啡機并非源文檔關(guān)注的內(nèi)容。也就是說,模型完全自主地想出了這個主意,這也展示了合成內(nèi)容的多樣性。我們還有另一篇不同的合成文章,試圖將圣地亞哥的咖啡館與紐約進行對比,而「紐約」這個詞根本沒有在真實文檔中出現(xiàn)過。這就是為了讓大家體會一下這種生成過程會呈現(xiàn)出什么樣的感覺。在我們準備好所有這些真實數(shù)據(jù)和合成數(shù)據(jù)之后,我們將用它們混合在一起來進行訓練。
這就是「合成引導(dǎo)預(yù)訓練」算法層面的內(nèi)容。接下來為了將其付諸實踐,我們需要一個實驗設(shè)計。
對于這個設(shè)置,你主要需要三個組件:數(shù)據(jù)、模型架構(gòu)和評估基準。
![]()
關(guān)于數(shù)據(jù)我們之前已經(jīng)討論過了;在架構(gòu)方面,我們使用了 Llama 3 的架構(gòu),并額外加上了 QK LayerNorm,我們發(fā)現(xiàn)這有助于穩(wěn)定訓練過程;在評估方面,我們采用了六項問答準確率、 Few-shot 問答準確率以及三項困惑度評估,這些都是常用于預(yù)訓練階段的指標。在這個設(shè)置下,我們進行了計算量匹配的對比:我們的基準是通過簡單的重復(fù)來復(fù)用固定數(shù)量的數(shù)據(jù)。這非常直接明了。對于合成引導(dǎo)預(yù)訓練,我們以基準為參考,控制了兩個變量。
首先是相同的數(shù)據(jù),我們沒有使用任何額外的數(shù)據(jù)源,否則就成作弊了。
其次,我們控制了訓練的計算量,以確保整個過程的總訓練周期是相同的。我在這里要強調(diào)的是,我們并沒有控制總的絕對計算量,比如生成合成數(shù)據(jù)的所有推理成本等。從這個角度來看,合成引導(dǎo)預(yù)訓練(SBPT)使用了更多的算力,我們僅僅是控制了預(yù)訓練階段的計算量。
區(qū)別在于,每當基準方法試圖重復(fù)數(shù)據(jù)時,我們使用的是合成數(shù)據(jù),而不是簡單的復(fù)制。最后,為了將 SBPT 和基準測試的性能置于更廣的背景下比較,我們還引入了 Oracle 過程:在這里我們不再控制對相同數(shù)據(jù)的訪問限制,但我們依然控制使用相同的計算量。這個作為參考的 Oracle 基準可以使用無限的真實數(shù)據(jù)。 所以它試圖模擬這樣一種情況:如果數(shù)據(jù)永遠增長下去會發(fā)生什么。
讓我們先從更能反映定性結(jié)果的訓練動態(tài)開始,試圖直觀地告訴你它是如何運作的。
![]()
X 軸代表訓練 token 的數(shù)量, Y 軸代表在 OpenWebText2 上的測試損失。一開始我們可以看到, Oracle 和基準測試的表現(xiàn)很相似,但它們都不及合成引導(dǎo)預(yù)訓練的效果。我認為它們兩者表現(xiàn)相似是很有道理的,因為基準方法只是單純的重復(fù)數(shù)據(jù),當你的訓練計算量不大時,它們的表現(xiàn)或多或少是一樣的。但隨后基準方法就會飽和。當 Oracle 的損失繼續(xù)下降時,基準方法的曲線開始變平,這是因為它一遍又一遍地重復(fù)相同的訓練信號。它再也無法從中獲取新知識了。但是,到了最后階段, Oracle 和合成引導(dǎo)預(yù)訓練都繼續(xù)以近似線性的方式進行擴展。這是定性層面的結(jié)果。接下來,我們來看一個更具定量性質(zhì)的結(jié)果表。
![]()
這個表格包含三個主要列。這里的 200B 指的是總的訓練 token 長度,也就是模型被訓練了多久,而 1 萬億相當于 5 倍的訓練量。
在第一列中,我們使用了一個 3B 參數(shù)的模型;在第二列中,我們固定了 3B 參數(shù)模型,但將訓練計算量放大到了 1 萬億 token ;在第三列中,我們固定了 1 萬億 token 的訓練計算量,但將模型規(guī)模放大到了 6B 參數(shù)。
我們看到的關(guān)鍵結(jié)論是,如果我們觀察問答準確率的平均提升情況,包括 SBPT 和 Oracle 相對于基準的相對提升,在所有這三種情況下,我們都看到了可以由 Oracle 實現(xiàn)的約 30% 的提升,所以這種改進是非常一致的。有趣的是,我們發(fā)現(xiàn)在某些基準測試中, 6B 參數(shù)、 1 萬億 token 的模型已經(jīng)幾乎像是一個可用的語言模型了,這相當于 Llama 計算量的一半,理應(yīng)如此,這意味著我們能改進的空間應(yīng)該更少了。但是,在某些基準測試中,我們實際上在 6B 參數(shù)的處理條件下看到了更大的提升。這是因為你的合成數(shù)據(jù)生成器也變得更強大了。它的幻覺變少了。正是這個觀察將我們引向了關(guān)于自我改進預(yù)訓練能力的最后一張結(jié)果表。
在這里,我們希望考察的是合成數(shù)據(jù)的質(zhì)量。這張表包含四行,前三行分別代表了我們實驗中的一種設(shè)置。即 200B-3B 、 1T-3B 、 1T-6B,最后一行是真實數(shù)據(jù)。
![]()
這里我們采用的通用范式是,因為我們試圖評估數(shù)據(jù)集的某項屬性,而該數(shù)據(jù)集非常龐大。因此,我們會對一部分文檔進行子采樣,然后使用像現(xiàn)成的 GPT 模型那樣,編寫一些評分標準來檢測文檔中是否存在重復(fù)內(nèi)容,或者是否包含不符合事實的信息。我們發(fā)現(xiàn),隨著模型規(guī)模的擴大,生成的數(shù)據(jù)質(zhì)量也更好,而且這些合成數(shù)據(jù)并不僅僅是簡單的復(fù)述。在表格的各列中,我想重點強調(diào)「非事實」這一列,我認為這非常令人興奮。因為對于合成數(shù)據(jù)而言,事實性始終是一個難題。在 200B 規(guī)模下,我們看到,事實錯誤率甚至達到了 50%。存在著大量的幻覺。當你把訓練計算量增加 5 倍時,非事實的比例顯著下降;當你把模型規(guī)模增大一半時,這一比例進一步降低。雖然它還沒有達到完全比肩真實數(shù)據(jù)的水平,但我認為這種從 3B 到 6B 的下降非常有趣。因為事實性在某種程度上,取決于模型掌握了多少關(guān)于世界的知識。
如果你只是將訓練數(shù)據(jù)規(guī)模從第一列增加到第二列,這是令人驚訝的,因為模型看到了更多獨特的數(shù)據(jù),它擁有更多的世界信息。但當你增加模型規(guī)模時,環(huán)境的總熵是相同的。你所做的,只是花費更多的計算能力,從環(huán)境中提取信息。如果熵是守恒的,但這允許你擁有更低的事實錯誤率。我認為這是一個非常有意思的結(jié)果。
自我訓練能力的部分就講到這里。這表明我們可以普遍地提升語言模型的預(yù)訓練能力。
邁向 AI 設(shè)計 AI
在最后一部分,我想展示的是「邁向 AI設(shè)計AI」的方向。
從根本上說,我們現(xiàn)在在做的是試圖讓語言模型來做我們的工作。
我想先探討這樣一個哲學問題:為什么我們期望 AI 在 AI 研究領(lǐng)域能做得更好?
![]()
我想追溯到這個科學方法論。Fisher 提出了科學進步的兩階段過程:首先提出假設(shè),在提出假設(shè)之后,你需要做兩件事:進行實驗,然后試圖證偽這個假設(shè)。這帶來了一個非常嚴謹?shù)目茖W過程。例如,你可能會說你無法證偽牛頓定律,但你不能理所當然地假設(shè)牛頓定律是絕對正確的。后來,我們有了愛因斯坦的理論,那只是因為在當時的實驗條件下,你無法證偽牛頓定律而已。這意味著科學的本質(zhì)就是運行實驗和產(chǎn)生想法。
不用說,對于語言模型來說,產(chǎn)生想法就像寫文本一樣簡單。所以它能夠做到,只是校準度還不夠。
更有趣的部分在于運行實驗。如果你看看當前 AI 領(lǐng)域的狀態(tài),首先, AI 的進展非常依賴基準測試驅(qū)動,比如 ImageNet 或其他各種基準數(shù)據(jù)集;其次, AI 實驗最終都會具體化為編寫代碼,而編寫代碼正是計算機極其擅長的事情。我們可以看到 SWE-bench 的準確率隨著時間推移,從最初的 20% 一路上升,幾乎飽和到了 80%。
這意味著,運用 AI 來推動 AI 科學本身的發(fā)展,擁有強大的第一性原理支撐。
為了使模型能夠做到這一點,我將引入「研究環(huán)境」的概念。它提供了一個簡潔的抽象,告訴你進行 AI 實驗需要什么。我們先從一個更通用的研究環(huán)境開始。
![]()
它實際上有兩個屬性:其一,是傳遞給語言模型的上下文,用于描述任務(wù)是什么;其二,是一個價值函數(shù),你向它輸入一個想法(表現(xiàn)為一段字符串),它會輸出一個數(shù)字,來指示這個想法的優(yōu)劣程度。而對于 AI 研究環(huán)境而言,實現(xiàn)方式非常直接了當。
至于上下文,它應(yīng)該包含代碼庫屬性。也就是說,要告訴你一個研究問題是什么,只需要告訴你相關(guān)的 GitHub 倉庫是什么,或者你的實驗所操作的核心代碼是什么。
另一件事是,為了評估價值函數(shù),你還需要一個沙盒來分配運行實驗所需的資源。因此,你將資源(例如一塊 H100 GPU)分配給沙盒。隨后,沙盒首先執(zhí)行這段代碼差異,在 AI 研究的背景下,正是這段代碼將你的想法具體化了。接著,沙盒會執(zhí)行 run 命令,然后運行評估腳本。你可以通過精心設(shè)計你的環(huán)境,使得評估腳本的標準輸出正是你所關(guān)心的最終獎勵信號。
所以,在這個抽象概念之下,讓我們首先具體談?wù)勎覀儗崿F(xiàn)了哪些 AI 研究環(huán)境。
我們進行了預(yù)訓練實驗,其代碼庫只是一個執(zhí)行 GPT-2 預(yù)訓練的獨立 Python 腳本。我們投入的資源是 8 張 A100 GPU。這主要用于基準測試目的,因為排行榜上的評價指標是在此資源限制下,測試損失達到 3.28 所需的時間。
至于后訓練環(huán)境,我們有這個使用 GRPO 算法進行數(shù)學推理的任務(wù)。其代碼庫是在 GSM8K 數(shù)據(jù)集上進行訓練,并在 MATH500 數(shù)據(jù)集上進行測試。這實際上取自斯坦福 CS336 課程的作業(yè)。在資源方面,我們使用了一張單卡 Blackwell GPU,以便在單個設(shè)備上實現(xiàn)采樣器和訓練器底層權(quán)重的無縫切換。
![]()
這就消除了大量繁雜的工程障礙。最終的評估指標是使用人工驗證的 MATH 測試準確率。一旦有了這樣一個研究環(huán)境,我很喜歡自動化的 AI 研究員的運作方式,它首先會經(jīng)歷這四個步驟的過程。
![]()
就像從可操作化提議的階段開始,研究員內(nèi)部擁有一個被稱為構(gòu)思器的組件。所以,首先你要獲取研究環(huán)境的上下文,將其輸入給構(gòu)思器,生成你關(guān)心的想法。然后,你調(diào)用研究員類內(nèi)部的執(zhí)行器。你把上下文(在這個場景下是指研究環(huán)境的代碼庫)以及構(gòu)思器生成的想法提供給它。這會輸出代碼差異,然后你就可以運行實驗了。于是,你用生成的代碼差異來調(diào)用研究環(huán)境的價值函數(shù),它會返回這個想法的性能表現(xiàn)。同時,在另一側(cè),你也保留了這個想法的記錄。這樣你就會積累一張實驗經(jīng)驗清單,接著時不時地,你可以從這些實驗結(jié)果中進行學習。
想象一下,這個「學習 API」有點像是在更新研究員的一些內(nèi)在特質(zhì)。對于這個「學習 API」或構(gòu)思器的更新,可以采用強化學習的方法,這意味著將修改研究員內(nèi)部神經(jīng)網(wǎng)絡(luò)的參數(shù)權(quán)重;它也可以像是一個演化搜索過程,維護一個類似實驗結(jié)果清單的庫。在本次演講的范疇內(nèi),我將只聚焦于演化搜索的部分。
我們把「學習結(jié)果」的過程實現(xiàn)為一個迭代的測試時搜索過程。
這個測試時搜索所做的是,它一輪一輪地運行實驗;在運行了一些實驗之后,它會把過去的想法保存在一個庫中。有了研究員內(nèi)部的這個想法庫,當它想要生成一個新想法時,可以執(zhí)行以下兩項操作之一。
它可以通過結(jié)合結(jié)果列表中高價值想法的優(yōu)勢,來利用現(xiàn)有的好想法;
它也可以進行探索,嘗試生成與結(jié)果列表中已有想法截然不同的全新想法。
![]()
因此,這變成了一個搜索問題。以下是搜索的最終核心結(jié)果:我們可以看到,后訓練任務(wù)的初始準確率是 48%,而我們的搜索方法將其提升到了 69%。而 CS336 課程排行榜上的最好成績是 68%。所以,這像是在一種非常弱的意義上,擊敗了最好的人類成績。在預(yù)訓練方面,我們確實取得了一些進展,將時間從 36 分鐘優(yōu)化到了 90 分鐘,但排行榜上的成績實在太驚人了。排行榜的成績大約是 2.1 分鐘。
所以在那個案例中,它并沒有達到超人類的水平。
作為這一部分的總結(jié),我想將其與 s1 項目中的預(yù)算強制技術(shù)聯(lián)系起來。讓我們稍微轉(zhuǎn)換一下話題,談?wù)動糜跀?shù)學推理的測試時縮放。
在數(shù)學推理中,這里的關(guān)鍵點在于如何強迫模型思考比常規(guī) token 數(shù)量更長的時間。假設(shè)你想強制模型思考超過 10,000 個 token,如果不采用預(yù)算強制技術(shù),模型會先生成一個開始思考的 token,接著生成最初的 500 個 token,然后就會生成一個結(jié)束思考的 token。但是有了這項預(yù)算強制技術(shù),你可以去掉那個結(jié)束思考的 token,并強行追加一個逗號,然后模型就會繼續(xù)思考下去。
![]()
因此,無論是算法搜索還是預(yù)算強制,從原則上講,我們都在類似編寫一個非常簡單的循環(huán),強迫模型一直運行下去。
我們觀察到了一個非常一致的規(guī)律:不管是算法搜索還是寫循環(huán)讓模型強行思考,單純地擴展測試時計算量都能帶來性能提升,但它們都會非常迅速地達到性能瓶頸。另一個觀察結(jié)果是,無論是在測試時搜索,還是在測試時推理中,都存在一種模式:串行搜索比并行搜索更加強大。
![]()
在左圖中,這是在 nanoGPT 任務(wù)上的表現(xiàn),最佳選擇和多數(shù)投票并沒有帶來有意義的提升,但搜索方法卻能帶來持續(xù)一致的改進。這與推理任務(wù)中的情況十分相似:多數(shù)投票雖然有正的斜率,但提升不大,而串行搜索則大幅提高了這個斜率。
所以我認為,這里反映出復(fù)用具有一定的價值,這就好比一條法則:串行計算比并行計算更有價值。
![]()
我認為這正是其價值的體現(xiàn)。在結(jié)束實驗結(jié)果部分的討論之前,我還沒有展示任何定性結(jié)果,即模型到底能生成什么類型的想法。
在這里,我想向你們展示一個我非常喜歡的想法,盡管它的準確率并不是非常高。
![]()
這個想法產(chǎn)生于使用 GRPO 進行數(shù)學推理的任務(wù)中。它提議通過維護一個包含數(shù)學事實、定義和中間結(jié)果的上下文緩沖區(qū),來創(chuàng)建一個「數(shù)學工作記憶模擬」。
隨著模型逐步解決問題,這個緩沖區(qū)也會隨之更新,并為后續(xù)的推理步驟提供額外的上下文。這就模擬了人類在進行復(fù)雜計算時,如何維持和利用工作記憶的過程。令我驚訝的第一件事是,模型能夠非常準確地將這個想法編寫成可執(zhí)行的代碼。
它的具體做法是,引入了一個名為「上下文緩沖區(qū)」的類。這個類本質(zhì)上有兩個方法:添加上下文和基于查詢獲取上下文。在 RL 訓練循環(huán)中,它會初始化該緩沖區(qū)。對于每一個提示詞,它都會嘗試從緩沖區(qū)中獲取上下文,并將檢索到的上下文附加到提示詞中。
這樣一來,在解決數(shù)學問題時,這就好比在考試情境中直接給你提示。該方法的性能比基準提升了 10%,雖然不是最好的結(jié)果,但我真的非常喜歡它,因為我個人也有一個類似的緩沖區(qū)。我實際上有一本手寫的筆記本,里面記錄了各種數(shù)學技巧,比如裂項相消、 epsilon 球空間、琴生不等式以及何時使用它們。所以我非常高興能看到它提出了與我在做的事情非常類似的方法,而且像 GPT-4 這樣的模型竟然能夠?qū)⑵鋵崿F(xiàn)出來。
結(jié)語:超越人類的必然性
關(guān)于持續(xù)自我改進式 AI 的三個方面的主要結(jié)果就講到這里。接下來,我想進入結(jié)語部分,內(nèi)容可能稍微有點形而上。
在演講的開頭,我們明確了這個定義:持續(xù)自我改進式 AI 所能實現(xiàn)的改進,要比人類創(chuàng)造者所能達到的改進更好。我之所以這么說,是為了保持嚴謹,這樣這個主張就能被我們現(xiàn)有的實驗結(jié)果所證實。但就目前而言,我們看到 AI 勝過人類的方式,主要是通過用數(shù)量堆疊來克服質(zhì)量上的限制。
![]()
這種機制非常無趣。如果我們看一下這張圖,基準模型是在有限的人類數(shù)據(jù)上訓練的。你問 AI 能否擴展得更好,但事實是,首個檢查點的初始損失表明,人類生成的數(shù)據(jù)質(zhì)量依然更好。只是因為 AI 的數(shù)據(jù)是無限的,它可以通過數(shù)量來彌補質(zhì)量上的不足。
另外,這是我們團隊的 Weights & Biases 實驗面板,你可以看到,對于研究人員來說,可能只跑了 13 個或 9 個實驗,但對于 AI 執(zhí)行的實驗來說,我們看到的是 5,000 個甚至 30,000 個實驗記錄。如果一個人類博士生下周來找導(dǎo)師,他不可能說「好的,我上周測試了 30,000 個想法」。雖然我無法預(yù)見未來,但根據(jù)我們目前的結(jié)果,人類研究員依然具有更強的構(gòu)思能力,只不過 AI 研究員工作得太努力、太不知疲倦了,所以它能霸榜 CS336 的排行榜。
是的。因此我認為,AI 社區(qū)里的人們真正關(guān)心的問題是:AI 是否能夠自我改進,并變得比它的創(chuàng)造者更強大?
![]()
因為我目前沒有這方面的實驗結(jié)果,所以我想從物理學中一個完全正交的視角,來解釋為什么我認為這是可能的,甚至幾乎是必然的。
我想向你們展示愛因斯坦是如何以一種安靜而精確的方式,創(chuàng)造了一個超越他自身認知的理論的。
首先,我們可以將一個理論視作一種生命,因為它能夠進化、能夠變異,它有自己的生命力。愛因斯坦創(chuàng)造的場方程就比他本人更聰明。
起初,愛因斯坦提出了廣義相對論的場方程,這個方程在未經(jīng)修改的狀態(tài)下,已經(jīng)精準地預(yù)言了宇宙正在膨脹。然而在 1910 年代,當時的科學界普遍篤信宇宙是靜止且永恒的。為了迎合這種時代觀念,愛因斯坦在 1917 年主動修改了自己的方程,硬生生地讓它計算出一個靜止的宇宙。直到 1929 年,哈勃通過天文觀測證實了宇宙確實在膨脹,而且其規(guī)律與愛因斯坦最初那版未修改的方程所預(yù)測的一模一樣。愛因斯坦后來坦言,那次修改是他一生中「最大的錯誤」。
也就是說,當一個理論被創(chuàng)造出來的那一刻,它就擁有了生命并開始演化。就像當愛因斯坦寫下那個場方程的那一刻,該方程就已經(jīng)編碼了一個當時沒有任何人類能夠理解的真理。
通過類比,我認為人類確實可以創(chuàng)造出比自身更聰明的 AI,而不僅僅是像我剛才說的那種依靠數(shù)量優(yōu)勢。
因此,從某種意義上說,我對「AI 能否超越人類」這個問題的回答是:從一開始我們就不該問這個問題。
僅僅因為某樣東西是我們創(chuàng)造的,沒有任何理由去斷定它就不能超越我們。
我認為那種認為它不能超越人類的邏輯,源于一種子集邏輯。這就好比:我們?nèi)祟悡碛幸唤M規(guī)模為 10 的能力集,而我創(chuàng)造了一個擁有我能力子集的次級存在,所以它永遠無法超越我。但是,目前創(chuàng)造 AI 的方式非常具有算法性,比如在海量數(shù)據(jù)上進行訓練。這種過程與愛因斯坦推導(dǎo)并創(chuàng)造出超越自己認知的物理方程的過程極其相似。這種問題一開始就不該被提出。所以我堅信,答案絕對是肯定的。
![]()
? THE END
文章來源:機器之心。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.