「小模型」有更多機會點
昨天有提到,為什麼要研究語言模型。
原因主要有兩點:
一,祖姆斯基認為,語言是思考的工具。要理解人類的心智,必須研究語言,語言和心智是密切相關,我們的主要觀點是「壓縮論」,人工智能可以表現為一種壓縮的形式。
二,語言非常重要。沒有語言,人類的高級思考就無法進行。因此,語言不僅是知識的載體,還是一種高度抽像的符號系統。
那麼,為什麼選擇語言模型進行研究,而不是研究圖像、聲音或其他類型的數據呢?很簡單,語言文本的數據壓縮更方便,也更慳錢。
我把聽課的內容總結了一下,仔細看後發現,歷史發展脈絡非常有趣,總結起來就是四個字:壓縮即智能。
為什麼這麼說呢?14世紀,英格蘭有個邏輯學家,名叫威廉·奧卡姆(約1285年至1349年),他提出了一個很有名的原則,叫做「奧卡姆剃刀」。
這個原則的意思是:
如果可以用簡單的規則來解釋一件事情,那麼這個簡單的解釋通常是正確的;聽起來可能有點抽像,但很容易懂。中文里有句老話:「如無必要,勿增實體」,講的就是這個道理。
舉個例子:
在數學里,如果我給你一個數列:1, 2, 3, 5, 8,讓你猜下一個數字,你可能會想到是13。因為這個數列是斐波那契數列,每個數字都是前兩個數字的和。這個解釋很簡單,也很合理。
那為什麼我們覺得13是對的,而不是隨便猜一個數呢?
我隨便說一個數,然後編一個很複雜的理由來解釋它,雖然我也可以寫一個程序來證明這個數是對的,但這會很複雜。
奧卡姆剃刀告訴我們的就是,如果一個現象可以用簡單的規則來解釋,那它通常就是對的;因此,最初的研究者普遍遵循奧卡姆剃刀的原則。
後來,有個人提出了不同的看法。
這個人叫雷·所羅門諾夫(1926-2009)他曾經參加過達特茅斯會議,也是會議的發起者之一,他的研究相對冷門,他覺得,按照奧卡姆剃刀的原理,並不是所有數字都有可能成為正確答案。
通常情況下,如果一個規律更容易描述,那它就更可能是正確的。因為我們的世界可能本質上是簡單的。宇宙的底層規則,很可能是一個簡單的原理,而不是複雜的。
因此,生活中的大多數現象都可以通過規律來預測。但具體怎麼做呢?
我們可以把這些規律寫成圖靈機(模型、公式)的形式,然後同時模擬所有可能的圖靈機;簡單的圖靈機,我們給它更多時間去運行;複雜的,就給它更少時間。
通過這種方法,我們可以構建一個「普世分佈」,這意味著,如果你給我一個數列,讓我預測下一個數字,我雖然不能確定具體是哪個數,但我可以給出一個概率。
這個「普世分佈」可以說是對任何序列推理問題的最佳預測;不過,雖然這個東西客觀存在,也能被理解,但它實際上是不可計算的。因此,它更多是一種哲學上的思考,而非實際應用的工具。
後來,有一個人叫柯爾莫果洛夫(1903-1987),他說:
所羅門諾夫說得對,但我們怎麼判斷一個圖靈機或者一個模型是簡單的還是複雜的呢?不能只靠概率分佈吧。
於是,他提出了柯氏複雜度的公式概念。簡單來說,如果一個序列是正確的,那麼可以用一個圖靈機來描述它。圖靈機越簡單,這個序列的複雜度就越低。
柯氏複雜度的公式是這樣的:
K(x) = min{|p| : T(p) = x}
這個公式里的 KK是用來預測某個東西 xx 的圖靈機 CC 的長度。如果 CC 運行後結果是 xx,那麼 CC 的長度越短,複雜度 KK 就越低。
舉個例子:
設你有一個數列:2, 4, 6, 8, 10。你發現這個數列的規律是「每次加2」。於是,你可以用一句話來描述它:「從2開始,每次加2。」這句話很短,所以這個數列的「複雜度」很低。
再看另一個數列:3, 1, 4, 1, 5。這個數列看起來沒有規律,你只能用笨辦法描述它:「第一個數是3,第二個是1,第三個是4,第四個是1,第五個是5。」這句話很長,這個數列的「複雜度」很高。
需要注意的是,柯氏複雜度是一個理論上的概念,雖然可以定義,但在實際中無法精確計算。
後來,有個人對柯爾莫果洛夫的理論提出了質疑,他叫烏爾根·施密德胡伯,人們稱他為長短期記憶(LSTM)之父。
他說:
柯爾莫果洛夫的理論並不完全正確。簡單性不僅僅是用一個簡單的圖靈機生成序列,如果這個圖靈機需要運行100年才能生成結果,那這還能算是成功的描述嗎?
簡單性應該包括圖靈機的運行速度。
也就是說,生成序列所需的計算時間越短,複雜度就越低。」這就是他提出的「速度優先」原則。因此,計算的速度優先是很重要的。
為什麼要速度優先呢?
還有一點,因為以前的研究是基於符號主義的。什麼是符號主義(Symbolic AI 或 Logical AI)?簡單來說,用符號和規則來表示知識,然後通過邏輯推理來解決問題。
舉個例子,如果我們知道「鳥會飛」和「企鵝是鳥」,符號主義會推理出「企鵝會飛」。但實際上,企鵝是不會飛的。這就出問題了。
這裏有兩個主要困難:
一,柯爾莫果洛夫複雜度的限制。複雜的系統可以生成簡單的東西,但簡單的系統無法生成複雜的東西。這是一個基本的不等式。比如,一個複雜的程序可以生成簡單的數列,但一個簡單的程序無法生成複雜的數列。
第二,人類大腦是一個黑盒,要模擬人類大腦的功能,需要多高的複雜度呢?我們猜它應該是很高的複雜度,因為人類研究了這麼多年,還沒完全搞明白。這說明大腦的複雜度非常高,可能是一串很大的數字。
如果我們試圖用符號主義的方法,通過編寫規則或程序來模擬人類智能,這幾乎是不可能的。
舉個例子:
我們從互聯網上抓取大量數據,把世界上所有網頁的文字都抓下來。這些數據有多大呢?可能是幾百PB(一種很大的數據單位)。它的複雜度非常高。
雖然這些文字是人類寫的,可能有一定的規律,可以壓縮得小一些,但它仍然有很大的複雜度。這個複雜度,甚至可能超過人腦的複雜度。
如果我們把這些數據加上某種模型,就有可能達到和人腦類似的智能功能,這樣,就解決了符號主義的一個根本缺陷。因此,轉向數據驅動的方法是必然的。如果沒有數據,你根本不知道複雜度從哪裡來。
既然複雜度已經很高了,我們還希望它是可解釋的,這就比較難了。
你只能在某些特定方面解釋它,但無法完全搞清楚它的原理。就像研究人腦,你可以研究一些局部的機制,但要想完全弄清楚整體原理,幾乎是不可能的。因為人類只能理解簡單的東西。
我們今天的大語言模型是什麼呢?它就是用很高複雜度的數據,通過算法壓縮,得到一個相對較小但仍然複雜的模型。這個模型可以比較準確地預測語言。
有了這個模型,我們只需要補充一點點信息,就能恢復原始數據。所以,大語言模型其實是一個數據壓縮的過程,而模型本身是數據壓縮的結果。
直到2019年3月,強化學習領域的重要人物,加拿大阿爾伯塔大學教授的Rich Sutton寫了一篇文章,叫做《The Bitter Lesson》,中文翻譯成「苦澀的教訓」。
這篇文章總結了人工智能領域過去70年的發展歷程。很多公司,比如OpenAI,都遵循這篇文章里的原理,Rich Sutton講了一個重要的觀點:
從1950年代開始,在人工智能的研究中,研究者們經常覺得自己很聰明,發現了一些巧妙的方法,然後把這些方法設計到智能算法里, 短期內,這種做法確實有用,能帶來一些提升,還能讓人感到自豪,覺得自己特別厲害。
但長期來看,這種做法是行不通的, 因為再聰明的人,也不可能一直聰明下去。如果只做這種研究,最終反而會阻礙進步。
真正取得巨大突破的,往往不是那些精巧的設計,而是在計算和學習上投入更多資源。這種方法雖然看起來笨,卻能帶來革命性的提升。
歷史上,每次人工智能的重大進步,都伴隨著這種「苦澀的教訓」。但人們往往不喜歡吸取這種教訓,因為它有點反人性。
我們更喜歡讚美人類的智慧,設計一些巧妙的算法,覺得這樣才高級。而用大量數據和算力去訓練模型,雖然能成功,卻讓人覺得不夠「聰明」。
這種「大力出奇蹟」的成功,常常被人看不起。但事實一次又一次證明,這種看似笨的方法,才是真正有效的;這也解釋了為什麼我們要做大模型——因為只有通過大規模的計算和學習,才能實現真正的突破。
因此,開發大模型並非為了展示技術實力,而是因為它確實能帶來顯著的成果,這就是為什麼我們要在基礎設施上投入更多資源,去支持這些大模型的訓練和發展。
所以,壓縮即智能。通過壓縮數據,模型能夠提取出更高層次的特徵和規律,從而表現出智能行為。那麼,這個「壓縮即智能」的說法是誰提出的呢?
從2006年開始,德國人工智能研究員Hutter Prize每年都會舉辦一個比賽。這個項目叫,Hutter Prize for Lossless Compression of Human Knowledge(簡稱 Hutter 獎)
比賽的目標是:把1GB的域奇百科數據壓縮到110兆。
如果你能壓縮得比這個更小,就說明你的壓縮方法更聰明,這個比賽的總獎金是50萬美元,目前已經支付了29萬多美元。
不過,放在七八年前,這個比賽可能還挺有意義的。但今天再看,1GB的數據量顯得有點小了,畢竟,現在的模型動不動就處理幾百GB甚至更多的數據。
如果你有興趣,可以去試試這個比賽,裡面還有很多符號主義的方法,大模型的思路還沒完全用上。
那麼,怎麼提高壓縮的效果呢?主要有幾條路:
一,更聰明的算法;以前用n-gram這種統計方法,效率很低。雖然數據量大,但模型效果一般。現在有了更聰明的算法,比如深度學習,能更高效地利用數據,訓練出更大的模型,而且不會過擬合。
二,更多的數據;數據越多,模型效果越好。但問題是,互聯網上的數據已經抓得差不多了,還能從哪裡找更多數據呢?
兩個維度,用更小的模型垂直到行業的本地知識(local knowledge)中讓所有人用起來,然後,小模型投喂給大模型,最終加上訓練時間。
烏爾根·施密德胡伯(LSTM之父)提出,速度也很關鍵。如果投入更多時間訓練,模型的效果可能會更好。這也是OpenAI等公司走的路線。
所以,如果你相信「壓縮即智能」的觀點,那麼在同樣的數據量下,小模型如果能達到和大模型一樣的效果,那小模型顯然更聰明。
說到這,不妨思考下:為什麼今天還要研究大模型?
因為根據柯爾莫果洛夫複雜度,只有足夠大的模型,才有可能接近通用人工智能的目標,雖然小模型的研究也有意義,但最終要實現通用人工智能,大模型是不可避免的。
因此,一個結論是:如果你的目標是AGI,那做大無疑是最佳選擇,你的目標是細分垂直,小模型最划算。理解這一點,也就理解了,大廠為什麼追求大模型,但往往,小模型,有更多機會點。
本文來自微信公眾號「王智遠」(ID:Z201440),作者:王智遠,36氪經授權發佈。