通往AGI之路:ChatGPT背後的邏輯,壓縮即智能

我思,故我在

上個月在山海塢women code camp,我作為講師分享了一期《通往AGI 之路:壓縮即智能》,發現大家對AIGC 和大模型都非常感興趣,但是當時很多小伙伴反應沒聽懂,所以寫了這一篇白話講解。希望能夠對 AIGC 感興趣的您有所幫助。如果您需要更深入的了解,請在閱讀完本文後參考Jack Rae(OpenAI 團隊核心成員)在斯坦福的主題演講:Compression for AGI(https://www.youtube.com/watch?v=dO4TPJkeaaU),這也是本文的主要參考文獻。

1 從機器學習說起

機器學習(Machine learning),對於非計算機背景的朋友來說或許有些陌生。但是我們生活的方方面面都已經被機器學習覆蓋。比如,當我們打開知乎、抖音、小紅書等軟件的時候,系統會自動推薦我們可能感興趣的內容;當我剛和朋友聊到想買一某品牌的裙子時,打開淘寶就發現搜索推薦已經變成了該品牌;郵件系統會幫我們自動屏蔽垃圾郵件;交通攝像頭拍攝司機的行駛照片來推斷是否有違規行為。這些都得益於機器學習。

那麼機器學習到底是什麼?機器學習的最早由貝葉斯在1783年發表的同名定理中提出。貝葉斯定理是從訓練數據中學習,以便對新的、未見過的數據做出盡可能好的預測。說白了就是我們俗話說的"舉一反三"。

它是讓計算機在沒有明確編程的情況下進行自我學習的一門學科(Arthur, 1959),屬於人工智能的子領域。有些事情我們通過明確的編程就可以完成,比如計算188的12次方,或者 a 到 b 的最短距離。但是有一些問題,明確的編程就無法幫到我們。

例如我們希望計算機能夠成為一個優秀的圍棋選手,可以給計算機編程,讓計算機自己與自己下棋,對弈一萬次以後,計算機就可以通過觀察,在一個殘局中,落子在某個位置的勝率大於其他位置,那就是程序會選擇的位置。因為計算機強大的算力,它可以在短時間內完成無數次的對弈局數,所以會越來越知道怎樣能取得勝利,最終成為超過人類的棋手。讓機器自己去學習找到最佳方案,就是機器學習的過程,但是機器到底學到了什麼?這是一個黑盒,我們只能通過輸入獲得一個輸出結果。

機器學習算法按照學習方式可以分為四種:監督學習(Supervised learning),無監督學習(Unsupervised learning), 半監督學習(Semi-supervised Learning)和強化學習(Reinforcement learning)。其中使用最多的是監督學習,但是 ChatGPT 卻選擇了強化學習作為核心算法。

2 強化學習VS監督學習

既然監督學習是主流算法,為什麼 OpenAI 卻選擇了強化學習?這里首先跟大家介紹一下兩者的概念。

監督學習是指學習輸入到輸出之間映射的算法,它可通過用戶提供的例子來學習。例如,我們經常發現有些郵件被自動攔截進入垃圾箱,那麼系統是如何判斷一封郵件是否是垃圾郵件呢?這就用到了監督學習,首先工程師們需要給算法投餵大量帶有標籤的數據,這個例子中一封郵件可作為輸入,對應的輸出結果有兩類,是垃圾郵件和不是垃圾郵件(Yes/ No,即標籤)。假設我們餵了10萬條數據,算法就會根據這十萬條數據自己學習垃圾郵件的特徵。這時候當我們給它輸入一條全新的郵件時,它就會根據之前訓練的模型判斷新郵件是否符合垃圾郵件的特徵,從而決定需不需要進行攔截。

強化學習更像是一種獎勵反饋機制。在強化學習中,我們為模型提供輸入,但並不提供正確答案。模型需要自己生成答案。然後請真人讀取生成的答案,並給出答案的得分(比如1-100分得80分)。模型的目標是如何回答以獲得高分。另一種機制是模型生成多個答案,評分機制告訴模型哪個答案最好。模型的目標是學習生成高分的答案,而不是低分的答案。在這兩種情況下,模型都是通過生成答案並接收反饋來學習。

相比之下,監督學習只允許正反饋(我們向模型輸入一系列問題及其正確答案),而強化學習允許負反饋(模型可以生成錯誤的答案並得到反饋說"這個回答不好,下次不要這樣了")。正如真人在學習過程中發現的,相比正反饋,負反饋也同樣重要。這很可能是 OpenAI選擇RLHF訓練(即基於人類反饋的強化學習訓練)的原因。

仔細想想,這是不是和人類的學習方式非常像,我們學習的時候也是通過獲取大量的知識,然後考試來檢測學習的情況,最終將獲取的知識應用在新的場景(遷移學習,這也是GPT 的底座之一)。因此,這一輪的 AIGC 也被認為已經無限接近接近 AGI(通用人工智能)。

3通往 AGI 之路

簡單來說,AGI 就是是具備與人類同等智能、或超越人類的人工智能。是不是覺得ChatGPT已經有那味了。但是怎麼去判斷人工智能的智能程度呢?

1980年,John Searle提出了一個著名的思想實驗《中文房間》。實驗過程可以表述如下:

將一個對中文毫無了解,只會說英語的人關在一個只有一個小窗的封閉房間裡。房間裡有一本記錄著中英文翻譯的手冊。房間裡還有足夠的稿紙、鉛筆。同時,寫著中文的紙片通過小窗口被送入房間中。房間中的人可以使用他的書來翻譯這些文字並用中文回复。雖然他完全不會中文,但通過這個過程,房間裡的人可以讓任何房間外的人以為他會說流利的中文。

這樣一個龐大的手冊顯然代表著非常低的智能水平,因為一旦遇到手冊中沒有的詞彙,這個人就無法應對了。如果我們能夠從大量的數據中提取出一些語法和規則,那麼手冊可能會變得更加精簡,但是系統的智能水平將會更高(泛化能力更強)。

手冊越厚,智能越弱;手冊越薄,智能越強。就好像公司僱一個人好像能力越強的人,你需要解釋得越少,能力越弱,你需要解釋得越多。

上面這個例子就很好的解釋了為什麼壓縮即智能:想要提高 AI 的智能程度,可以通過泛化提取規則,提取出需要的有效信息。這樣你就可以理解 NLP 研究者們經常說的一句話:GPT 的訓練過程是對數據的無損壓縮。

4 壓縮即智能

2月28日,OpenAI 的核心研發人員Jack Rae 在參加Stanford MLSys Seminar 的訪談時進行了一個名為Compression for AGI 的主題分享,其核心觀點為:AGI 基礎模型的目標是實現對有效信息最大限度的無損壓縮。 並同時給出了為什麼這個目標是合理的邏輯分析,以及 OpenAI 是如何在這個目標下創造了 ChatGPT。

通往AGI之路:ChatGPT背後的邏輯,壓縮即智能

泛化就是從已知推到未知的過程。如圖所示,我們關心的核心問題是如何從已有數據中(黃色),了解到未知數據的規律並做出預測(灰色)。一個模型越能夠準確預測灰色部分,它的泛化能力就越強。

想像一個電腦軟件需要把英文翻譯成中文,如果它是通過查找字典把所有可能的詞組翻譯成中文,那麼我們可以認為它對翻譯任務有著最差的理解,因為任何出現在字典之外的詞組它都無法翻譯。但如果將字典提煉為較小的規則集(例如一些語法或基本的詞彙),那它將會有更好的理解能力,因此我們可以根據規則集的壓縮程度對其進行評分。實際上,如果我們可以把它壓縮到最小描述長度,那麼我們可以說它對翻譯任務有著最好的理解。

對於給定的數據集D,我們可以使用生成模型f 對其進行壓縮,圖中| D | 表示數據集D 的無損壓縮,無損壓縮的大小可以表示為對D 評估的生成模型的負對數似然加上估計函數的最小描述長度。

通往AGI之路:ChatGPT背後的邏輯,壓縮即智能

那麼大模型是如何實現無損壓縮的呢?我們需要先了解 GPT 的本質。 GPT 其實就是基於 Transformer 的大字典,本質是就是 Next Token Prediction(下文推理)。簡單說就是預測一個給定的文本序列後最後可能出現的詞或詞組。比如說我現在說:"你昨晚睡得",話沒說完,這個時候你就知道我大概率要說:"你昨晚睡得好嗎? "推理出我要接著說"好嗎 "的過程就是下文推理。

你可能會說很明顯這樣學到的不就是單詞之間的表層統計關係嗎?怎麼就產生了智能?

假設你需要將一些數據從遙遠的半人馬座星系傳輸回地球,但是帶寬非常珍貴,你需要用最少的帶寬來傳輸數據,並且保證另一端可以無損地恢復你的數據。你可以採用這個方法:

首先,準備一個語言模型的訓練代碼,每次運行時都會生成相同的神經網絡模型。

其次,在N條數據上運行訓練程序,在t時刻,將在所有token概率分佈Pt下的,Xt的概率取出,並使用算術編碼將其轉換為二進制小數,記為Zt。以此類推,得到一個由Z1,Z2,Z3,...,Zn構成的列表。

如果要在另一端無損地還原這N條數據,只需傳輸以下兩個內容:Z1-Zn的列表和語言模型訓練代碼。

在接收端進行解碼時,我們使用收到的訓練代碼初始化網絡。在時間戳t時刻,模型使用Pt對Zt進行算術解碼得到Xt。需要注意的是,t時刻的token概率分佈Pt在發送端和接收端是完全一致的。

整個過程是一個無損的數據壓縮過程,基於語言模型的訓練代碼,我們將N條數據壓縮成了Z1-Zn的一串數字,每個壓縮後的數據大小為-logp(x)。需要注意的是,在整個過程中,我們不需要發送整個神經網絡(幾百上千億參數)。

因此,使用語言模型來壓縮數據集D的總比特數可以表示為以下公式:

通往AGI之路:ChatGPT背後的邏輯,壓縮即智能

一個基於transformer模型的描述長度大概在100kb ~ 1MB之間(所有必要的代碼大小)。模型的參數不屬於模型的描述長度。

我們常常覺得chatgpt在關於事實性問題上錯誤百出,比如說問他劉慈欣是哪個城市的,模型還是會答錯。這是因為在訓練過程中,模型慢慢地記住了一些訓練數據,模型的參數可以近似看成是一個對於訓練數據的有損數據壓縮,這也是特德·姜在《ChatGPT是網上所有文本模糊的圖片》的意思。 LLM是對於原始數據集的無損壓縮,這是非常具體的數學上可以嚴格證明的。特德·姜說的有損壓縮,是一種非常抽象的文學上的類比。

還記得這張圖嗎,我們關心的不是黃圈裡面的內容,而是外面灰色的部分,因為我們關心如何用更少的內容來獲取更多的知識,也就是泛化能力。相比於堆參數量,泛化才是智能!

通往AGI之路:ChatGPT背後的邏輯,壓縮即智能