字節(jié)跳動李航:對語言大模型的若干觀察和思考
本文闡述筆者對 LLM 的一些看法,主要觀點如下:
- ChatGPT 的突破主要在于規(guī)模帶來的質(zhì)變和模型調(diào)教方式的發(fā)明。
- LLM 融合了實現(xiàn)人工智能的三條路徑。
- LLM 的開發(fā)需要結(jié)合第三者體驗和第一者體驗。
- LLM 能近似生成心智語言。
- LLM 需要與多模態(tài)大模型結(jié)合,以產(chǎn)生對世界的認識。
- LLM 本身不具備邏輯推理能力,需要在其基礎(chǔ)上增加推理能力。
1. LLM 強大之所在
1.1 LLM 的主要突破
ChatGPT 和 GPT4 為代表的 LLM 有以下主要手段 [1][2]。
- 模型:Transformer 擁有強大的表示能力,能對具有組合性(compositinality)的語言進行很好的表示和學習。
- 預(yù)訓練(pre-training):使用大規(guī)模文本數(shù)據(jù)進行語言建模(language modeling),學習進行的是數(shù)據(jù)壓縮,也就是單詞序列的生成概率最大化或預(yù)測誤差最小化。
- 監(jiān)督微調(diào) SFT(supervised fine tunning):學習的是輸入到輸出的映射,X→Y, 或者是輸入到輸出的映射及產(chǎn)出過程 X, C_1?,C_n→Y,學習到模型的基本行為。這里,C_1?,C_n 代表思維鏈。
- 基于人類反饋的強化學習 RLHF(reinforcement learning from human feedback):根據(jù)人的反饋,調(diào)整模型的整體行為。
ChatGPT 和 GPT4,相比傳統(tǒng)的深度學習技術(shù),如 BERT,主要是在智能性和通用性上取得了巨大突破。具備語言、知識、簡單推理能力,能夠很好地近似人的智能行為。不需要標注數(shù)據(jù)就可以在不同領(lǐng)域完成不同任務(wù),也就是進行零樣本或小樣本學習。
LLM 帶來的巨大進步,所能產(chǎn)生的效果是之前我們大多數(shù)人都沒有能預(yù)見到的。究其原因,一是使用大數(shù)據(jù)大模型大算力,規(guī)模帶來了質(zhì)的變化。ChatGPT 有 175B 參數(shù),300B 的 token 做訓練。而之前的模型參數(shù)規(guī)模超過 1B 的都不多。二是 Open AI 開發(fā)出了一套調(diào)教大模型的方法,包括基本步驟、技巧和工程實現(xiàn)。利用語言建模的機制將人的知識和能力輸入給大模型。大規(guī)模系統(tǒng)的工程實現(xiàn)和模型的調(diào)教方法成了 Open AI 的核心競爭力。這一點可以從相關(guān)技術(shù)的演進過程中看出。
1.2 歷史演進
ChatGPT 和 GPT4 技術(shù)的一個源頭是生成式對話。
從 2012 年到 2017 年在華為諾亞方舟實驗室我們對對話進行了研究,2015 年開發(fā)了領(lǐng)域第一個基于序列到序列 seq2seq 的生成式對話系統(tǒng) Neural Responding Machine [3]。當時的序列到序列模型還是基于 LSTM 的。但是即使是這樣的模型,也能生成自然的中文。表 1 給出生成的對話例子。使用 4 百萬微博數(shù)據(jù)訓練的 7 千萬參數(shù)的這個模型,對給定一個發(fā)話,可以生成一個回復,形成一輪對話。表中給出 top 5 的幾個回復??梢钥闯鲇行┗貜褪呛线m的,有些是不合適的。
為解決序列到序列有時產(chǎn)生不合理結(jié)果的問題,我們于 2017 年開發(fā)了基于深度強化學習的方法,對序列到序列 seq2seq 的學習結(jié)果做進一步的調(diào)優(yōu) [4]。與 RLHF 有相同的算法,先學習獎勵模型,然后基于策略梯度,調(diào)節(jié)整個序列到序列模型(策略模型)。模型也是基于 LSTM 的。當時的研究發(fā)現(xiàn),加上深度強化學習的微調(diào),可以把序列到序列的生成結(jié)果做得更好。
Google 的研究團隊于 2017 年發(fā)表了 Transformer 模型。序列到序列的生成開始轉(zhuǎn)向使用 Transformer。由于 Transformer 強大的表示和學習能力,生成式對話的效果有了大幅度的提升,也從單輪對話的生成逐漸發(fā)展到多輪對話的生成。
2018 年 Open AI 團隊發(fā)表了 GPT-1 模型。其基本想法是,先訓練一個基于 Transformer 的大規(guī)模語言模型,在其基礎(chǔ)上通過有監(jiān)督的微調(diào) SFT 方法,學習序列到序列模型,把自然語言的理解和生成任務(wù)都轉(zhuǎn)化為序列到序列生成的任務(wù),在一個模型上實現(xiàn)所有的任務(wù),包括生成式對話。之后又于 2019 年發(fā)表了 GPT-2,2020 年發(fā)表了 GPT-3,逐步發(fā)展到 ChatGPT 和 GPT-4。
傳統(tǒng)的相對小的生成式模型也可以生成自然的人類語言,甚至是基于 LSTM 的。因為學習的目標是單詞序列的預(yù)測誤差最小化。但生成的自然語言所描述的內(nèi)容有很多在現(xiàn)實中是不會發(fā)生的或者不合理的,也就是有嚴重的幻覺(hallucination)。而大規(guī)模語言模型,由于學習手段和規(guī)模,其生成的自然語言所描述的內(nèi)容,在現(xiàn)實中是很容易發(fā)生的,甚至是合理的,幻覺現(xiàn)象也得到比較有效的控制。
ChatGPT 之前,業(yè)界開發(fā)出了一系列的生成式大模型,做生成式對話等任務(wù)。整體觀察的現(xiàn)象是能更好地完成各種任務(wù),但是能力都沒有能夠達到 ChatGPT 的水平。仔細閱讀 GPT-3 [5] 和 InstructGPT 的論文 [1],認真觀察 ChatGPT 等各種 LLM 的結(jié)果,讓人感到 Open AI 的核心競爭力是他們開發(fā)了一整套語言大模型的調(diào)教方法和工程實現(xiàn)方法。調(diào)教方法包含預(yù)訓練、SFT、RLHF 等基本步驟,更重要地,包含高質(zhì)量大規(guī)模數(shù)據(jù)的準備,將數(shù)據(jù)一步步喂給模型的訓練細節(jié)。
2. LLM 的特點
2.1 結(jié)合了人工智能三條路徑
實現(xiàn)人工智能可以考慮到以下三條路徑:
- 輸入經(jīng)驗知識:人將知識通過規(guī)則等形式教給計算機,讓計算機進行智能性處理。
- 實現(xiàn)人類大腦:解明人腦的機制,基于相同的原理實現(xiàn)人類智能。
- 從數(shù)據(jù)中學習:通過數(shù)據(jù)驅(qū)動機器學習的方法模擬人類智能。
圖 1. 實現(xiàn)人工智能的三條路徑
人工智能傳統(tǒng)的符號處理屬于第 1 條路徑。機器學習屬于第 3 條路徑。深度學習是受人腦啟發(fā)的機器學習,屬于第 3 條路徑,但也借鑒了第 2 條路徑。
第 1 條路徑最容易想到,但是人工智能的歷史證明,它有很大的局限性。第 2 條路徑依賴于腦科學的進步,目前研究進展緩慢,也是非常困難的。第 3 條路徑看上去不是很直接,但是是目前實現(xiàn)人工智能的主要手段。
筆者認為 LLM 主要屬于第 3 條路徑,但也借鑒了第 2 條路徑,兼具第 1 條路徑的特點,因為 LLM 是深度學習,模型中的知識和能力是人通過精選的數(shù)據(jù)和巧妙的訓練方法授予的。三條路徑的融合使 LLM 成為當前實現(xiàn)人工智能的最強大手段。
2.2 第三者體驗和第一者體驗
對外部世界的認識和理解,我們可以站在第三者的角度,觀察現(xiàn)象,總結(jié)規(guī)律,分享結(jié)果,屬于第三者體驗(third person expeirence)。科學是在第三者體驗基礎(chǔ)上建立起來的。我們每個人的內(nèi)心感受和想法是自己的精神活動,很難與他人分享,只能大概描述,屬于第一者體驗(first person experience)。
可以認為符號處理是基于開發(fā)者第一者體驗的,而機器學習是基于開發(fā)者第三者體驗的。比如,圍棋大師總結(jié)下棋的經(jīng)驗,定義規(guī)則,在其基礎(chǔ)上開發(fā)圍棋系統(tǒng),就是基于第一者體驗的。觀察圍棋大師下棋,從其下棋數(shù)據(jù)中自動學習規(guī)律,開發(fā)圍棋系統(tǒng),就是基于第三者體驗的。
有趣的是,LLM 的開發(fā)基于第三者體驗,也結(jié)合第一者體驗。因為模型是基于深度神經(jīng)網(wǎng)絡(luò),使用大規(guī)模數(shù)據(jù),通過預(yù)測誤差最小化的方式學到的,這些都可以認為是基于第三者體驗的。但是在學習過程中的數(shù)據(jù)收集,數(shù)據(jù)清洗,數(shù)據(jù)標注,以及在推理過程中使用的提示(prompt),上下文學習(in context learning),都需要開發(fā)者基于自己的經(jīng)驗,有效地將知識和能力提供給模型,這應(yīng)該看作是基于第一者體驗。這一點與其他的機器學習有本質(zhì)的不同。這也就意味著開發(fā) LLM,既需要能夠觀察數(shù)據(jù)和模型的統(tǒng)計指標,比如 scaling law,又要能夠站在使用者的角度準備數(shù)據(jù),調(diào)教模型。而后者的技巧需要很多觀察和摸索才能掌握。
2.3 LLM 的優(yōu)點和局限
LLM 在一定程度上解決了通用性問題,進一步提高了智能性。大數(shù)據(jù)、大模型返回的結(jié)果大概率是現(xiàn)實中應(yīng)該發(fā)生的而且是合理的。開發(fā)者通過預(yù)訓練、SFT、RLHF、Prompt 等方式,調(diào)教模型,可以大大提高模型的能力。
LLM 已經(jīng)非常強大。但也有大家指出的明顯需要解決的問題:1. 如何優(yōu)化模型,也就是降低訓練和使用成本,同時擴大可處理問題的規(guī)模。2. 如何保證模型生成內(nèi)容的真實性,也就是避免幻覺。3. 如何構(gòu)建可信賴大模型,也就是保證模型生成結(jié)果的有用性,安全性等。
筆者在 ChatGPT 出現(xiàn)之前,曾經(jīng)指出深度學習需要更多地借鑒人腦的處理機制,需要更多的理論指導 [6]。這在 LLM 時代也依然是成立的。LLM 規(guī)模已經(jīng)極其龐大,可能需要新的理論,對模型的能力進行分析和解釋。當模型達到一定規(guī)模以后,整個系統(tǒng)的 Dynamics 呈現(xiàn)了完全不同的規(guī)律,需要進一步研究。
3. 重要研究課題
總結(jié)起來,LLM 時代有以下重要研究課題。
- LLM 的優(yōu)化
- LLM 的真實性
- 可信賴 LLM 與 AI 倫理
- LLM 的理論
- 多模態(tài)大模型
- LLM + 邏輯推理
- 智能體(agent)
面向未來,多模態(tài)大模型、LLM 加邏輯推理、智能體等都是重要的研究課題。下面重點討論前兩個課題。
4. 從人類智能角度看 LLM
4.1 人腦、心智、意識
人腦是一個巨大的神經(jīng)網(wǎng)絡(luò),推測有 1 千億個神經(jīng)元,1 千萬億個突觸。腦神經(jīng)網(wǎng)絡(luò)由諸多去中心化(decentralized)的子網(wǎng)絡(luò)組成,每個子網(wǎng)絡(luò)負責一個特定的功能,子網(wǎng)絡(luò)之間有一定的連接。神經(jīng)網(wǎng)絡(luò)進行的是并行處理,處理速度快,在下意識中進行。人腦神經(jīng)網(wǎng)絡(luò)的一部分被激活時產(chǎn)生某種狀態(tài),稱作神經(jīng)表示( neural representation)。
心智(mind)是我們每個人體驗的內(nèi)心的感知和認知,既有意識的部分又有下意識的部分,主要是意識層面的。目前腦科學的一個有利假說是,意識是人腦整體信息同步的機制,信息同步在工作空間(workspace)中進行 [7]。意識中的信息處理是串行處理,處理速度慢。
具身認知論(emboddied cognition)認為,在人的思維過程中,在意識中的處理產(chǎn)生的是表象(image),心智計算論(computational theory of mind)認為意識中的處理產(chǎn)生的是心智語言(mental language, mentalese)[8]。目前沒有定論,本文根據(jù)需要,同時借用兩者的觀點。
圖 2 人腦和心智的組成
圖 2 給出了人腦和心智的組成。下意識中的腦(神經(jīng)網(wǎng)絡(luò))分成不同的腦區(qū)負責聽覺、視覺、運動、語言,數(shù)學等功能。意識得到下意識神經(jīng)網(wǎng)絡(luò)處理的結(jié)果,通過心智語言表示出來,或者產(chǎn)生表象,在工作空間里進行各種處理。
心智語言是認知科學家福多、平克等提出的假說。一個重要特點是,自然語言是有歧義的,而心智語言沒有歧義。當我們理解某一個概念的時候,腦中喚起所有相關(guān)的多模態(tài)信息進行消歧處理,得到心智語言的表示。
4.2 LLM 的統(tǒng)一實現(xiàn)
目前為止,自然語言處理有六個大的任務(wù),包括分類、匹配、標注和語義分析、序列生成、序列到序列、序貫決策。
- 分類:從文字序列到標簽的映射,如文本分類。
- 匹配:文字序列與文字序列的匹配,如搜索、閱讀理解。
- 標注和語義分析:文字序列到標簽序列或結(jié)構(gòu)表示的映射,如分詞、詞性標注、句法分析。
- 序列生成:文字序列的生成,也就是基于語言模型的生成。
- 序列到序列(seq2seq):文字序列到文字序列的轉(zhuǎn)化,如機器翻譯、生成式對話、摘要。
- 序貫決策:基于已有的文字序列產(chǎn)生新的文字序列,如多輪對話。
前三個是語言理解任務(wù),后三個是語言生成任務(wù)。理解任務(wù)的輸出是類別標簽等,可以認為是心智語言的表示。
所有的任務(wù)都可以用序列到序列 seq2seq 模型實現(xiàn)。語言理解是自然語言到心智語言的 seq2seq。語言生成是心智語言到自然語言的 seq2seq。語言轉(zhuǎn)換是一種自然語言到另一種自然語言的轉(zhuǎn)換。
GPT3、ChatGPT 等用大量文章數(shù)據(jù)做預(yù)訓練,然后用 seq2seq 數(shù)據(jù)做微調(diào),但 seq2seq 數(shù)據(jù)也轉(zhuǎn)換成序列數(shù)據(jù)的形式 [seq:seq],即把兩者拼接起來。注意 ChatGPT 等在生成的時候并不區(qū)別是自然語言還是內(nèi)部表示。內(nèi)部表示也可以是程序代碼。
圖 3 LLM 實現(xiàn)所有自然語言處理任務(wù)
圖 3 描述基于 LLM 的語言理解,語言生成,語言轉(zhuǎn)換(翻譯)的 LLM。比如,思維鏈(chain of thought)就可以認為是心智語言的內(nèi)容?;?LLM 的語言理解就是把自然語言轉(zhuǎn)化為心智語言。注意:心智語言應(yīng)該是沒有歧義的,而用 LLM 生成的內(nèi)容,包括思維鏈,經(jīng)常是有歧義的。
所以,可以認為 LLM 用于語言理解時生成的內(nèi)容是心智語言的近似。自然語言表示心智語言的好處是人們可以很容易定義和標注數(shù)據(jù),如思維鏈數(shù)據(jù),但是缺點是不能保證不產(chǎn)生歧義。6.1 節(jié)有一個數(shù)學解題的例子,也可以用程序表示心智語言,就沒有歧義的問題。
5. LLM 與多模態(tài)處理
5.1 人的語言理解和世界理解
人的語言理解可以從兩個角度定義,一個是概念,另一個是功能。如果是概念,理解一個詞語或者是一句話,意味著把記憶中的相關(guān)概念和事件喚起,并把它們聯(lián)系起來,這是在意識中產(chǎn)生表象或由心智語言的表示。理解的結(jié)果產(chǎn)生語義落實(grounding),是沒有歧義的。因為人腦在理解中做了消歧。
有很多證據(jù)表明,人的語言理解過程是通過視覺、聽覺等多模態(tài)處理進行的。概念相關(guān)的視覺、聽覺表征分別記憶在視覺、聽覺的腦區(qū)。當相關(guān)概念被喚起的時候,在意識中產(chǎn)生多模態(tài)的表象。比如,被問到「大猩猩是不是有鼻子」時,要回答這個問題,我們腦子里會展現(xiàn)出大猩猩的視覺表象。
另一方面,人對世界的理解也是通過語言的。人通過視覺、聽覺、觸覺、味覺、嗅覺從外界環(huán)境獲取信息。世界理解通常是將多模態(tài)信息與語言聯(lián)系到一起的過程。在這個過程中也會在意識中產(chǎn)生表象或心智語言的表示。比如,看到桌子上的物體,會識別是「杯子」,「圓珠筆」等。
5.2 多模態(tài)大模型
大家關(guān)注的一個問題 LLM 是否實現(xiàn)了人的語言理解,LLM 是否建立了世界模型。筆者的回答:是也不是。
LLM 建立的對世界的認識完全是基于語言的,從語言數(shù)據(jù)中學習,將學到的知識存儲于語言模型。所以當問到關(guān)于世界的任何問題,LLM 都能回答,雖然有時是有幻覺的。知識的存儲的方式也與人不一樣,不是基于實體和概念,而是存儲在 Transformer 參數(shù)之中。
可以預(yù)見,當 LLM 和多模態(tài)大模型結(jié)合時,就能產(chǎn)生與人更接近的世界模型。這時知識也會通過實體和概念等聯(lián)系起來。特別是未來,機器人能通過與世界互動,獲得具身的多模態(tài)信息時,其產(chǎn)生的多模態(tài)大模型就應(yīng)該能更接近人類的世界模型。注:世界模型并沒有大家都接受的嚴格定義。
因此,多模態(tài)處理應(yīng)該是 LLM 之后未來人工智能發(fā)展的重要方向。多模態(tài)研究最近也有很多進展。比如,視覺語言模型(vision language model)方面,Open AI 開發(fā)的 CLIP 模型是視覺語言對齊上最有代表性的模型。字節(jié)跳動也開發(fā)了 X-VLM 模型,在細粒度的多模態(tài)理解任務(wù)上有最好的表現(xiàn) [9]。
6. LLM 與數(shù)學能力
6.1 人的數(shù)學能力
數(shù)學能力包括幾種能力,有邏輯推理、算術(shù)計算、代數(shù)計算、幾何概念理解等。
- 數(shù)學能力:從哲學角度看
在西方哲學中,數(shù)學一直被認為是一種人類天生具有的獨立的能力。
亞里士多德認為哲學理論可以分為數(shù)學、自然學(physics)和形而上學 (metaphysics)。在古希臘,數(shù)學被認為獨立于「科學」的學科,因為其抽象性和邏輯性。
圖 4 將 2×2 的正方形面積擴大一倍的方法
柏拉圖在《美諾篇》中介紹了蘇格拉底與一位奴隸少年的對話。蘇格拉底通過不斷提問的方式,引導奴隸少年解決了如何把一個 2×2 的正方形的面積擴大一倍的數(shù)學問題(見圖 4)。蘇格拉底試圖證明,人的數(shù)學思維能力,更一般地,人的理性是生來具有的。
康德在《純粹理性批判》中主張人的推理能力是先天的,他稱之為先驗綜合判斷,其中包括數(shù)學推理,比如計算 5+7=12。
- 數(shù)學能力:從腦科學角度看
近年腦科學和認知科學的研究發(fā)現(xiàn),人的數(shù)學基本能力是先天的,如基本的計算能力。數(shù)學思維主要涉及一些特定的腦區(qū) [9]。
有這樣的實驗,4 個月的兒童,讓他們看到把一個球滾到屏風后面,再滾一個球過去,當把屏風挪開的時候,如果他們看到的留下的不是兩個球而是一個球,都會露出非常吃驚的表情。說明他們知道 1+1=2。
遞歸運算是數(shù)學的核心能力,猜測是人天生就有的。腦科學家發(fā)現(xiàn)人腦頂葉有一個腦區(qū),其主要功能是數(shù)學思維,具體的機理仍不清楚,需要今后進一步研究。
當然不是所有的數(shù)學能力都是先天的,也有后天習得的數(shù)學能力。研究發(fā)現(xiàn),數(shù)學家的部分視覺腦區(qū)在后天的學習過程中被再利用于數(shù)學 [10]。
- 數(shù)學思維:科學家的自省
數(shù)學思維會經(jīng)常上升到意識??茖W家們經(jīng)常把自己的數(shù)學思維過程描述為意識中的與數(shù)學相關(guān)的表象的操作過程,這些表象與數(shù)學概念密切聯(lián)系在一起。對應(yīng)著大腦神經(jīng)網(wǎng)絡(luò)怎樣的計算尚不清楚。
愛因斯坦曾這樣反思自己的數(shù)學思維過程,「詞匯或者語言,無論是書面形式還是口頭形式,似乎在我的思維中并沒有發(fā)揮任何作用。作為思維元素的實體是某些符號和或多或少清晰的表象,可以自發(fā)地復制和組合。而且,這些元素和相關(guān)的邏輯概念之間存在一定的聯(lián)系。」
6.2 LLM 用于數(shù)學解題
LLM 本身具備類推推理(analogical reasoning)的能力,但不具備邏輯推理(logical reasoning)的能力(邏輯推理是指基于三段論的推理)。因此,LLM 可以做一些簡單的數(shù)學計算、數(shù)學解題。對比于人,相當于用死記硬背的方法做數(shù)學。雖然 GPT4 展現(xiàn)出了非常強的數(shù)學解題能力,求解復雜的數(shù)學問題應(yīng)該還需要其他機制。
一個想法是 LLM + 邏輯推理的數(shù)學解題。用 LLM 理解數(shù)學問題的題意,將其轉(zhuǎn)換為心智語言,在心智語的基礎(chǔ)上進行邏輯推理和數(shù)學計算。邏輯推理和數(shù)學計算調(diào)用其他的數(shù)學計算機制。
人的數(shù)學解題有兩種機制,分別使用心理學稱作的系統(tǒng) 1 和系統(tǒng) 2,進行快的思維(基于死記硬背)和慢的思維(進行深入思考)。用 LLM 直接解題,對應(yīng)著系統(tǒng) 1。用 LLM 產(chǎn)生心智語言,在心智語言的基礎(chǔ)上進行解題,對應(yīng)著系統(tǒng) 2。
在字節(jié)跳動,我們?nèi)ツ晏岢隽松窠?jīng)符號處理方法,結(jié)合神經(jīng)處理和符號處理,用于自然語言理解任務(wù)。也是基于相同的思想結(jié)合系統(tǒng) 1 和系統(tǒng) 2 的機制 [11]。這套方法既可以用于數(shù)學解題,又可以用于自然語言理解。
6.3 程序語言作為心智語言
上述基于 LLM 的數(shù)學解題和自然語言理解方法中,一個自然的想法是用程序語言表示心智語言。這是因為 LLM 一般使用程序訓練,也能生成程序。
我們最近做了大規(guī)模的實驗,驗證了 Python 程序比英語(自然語言)作為 “心智語言”,在數(shù)學解題中更有優(yōu)勢的事實 [12]。這個方法的一個優(yōu)點是,LLM 理解題意后,得到的程序可以直接通過解釋器執(zhí)行,驗證解題步驟的正確性。在 Python 程序上進行推理,也比在自然語言上進行推理更為容易。