【GPT-4理論篇-1】GPT-4核心技術探秘

京東雲開發者發表於2023-05-19

前言

GPT-4已經發布有一段時間了,但是出於安全性等各種原因,OpenAI並沒有公佈GPT-4的技術細節和程式碼,而是僅僅給出了一個長達100頁的技術報告[1]。

這個技術報告著重介紹了GPT-4的強大之處,僅僅給出了幾個技術方向的概括,對於想了解技術細節的我們遠遠不夠。

在本文中,我將結合GPT-4的技術報告、GPT-4相對於GPT 3.5/ChatGPT的提升、GPT-4和ChatGPT的對比、OpenAI的近期工作,大語言模型(Large Language Model,LLM)模型的科研進展,多模態模型的科研進展等多方面的資訊,深入分析GPT-4的技術細節。

因為並沒有明確的證據證明GPT-4就是這麼做的,所以我們在這裡主要討論要實現GPT-4的這些能力,OpenAI可能使用了哪些技術。所以如果我的推測有所錯誤,也歡迎各位讀者在評論區探討。接下來讓我們一起化身福爾摩斯,開始分析GPT-4背後的原理吧。

1. GPT-4的提升

GPT-4是在ChatGPT基礎上迭代出來的,關於ChatGPT的原理我再這裡就不再贅述,需要了解的移步我在《ChatGPT/InstructGPT詳解》一文中給的介紹。這篇文章中,我們先討論GPT-4相對於ChatGPT做了哪些改進,即GPT-4相對於ChatGPT有哪些功能上的提升。接下來我們討論OpenAI為了做到這些提升,在GPT-4中可能應用了哪些技術。最後我們討論其它大語言模型以及使用GPT-4的一些感想。

1.1 zero-shot及few-shot的學習能力

當我們在使用GPT-4進行文字生成時,我們會驚喜的發現GPT-4幾乎可以非常完美的回答你各種***鑽的問題,這說明了GPT-4具有非常強大的無監督學習的能力。

此外,GPT-4的技術報告中也給出了大量的無監督學習的例子,甚至在有些場景逼近甚至超過了有監督的SOTA方法。例如在HumanEval[3]的程式碼生成資料集上,甚至超過了著名的程式碼生成工具CodeX[3]。此外,在評估正確性的問答資料集TruthfulQA [26]上,GPT-4逼近了SO他的 Anthropic-LM[4]。

1.2 邏輯推理能力

GPT-4的技術報告中著重強調的是它相對於ChatGPT在諸多學術考試上的提升,如圖1。學術測試評估反映的是GPT-4比ChatGPT有更強的邏輯推理能力。@嶽玉濤 Max透過19個問題橫向對比了GPT-4和ChatGPT的邏輯推理問題[2],其中ChatGPT的正確率是37%,GPT-4的正確率是100%,從對比的例子中我們明顯可以看出GPT-4在邏輯推理上有著質的飛躍。

圖1:GPT-4與ChatGPT在諸多學術考試中的成績對比

我這裡也找了一個簡單的邏輯推理問題,可以看出在這個過橋的例子中ChatGPT雖然給出了過橋順序,但是時間計算錯誤,而GPT-4則簡單又清晰的解決了這個問題。

問題:四個人 ABCD 過橋,一次最多能過兩個人,他們的手電能維持十七分鐘,每個人所需的時間分別為 1、2、5、10;求最快可以多長時間全部過橋?

ChatGPT:為了讓四個人儘快過橋,我們需要讓速度最慢的人儘快過橋。因此,我們可以先讓速度最慢的兩個人 A 和 B 過橋,然後讓 A 返回,再讓速度次慢的人 C 和 D 過橋,最後讓 B 返回,這樣就完成了全部過橋的過程。

具體來說,我們可以按照以下步驟進行:

A 和 B 過橋,花費時間為 10 分鐘。

A 返回,花費時間為 1 分鐘。

C 和 D 過橋,花費時間為 5 分鐘。

B 返回,花費時間為 2 分鐘。

A 和 B 過橋,花費時間為 10 分鐘。

因此,總共花費的時間為 10 + 1 + 5 + 2 + 10 = 28 分鐘。這就是最快可以多長時間全部過橋的時間。

GPT-4:為了使四個人 ABCD 最快地全部過橋,我們可以採取以下策略:

A 和 B 一起過橋,用時 2 分鐘。

A 返回,用時 1 分鐘。

C 和 D 一起過橋,用時 10 分鐘。

B 返回,用時 2 分鐘。

A 和 B 一起過橋,用時 2 分鐘。

總共用時:2 + 1 + 10 + 2 + 2 = 17 分鐘。

所以最快可以在 17 分鐘內使所有人過橋。

1.3 理解圖表能力

GPT-4的一個重大提升是開始涉及多模態,鑑於GPT-4的影像介面還未開放,我們這裡借用GPT-4的技術報告中給的例子。在圖2中,GPT-4能夠精確的理解VGA口Lightning口的不協調之處。這個例子說明GPT-4不僅僅是簡單的理解影像中的內容,它最厲害的點在於能夠識別影像中的特殊點。

圖2:GPT-4具有強大的圖、表理解能力

1.4 更安全的文字生成能力

GPT-4的技術報告中重點討論了GPT-4和之前的模型一樣有安全問題,但GPT-4的安全性已經大幅提升。技術報告中指出,ChatGPT生成有害內容的機率大概是GPT-4的10倍。圖3舉了大量的早期GPT-4和成熟GPT-4在有風險提示下生成的內容,可以看出成熟GPT-4的危險性大大降低,但這並不意味著GPT-4就是一個完全無害的模型。

圖3:早期GPT-4和成熟GPT-4在生成內容安全性上的示例

GPT-4做了大量的工作來保證模型的安全性,首先它們聘請了50餘位不同方向的領域專家進行對抗測試和紅隊測試,二是訓練了一個基於規則的獎勵模型(Rule-Based Reward Models, RBRMs)來輔助模型的訓練,關於這一部分的實現細節,我們將會在後面詳細展開。

1.5 更強的程式設計能力

GPT-4的技術報告中另外一個重要的對比項是它和ChatGPT在LeetCode上易中難三個不同難度上的程式碼生成能力。在無監督的情況下,GPT-4在HumanEval資料集上的評估準確率由ChatGPT的48.1%提升至67.0%。GPT-4的技術報告中指出,ChatGPT在LeetCode的166道程式設計題中僅對了20道,而GPT-4則回答對了55道。表1是GPT-4和ChatGPT在LeetCode的這166道程式設計題的具體分佈。

GPT-4 GPT-4 (no vision) ChatGPT
LeetCode(easy) 31 / 41 31 / 41 12 / 41
LeetCode(medium) 21 / 80 21 / 80 8 / 80
LeetCode(hard) 3 / 45 3 / 45 0 / 45

表1:GPT-4和ChatGPT在LeetCode程式設計題上的表現效果

1.6 處理其它語言的能力

GPT-4在英語以及非英語上都有了大幅提升,在大多數語種上都超過了ChatGPT在英語上的表現,這裡我們分別讓ChatGPT和GPT-4分別應《讓子彈飛》中湯師爺的要求寫一首詩,要求是“要有風,要有肉;要有火鍋,要有霧;要有美女,要有驢!”。對比兩首詩,ChatGPT寫的像是沒有什麼文采的現代詩,而GPT-4生成的內容除了前面兩居字數過多之外,基本像一首中國古詩了,甚至還在一定程度上保證了押韻。

ChatGPT:

風吹過山崗,肉香四溢
火鍋熱氣騰騰,霧氣繚繞
美女婀娜多姿,驢兒歡快奔騰
這是一幅獨特的畫卷,讓人心曠神怡
風肆意地吹拂,肉香撲鼻而來
火鍋裡的食材,讓人垂涎欲滴
霧氣瀰漫,讓人感到神秘
美女的容顏,讓人陶醉其中
驢兒的歡快,讓人感受到生命的活力
這是一幅充滿生命力的畫卷,讓人心馳神往

GPT-4:

翻滾的風肆意掠過山澗,
火鍋涮肉錦上添花。
炊煙裊裊繞霧纏,
美女佳驢共同遊。

美女翩翩拂驢背,
吹散煩憂與世界。
嬉戲胭脂笑顏醉,
驢兒踏歌奔山外。

火紅蘑菇熱情翻,
辣椒牛肉峰水澹。
鴛鴦火鍋歡歌笑,
時光荏苒留夢間。

霧濛濛滌淨塵緣,
蓑衣柴扉任風險。
驢蹄踏碎人間俗,
飛鴻蹄印留輝煌。

1.7 處理更長序列的能力

ChatGPT能處理的最大序列是4K個token,而OpenAI開放了8k和32k的兩個模型,其中每個漢字大概佔用2到2.5個token。GPT-4的token根據指示和回應分別計價(表2),其中32k的價格是8k的兩倍,對比ChatGPT的每1000token的0.02美元,GPT-4要貴了15倍左右。

模型 Prompt Completion
8K context $0.03 / 1K tokens | $0.06 / 1K tokens
32K context $0.06 / 1K tokens | $0.12 / 1K tokens

表2:GPT-4的收費細節

關於GPT-4的更多能力的探測,微軟雷蒙德研究院機器學習理論組負責人Sébastien Bubeck在他們最新發布的長達155頁的文章[25]中進行了廣泛的討論。

他們指出GPT-4表現出了遠超文字生成模型理論上能表現的效果,成為了點燃通用人工智慧(AGI)烈焰的星星之火,GPT-4已經具備了非常強的推理、計劃、解決問題、抽象思考、理解複雜想法、快速學習以及從經驗中學習的能力。


2. GPT-4技術方案猜測

有了我們發現的GPT的這些提升,我們便可以結合當前LLM的進展以及OpenAI的工作猜測GPT-4可能的技術方案。因為我們只能依靠公佈的演算法進行推測,不排除OpenAI內部使用未開放的演算法作為解決方案,所以如果我的猜測有誤,您就姑且當做學習到了幾個獨立的演算法。

  1. zero-shot及few-shot的學習能力:這個提升的理論依據很大可能是因為大模型的湧現能力(emergent ability)[5];
  2. 邏輯推理能力:用到了大模型的思維鏈(Chain of Thought,CoT)[6]以及自提升能力(Self-Improve Ability)[7];
  3. 理解影像能力:推測借鑑了OpenAI著名的多模態模型CLIP[8]或者是微軟的多模態模型KOSMOS-1[12];
  4. 更安全的文字生成能力:這一部分技術報告中介紹的比較多,主要是專家測試,幻覺檢測以及RBRM;
  5. 更強的程式設計能力:推測這一部分借鑑了OpenAI的著名的程式碼生成模型:CodeX;
  6. 處理其它語言的能力:推測可能借鑑了XLM [9]等跨語言預訓練模型的思想,或是因為湧現能力強化了GPT-4在其它語種上的表現效果;
  7. 處理更長序列的能力:推測這一部分用到了處理長輸入的模型Transformer-XL [10]或者OpenAI提出的可以降低長資料複雜度的Sparse Transformer [11];

下面我們介紹我們的推測依據以及對這些推測的技術進行簡單的介紹。

2.1 湧現能力

湧現能力(emergent ability)是LLM取得突破性進展最重要的核心技術,湧現能力指的是一種模型在訓練過程中,自動地學習到一些高階的、複雜的功能或行為,而這些功能或行為並沒有被直接編碼或指定。

這種能力可以使得模型在處理新的、未知的任務時表現更加出色,因為它可以自適應地學習到新的功能或行為,而不需要重新訓練或修改模型。圖4展示了包括GPT-3在內的諸多LLM都展現了非常強的湧現能力,即模型的引數量等指標突破某個指標後,它的效能會快速提升。這裡我們可以斷定GPT-4的zero-shot和few-shot的學習能力是源自大模型的湧現能力。

模型產生湧現能力主要是取決四點,它們分別是:

  • 模型超大的引數量;
  • 模型的架構;
  • 高質量的訓練資料;
  • 更先進的訓練策略。

其中模型的引數量是最為重要的因素。

圖4:GPT-3等諸多大模型在多個任務上都展示出了湧現的能力

2.1.1 模型引數量

GPT-4的引數量是一個大家都在討論的話題,考慮到GPT-4比ChatGPT更強的湧現能力以及額外新增的影像編碼模組,GPT-4的引數量應該不會比ChatGPT小。圖5是方舟投資(ARK Invest)統計的ChatGPT Turbo和GPT-4的預測每個token的時間,其中GPT-4的時間大概是ChatGPT的4倍左右。而且GPT-4很有可能使用了一些策略加速模型的推理速度,所以GPT-4的文字模型引數部分大概是千億級別但是非常接近萬億。

如果GPT-4使用了CLIP做影像編碼,據OpenAI論文公佈,目前最大的影像編碼器是擴大了64倍的殘差網路,那麼GPT-4的影像編碼大概有16億。當然,我們無法排除GPT-4採用了其它影像編碼結構,例如同樣是利用Transformer的KOSMOS-1[12]就是一個不錯的選擇,那麼影像部分的引數量如何就只能等更多相關內容公開了。

圖5:ARK Invest統計的ChatGPT和GPT-4在預測每個token上的時間佔比

2.1.2 模型的架構

我們可以確定的是,GPT-4的技術報告中指出GPT-4採用了以Transformer為基礎的架構,即核心架構還是採用了GPT系列的Decoder-only的結構。對於GPT-4模型的內部細節,我們可以確認的點不多,考慮到GPT-4的速度以及處理長文字的能力,它的內部結構但有這兩種可能性:

  1. 因為GPT-4大幅提升了對長文字的能力,GPT-4有一定機率使用了Transformer-XL或者Sparse Transformer;
  2. 因為GPT-4更有可能是在ChatGPT基礎上迭代出來的,它可能還是使用了原生的Transformer,並增加了更多的層數,head數以及隱層節點數。

因為GPT-4還支援影像輸入,那麼其中一定有關於影像編碼的部分,我們將這部分內容放在2.3節詳細展開。

2.1.3 訓練策略和訓練資料

GPT-4的基本保持了和ChatGPT相同的訓練策略,即基本遵循了預訓練+提示+預測的正規化,如圖6。我們這裡主要介紹GPT-4的改進,主要有三點。

  • 引入了基於規則的獎勵模型(Rule Based Reward Model,RBRM);
  • 引入了多模態的提示學習;
  • 引入了思維鏈。

圖6:ChatGPT的模型訓練步驟

1. RBRM

GPT-4的第一個改進則是引入了RBRM,RBRM是根據規則編寫的一個四分類模型,它的四個類別是:

  • 期望樣式的拒絕;
  • 不期望樣式的拒絕;
  • 包含了不允許的內容;
  • 安全,不拒絕的響應。

GPT-4被用在了圖6中Step 3的PPO階段。為了提升模型的安全性,ChatGPT在Step 3使用了人工反饋的強化學習(Reinforcement Learning with Human Feedback,RLHF)來訓練模型。ChatGPT的這部分資料來源於GPT-3的API使用者,GPT-4則在這裡新增了RBRM,目的是透過正確的獎勵引導模型的訓練,來拒絕生成有害的請求以及不拒絕無害的請求。

使用規則構建NLP模型由來已久,其實NLP的最早期的模型就是基於規則的模型,然後才是基於機率的模型以及基於神經網路的模型。

例如夏農把離散馬爾可夫過程的機率模型用於描述語言的自動機,以及我們經常使用的正規表示式都是典型的基於規則的文字模型。基於規則的模型的優點是我們不需要訓練資料,缺點是它往往是需要領域專家來設計規則,並且往往只能解決一定領域內的問題。我在這裡猜測RBRM是由領域專家設計的,由一系列例如正規表示式,有限狀態機等文字規則編寫的一個零樣本分類器。

基於規則的強化學習在近年來也被廣泛提及,強化學習的一個重要最佳化目標是減少搜尋空間的範圍,而這項工作恰好可以交給規則的約束來完成。在經過規則的約束後,再透過強化學習在剩餘的空間中進行搜尋,這樣就減少強化學習的搜尋空間,可以有效提升收斂速度。GPT-4的RBRM的工作原理大致如圖7。

圖7:RBRM的工作原理

2. 多模態提示學習

GPT-4並沒有對它的多模態能力的技術細節進行詳細介紹,而且它的影像介面沒有開放公測。但是我們可以看下多模態領域有沒有類似GPT-4的報告中類似的工作。巧合的是微軟在今年年初公佈的KOSMOS-1[12]擁有非常強的多模態QA的能力,它的思想也和GPT-4非常類似,我們這裡可以推測GPT-4使用了和KOSMOS-1類似的多模態提示方法。

KOSMOS-1支援三種型別的資料集,分別是文字生成,影像描述(Image Caption)生成以及多模態QA,圖8是KOSMOS-1在影像描述生成以及QA生成上的例子。在圖8.(a)的影像描述生成中,模型的輸入是影像的Embedding,輸出是預測的影像描述。在圖8.(b)的多模態QA中,KOSMOS-1將影像嵌入與文字嵌入共同作為輸入,然後用於預測問題的答案。

圖8:KOSMOS-1的多模態輸入示例

3. 思維鏈

GPT-4的擁有比ChatGPT明顯強的邏輯推理能力,在訓練模型時應該是使用思維鏈的方式構建提示樣本。思維鏈不僅支援純文字輸入,還支援圖文多模態輸入,我們接下來用一節的篇幅來介紹這個重要的內容。

4. 能力預測

在我們在某個特定任務上訓練一個模型時,我們希望能夠預測模型在這個任務上的最終表現,這就是模型的能力預測(Capability Prediction)。在自然語言處理和大型語言模型領域,能力預測通常是指預測和評估一個模型在特定任務、領域或場景下的表現能力。

能力預測的目的是為了更好地瞭解模型的效能,以便最佳化、調整或改進模型。透過對模型的能力預測,我們可以更好地理解模型的優勢和侷限,從而為模型的進一步發展和改進提供有價值的反饋。GPT-4在訓練時也使用了能力預測,這讓他們能夠更準確的評估模型的效果,節約了訓練成本。

2.2 邏輯推理能力

OpenAI為了提升GPT-4的推理能力,很有可能使用了近年來LLM非常重要的思維鏈以及自提升能力。它們可以看做是提示學習在邏輯推理能力上的針對性最佳化,下面我們分別介紹它們。從GPT-4的技術報告中,我們可以發現很多GPT-4的訓練使用了思維鏈或者自提升的證據。

2.2.1 思維鏈

思維鏈(Chain of Thought)是指人們在進行思考時,由於某個觀點、想法或感知刺激而引發的一系列相關思維聯想和關聯。這些關聯可以透過人們的記憶、經驗、知識、情感和意識等方面來建立和加強,最終形成了一個有機的思維鏈,幫助人們理解和解決問題,做出決策和行動。思維鏈是人類思維活動的重要組成部分,它反映了人們的思考方式、思考習慣和思考效率。透過構建和加強思維鏈,可以幫助人們更好地理解和把握事物的本質和規律,更加有效地解決問題和做出決策。

在人工智慧領域,研究人員也在探索如何利用機器學習和自然語言處理等技術,來模擬人類的思維鏈,建立機器的思維鏈,幫助機器更好地理解和處理人類的語言和行為,實現更加智慧化的應用和系統。OpenAI的論文[6]是思維鏈方向具有重要意義的一篇文章,也是GPT-4很有可能使用的技術方案,在這篇文章中,他們提出了透過構建思維鏈提示的方式來提升模型的推理能力。思維鏈也是一種湧現能力,它可以透過僅提供少量的樣本便大幅提升模型的邏輯推理能力。

思維鏈的與傳統提示學習的不同點是在提示中增加一個推理過程,構建一個由輸入,思維鏈,輸出構成的三元組。圖9是傳統提示和思維鏈提示的例項。

圖9:傳統提示學習和思維鏈提示學習,思維鏈會在輸入中給出推理過程來幫助模型學習推理的能力

思維鏈也支援多模態的輸入,GPT-4的技術報告中也指出了GPT-4使用了多模態的思維鏈。圖13的GPT-4的例子便是一個經典的因為使用思維鏈訓練了模型而產生的包含推理過程的預測結果。圖10是上海交大和亞馬遜最新發表的一個多模態思維鏈的框架:Multimodel-COT [14]。

它包含兩個階段,兩個階段共享引數。在第一個階段,他們將影像和文字輸入到模型中來生成理由,也就是思維鏈。在第二個階段,他們將原始輸入和生成的理由合在一起,輸入到模型中來生成答案。

圖10:Multimodel-COT的推理過程

2.2.2 自提升

谷歌在2022年釋出的一篇文章[7]中指出,LLM和思維鏈的結合可以讓模型使用無監督的資料進行自我提升(Self-Improve),它的核心方法如圖11所示。GPT-4也指出他們使用了[7]的方案來提升模型的遵循使用者意圖的能力。

圖11:LLM可以透過大模型進行自我提升

它的計算過程如下:

  1. 首先我們基於思維鏈構建提示;
  2. 根據不同的溫度係數,模型生成多個不同的包含推理過程的Path;
  3. 我們使用投票的方式選擇最有可能的正確答案;
  4. 將包含這個正確答案的所有Path用來最佳化LLM。

你可能已經發現這個方法得到的答案並不一定是正確的答案。作者透過實驗得出了兩個重要結論:

  1. 答案的正確率和它的置信度是高度相關的,也就是說透過投票得到的答案很有可能是生成的答案中最正確的那個;
  2. 即使答案是錯誤的,將它們加入到訓練資料中也有助於模型的訓練。

在得到了推理Path之後,作者根據這個Path構建了四種不同的輸入資料,它們分別是:

  1. 標準的思維鏈提示,即構建(問題,思維鏈,答案)三元對;
  2. 傳統的提示學習,即只有問題和答案;
  3. 輸入是問題,新增“Let's think step by step”提示,讓模型預測推理步驟;
  4. 傳統的QA,即輸入問題,預測答案。

最後,為了豐富資料集,作者提出了兩個方案來擴充資料:一是隨機組合兩個問題,然後讓模型生成新的問題;二是讓模型生成推理步驟,並將它加入到訓練集中。

2.3 理解圖表能力

因為GPT-4是支援影像格式的圖表輸入的,OpenAI著名的多模態演算法CLIP[8]講的是我們可以透過對比學習將影像和文字對映到同一特徵空間,如圖12。那麼結合CLIP的影像編碼器便可以實現GPT-4的影像輸入,這時我們需要訓練一個可以和GPT的文字特徵對齊的影像編碼器,然後將CLIP的影像編碼器的輸出作為影像token,最後再加一個embedding層將這個token編碼為GPT-4的特徵向量。

圖12:CLIP的結構,它透過對比學習將影像和文字投影到相同的特徵空間

GPT-4除了可以理解圖2中這種照片的例子,最神奇的是GPT-4還可以理解圖13這種包含了很多細節的學術圖片。因為在一個學術圖片中,圖中代指的符號,目標之間的位置關係都是十分重要的,如果GPT-4僅僅透過一個影像編碼就能捕獲這些細節資訊,那麼這個影像編碼器一定也展現出了非常強的湧現能力,這個影像編碼器也大機率是千億規模的引數量。

圖13:GPT-4具有理解學術影像中具體細節的能力

GPT-4的多模態能力還有一種可能是類似多模態大語言模型(Multimodel Large Language Model,MLLM)。其中微軟的KOSMOS-1展示了和GPT-4類似的多模態語言模型的能力,KOSMOS-1在多模態問答上也展示出了非常強的湧現能力,如圖14。

KOSMOS-1是一個基於Transformer解碼器的多模態模型,它將不同模態的資料拼接到一起,例如表示文字輸入,【GPT-4理論篇-1】GPT-4核心技術探秘和<\image>表示影像輸入,其中影像嵌入使用的是微軟的METALM[13]計算得到的特徵向量。我們推測GPT-4有可能借鑑了KOSMO-1S的思想,然後結合了OpenAI自身的一些多模態的工作。

圖14:微軟的KOSMOS-1湧現出了非常強的影像理解能力

關於GPT-4的多模態的更多技術細節,我們可以等GPT-4的影像介面開放之後多多測試才能發現。

2.4 更安全的輸出

現有的深度學習模型的思想均是使用大模型擬合訓練集,對於一個生成模型來說,它的輸出內容並不是完全可控的,GPT-4也不例外。GPT-4的技術報告中指出文字模型會存在下面幾類的風險輸出,例如幻覺、有害內容、歧視、虛假資訊、暴力、隱私、網路安全等。GPT-4做了大量工作來緩解這個問題。

GPT-4的第一個緩解風險輸出的問題是聘請了50餘名來自不同領域專家扮演紅隊進行對抗測試。紅隊的工作是提出有危險性的問題,以測試GPT-4給出的輸出,並嘗試攻克它。透過領域專家的對抗,OpenAI也採集了大量不同方向的領域專家資料來提升GPT-4的安全性。

2.4.1 幻覺

幻覺(hallicination)是生成模型都非常難以解決的問題,它指的是模型產生的荒謬的或者不真實的內容,也就是一本正經的胡說八道。隨著模型生成的內容語句越來越通順,內容越來越具有說服力,那麼這種幻覺行為將是特別有害的。模型產生幻覺可以歸納為下面幾個原因:

  1. 資料偏差:訓練集可能存在某些偏差,例如資料的確實,錯誤可能會影響模型對於自然語言的理解;
  2. 資料稀疏:訓練集可能在某一方面資料比較少,導致模型在這一方面生成的能力不可控;
  3. 模型結構:模型的結構以及引數量可能會影響模型的泛化能力和表示能力,導致模型在某些方面產生幻覺的現象。

GPT-4採用了兩個策略來解決這個問題:

第一種方法是利用ChatGPT的資料進行訓練。 這個方法的優點是ChatGPT在當時已經具有了一定程度拒絕生成有害內容的能力,比在網上爬取的資料具有更高的可靠性。但它的問題是可能會將ChatGPT的問題繼承到GPT-4中。而且依靠一個模型的生成內容作為另一個模型的訓練資料,可能會導致模型的過擬合。

第二種方法是採用NLP技術來檢測模型產生的幻覺樣本,包括自動評估和人工評估。 這個方法的優點是可以有效的檢測和糾正模型產生的幻覺問題。它的缺點是依靠自動評估的方法可能會因為評估模型的缺陷漏掉一些幻覺樣本,而人工評估的最大問題是人工成本是非常高昂的。

在幻覺檢測方面,Meta有著非常重要的貢獻。一方面他們提出了幻覺檢測任務並製作了針對這個任務的幻覺檢測資料集HADES[15],另一方面他們提出了一個幻覺檢測方法 [16],這個方法透過合成幻覺資料來對預訓練模型進行微調。該模型可以檢測一個句子中出現的幻覺詞,來對生成內容的真實性進行評估,從而減輕幻覺出現的機率。圖15是該方法在機器翻譯中的一個例子,標籤為1的部分對應了生成的幻覺內容。這裡猜測OpenAI可能採用了和Meta類似的方法或資料。

圖15:FAIR提出的幻覺檢測方法在機器翻譯中的示例

具體的講,OpenAI設計了一個多步驟的過程,使用GPT-4本身來生成是否有幻覺的比較資料,並將它們併入到圖6步驟2的獎勵模型的訓練集中:

  1. 將提示p輸入到GPT-4中並得到一個響應r1;
  2. 將p和r1輸入到GPT-4中,並指示它列出所有的幻覺token。如果沒有幻覺,則繼續生成,直到有它列出幻覺h1;
  3. 將p,r1和h1輸入到GPT-4中,並指示它生成一個沒有幻覺的響應r2;
  4. 將p和r2輸入到GPT-4中,讓它列出所有的幻覺token,如果沒有檢測到幻覺,則可以將r1和r2作為一個對比樣本對放入獎勵模型的訓練集中了。

2.4.2 其它問題

對於可能出現的其它風險輸出,OpenAI並沒有詳細的介紹它的技術方案,不過從他們的技術方案中,我們可以看出他們大概使用了下面幾類方法:

  1. 使用RBRM來檢測可能出現的風險;
  2. 透過提示學習讓模型學習拒絕回答此類問題;
  3. 利用紅隊發現這些可能存在的問題;
  4. 過濾訓練資料,刪除可能出發風險問題的樣本;
  5. 訓練獎勵模型,讓模型懲罰有危害的輸出內容;

2.5 程式設計能力

GPT-4在程式設計能力上比ChatGPT有了巨大的提升,一方面他可能因為思維鏈掌握了更強的邏輯分析能力,另一方面它很有可能借鑑了OpenAI著名的程式碼生成演算法CodeX[3]。CodeX是GPT-3在程式碼生成領域的衍生版本,也是Copilot外掛背後的基礎演算法。CodeX採用了GPT系列的Decoder-only的架構體系,模型的引數量有從12M到12B等多個不同的版本。CodeX的訓練分成預訓練和微調兩個階段。

在預訓練階段,OpenAI首先從Github上爬取了大量的Python檔案,經過清洗後得到了一個大小為159GB的訓練集。因為CodeX是一個程式碼生成模型,所以它並沒有使用GPT-3訓練好的權重,也沒有完全照搬GPT-3的模型超參,而是重新訓練了一個程式碼生成模型。

在微調階段,OpenAI從競賽網站,面試網站,Github的單元測試指令碼中收集了大約40000條資料。在評估程式碼正確性上,CodeX並沒有使用傳統的BLEU分數,而是使用了程式碼能夠透過多少比例的單元測試作為評估標準,並建立了評估測試集HumanEval和評估標準pass@k。

為了避免資料洩露,HumanEval的資料全部是由人類親自構造的,總共包含164個題目和大量的測試用例。HumanEval將每個函式劃分為四類,即函式簽名(function signature),函式註釋,函式主體以及單元測試樣本組成。在進行提示學習時,函式簽名和函式註釋作為輸入的提示,函式主體作為要求的輸出,單元測試用於評估生成程式碼的效果。

CodeX的評估標註和Leetcode類似,即有多少比例的測試用例透過測試了,CodeX的評估標準pass@k表示從模型的所有生成答案中隨機抽取k個,從這k個答案裡得到正確答案的機率。它的計算方式如式(1)。其中n是每個問題生成的答案,k是從n個答案中隨機抽取的k個,c是n個答案裡透過單元測試的答案數。

CodeX和GPT-4都是GPT-3的下一代模型,讓GPT-4使用CodeX現成的思想和資料,並提高模型的程式設計能力,是再合理不過的工作了。

2.6 多語言能力

關於GPT-4的在其它語種上的能力的大幅提升,OpenAI並沒有給出介紹,我也沒有查到相關解釋。這裡我根據目前的技術積累,猜測一下OpenAI可能使用的技術方案:

  1. 提升了其它語種的訓練資料;
  2. 更大規模的模型讓GPT-4在小語種上湧現了更多的能力;
  3. 加入了針對小語種的任務,例如利用現有平行語料構建基於提示學習的機器翻譯任務,使用機器翻譯引擎將部分資料翻譯成小語種等。

這一部分的相關資料確實不多,也歡迎大家在評論區給出自己的猜測。

2.7 長序列能力

這裡的長序列包含兩個方面,一方面是GPT-4是支援多輪對話的,另一方面是GPT-4支援更長的輸入資料,下面我們來討論它們可能使用的技術。

2.7.1 多輪對話

ChatGPT和GPT-4都支援連續對話,但OpenAI一直也沒有給出連續對話能力的背後技術方案。如果在每一輪對話時都粗暴的把之前的對話重新作為輸入提供給模型。雖然理論上講是行得通的,但這種方式的最大問題是隨著對話輪數的增多,輸入的資料也會快速增加,進而導致ChatGPT或者GPT-4的預測速度越來越慢,但是我在使用ChatGPT和GPT-4的多輪對話時並沒有發現這種速度逐漸變慢的現象。

如果要從模型角度解決這個問題,我們恰好有一個演算法可以解決這個問題,它就是Transformer-XL[10]。Transformer-XL的重要改進是提出了片段遞迴的機制,如圖16。片段遞迴機制類似於Transformer和RNN的結合體,它的核心思想是對於一個長度不限的變長資料,在計算的時候也是固定每個片段的長度並計算這個片段的特徵,然在計算下個片段時將前面片段的特徵加到當前片段上,從而讓模型可以處理任意長度的特徵。

圖16:Transformer-XL的片段遞迴機制

反應到ChatGPT和GPT-4的多輪對話中,我推測OpenAI借鑑了Transformer-XL的片段遞迴的思想。即GPT-4然後在進行第\(t\)輪的計算時,會將快取的第t-1輪的特徵和第t輪的特徵相加,共同用於當前輪次的計算。因為第t-1輪也考慮了第t-2輪的特徵,理論上這個方式可以在不影響預測時間的前提下獲得之前很多輪之前的對話內容。

2.7.2 長序列輸入

傳統的Transformer並不擅長處理長序列問題,因為輸入長度為n的Transformer的複雜度為O(n^2)。Transformer的預設輸入長度是512,對於長度大於512的輸入資料Transformer的解決方案是將它拆分成多個長度為512的文字塊,但是這種會造成上下文碎片的問題,上一節介紹的Transformer-XL便是用來解決這個問題的。

這裡我們介紹OpenAI自家的用來解決長序列輸入的演算法:Sparse Transformer[11],因為GPT-3就是使用的普通Transformer和Sparse Transformer的混合模式,所以Sparse Transformer也是非常有可能被GPT-4用來處理長輸入文字的一個模型,但它和普通Transformer是如何混合的就不得而知了。Sparse Transformer的特點是隻關注Top-k個貢獻最大的特徵的狀態,它使用稀疏注意力機制替代了Transformer的密集註意力,將計算注意力的複雜度降到了O(n\sqrt n)。傳統Transformer的密集註意力核被分解為了跨步注意力(Stried Attention)和固定注意力(Fixed Attention),每個注意力核又分為行注意力核和列注意力核。分解後的注意力核都是稀疏的,因此大幅降低了模型的複雜度,如圖17。

圖17:密集註意力和稀疏注意力

因為GPT-4支援更長序列的資料,我在這裡也列出了用於高效處理長資料的Transformer的兩個變體。因為GPT-4的技術報告太過點到為止,到底GPT-4的網路結構如何,我們只能等待OpenAI的官方公佈了。

2.8 技術方案總結

這一節我們討論了很多技術方案,有的具有比較高的可信度,有的則猜測程度較高。下面這個表給出了各個方案的可信度(從1到5逐漸增高)。

湧現能力 思維鏈 自提升 CLIP KOSMOS-1 CodeX XLM Trans-XL Sparse Transf
5 5 3 3 3 4 1 1 4

根據我們的上述推測,我們可以猜測GPT-4的技術方案大致如下:

  • 第一階段: 搭建多模態預訓練模型,並進行微調,這一階段主要目的是根據爬取的海量資料訓練具有一定能力的初版GPT-4,訓練方式類似GPT-3。它的工作重點有兩個:一是仿照KOSMOS-1或是其它多模態模型搭建多模態預訓練模型,使用Transformer-XL等解決長文字的高複雜度問題;二是收集資料,包含海量爬取資料,單模態,多模態,傳統提示學習資料,思維鏈提示學習資料,程式碼資料等對模型進行訓練。
  • 第二階段:GPT-4行為對齊,這一階段的主要目的是根據人工打標實現模型行為與人類行為的對齊,減弱模型的風險性。這一階段需要產出的模型有兩個,一個是根據專家知識設計基於規則的獎勵模型RBRM,另一個是根據人工打標的資料,幻覺檢測模型的產出資料訓練基於深度學習的獎勵模型RM。
  • 第三階段:使用RBRM和RM作為獎勵函式,使用RLHF訓練模型。第二階段和第三階段的訓練方式類似ChatGPT。
  • 第四階段:模型自提升,GPT-4的訓練可能是一個迴圈迭代,不斷提示的訓練過程。在這一階段,GPT-4會自動生成更多資料,例如使用模型自提升產出的訓練資料,專家紅隊反饋的測試案例等,使用這些資料返回第一階段再對模型進行訓練。

3. GPT-4的發展方向

最近我也將GPT-4和ChatGPT應用到了日常工作中,深刻的被GPT-4強大的能力所震撼。它不僅能輔助我完成日常的程式設計,文章撰寫工作,也能夠幫我解決一些日常瑣事,大幅提升了我的工作效率。關於GPT-4的各種讚賞與批評的文章網上已數不勝數,我在這裡結合我們分析的技術方案,探討一下GPT-4為了的發展方向,或者說是預測下GPT-5可能的樣子。

3.1 GPT-4的最佳化方向

儘管GPT-4在文字生成,程式碼生成,影像理解,邏輯推理能力展現了強大的能力,但它依舊有很大的進步空間的,未來的工作可能有下面幾個重點方向:

  1. GPT-4現在的使用成本還是非常高的,與GPT-4進行一輪對話的成本大約在1元左右。ChatGPT的維護成本每天就有將近100萬美元,我們預測GPT-4的引數量可能將近萬億規模,由此推測它的維護成本可能在500萬美元左右。如何輕量化模型,讓GPT-4能夠被更多人使用,甚至讓更多人能夠訓練自己的GPT-4將是未來一段時間都會研究的方向。
  2. GPT-4並不是絕對安全的,GPT-4依舊具有幻覺問題。GPT-4的幻覺檢測,紅隊對抗,RBRM等不是解決安全問題的最終方案。雖然說沒有絕對安全的系統,但OpenAI已經還會在安全性上加大投入,以減輕他們可能面臨的法律風險。
  3. GPT-4還是個離線模型,GPT-4不能代替搜尋引擎的一個重要原因是它的知識並不是實時更新的。它的知識水平取決於它爬取資料的截止日期,這將使得它無法解決截止日期之後出現的新聞,概念,事件等。
  4. GPT-4還是多模態的初探,多模態和LLM可能是未來幾年AGI最重要的兩個方向,OpenAI本身也有很多在多模態方向非常精彩的工作。如何進一步挖掘GPT-4在多模態方向的能力,涉及更多模態,更多應用將是OpenAI接下來的重點工作。

3.2 GPT-4的應用

GPT-4憑藉其強大的生成能力和邏輯推理能力,能夠極大的影響我們的工作方式。相信這篇文章的讀者很多是從事演算法相關的科研和工作的人,我鼓勵每個人都用上GPT-4哪怕是ChatGPT,那麼GPT-4的哪些功能對我們非常有幫助呢。這裡我根據我的使用經驗,列出幾個我認為比較有幫助的方向:

  1. 撰寫功能程式碼,讓GPT-4編寫一個滿足特定功能複雜框架可能需要你向其提供複雜的提示,並且你也需要核對它生成的程式碼。但是如果讓GPT-4實現一些難度較低的功能函式,例如搭建一個網路,或是實現一個功能性函式,GPT-4生成的程式碼的可用性還是非常高的。
  2. 做文字潤色,作為一個技術研發人員,我們的文筆可能並不好,這時候我們可以使用GPT-4幫我們對我們寫的文章做潤色。尤其是當我們用英語寫論文或者郵件時,GPT-4能幫我們解決Chinglish的問題。
  3. 閱讀論文,GPT-4不僅是一個非常棒的機器翻譯工具,經試用,它翻譯的效果在專業性,連貫性等遠超傳統的機器翻譯模型。此外GPT-4還可以做一些總結,概括,提取類的工作,能讓我們快速瞭解一篇論文的核心技術。基於ChatGPT製作的ChatPDF是我們閱讀論文有個非常得力的助手,圖18是我使用ChatGPT幫助我閱讀GPT-4的生成內容。
    圖18:ChatPDF根據GPT-4的技術報告生成的GPT-4在提高安全性上做的工作
  4. 日常工作,GPT-4非常擅長寫一些官方通告,發言稿,感謝信之類的內容,也非常擅長做一些總結概括類的工作,它可以在這些方面提高我們的人效。對於沒有思路的事情,我也會嘗試問一下GPT-4,它經常能夠幫我開啟思路。

注意GPT-4並沒有徹底解決幻覺等安全性問題,面對GPT-4生成的內容,我們最好在使用之前進行嚴格的稽核,否則可能會發生一些不可解釋的問題。也是因為這個原因,GPT-4並不能取代從事這方面的專業工作人員,因為在GPT-4的安全性問題解決之前,始終需要專業人士為其把關,而GPT-4的安全性問題可能將會伴隨生成模型的整個生命週期。

4. 其它LLM

隨著ChatGPT和GPT-4的提出,國內外的公司快速跟進,掀起了一股LLM模型的研發熱潮,也有很多公司提出了自己的LLM.

其中國內具有代表性的工作有下面這些工作。

  • 百度的文心一言:百度的文心一言(ERNIE-Bot)是國內最早跟進的預訓練大模型,但是百度對他們的工作技術卻一直諱莫如深。不過從他的演示demo以及很多測試人員的測試效果來看,文心一言像是百度很多AI工作的工程化組合;
  • 阿里的通義千問:通義千問是一個用Transformer-XL搭建的,擁有20億引數的文字生成模型。根據拿到邀請碼的網友反饋來看,通義千問的文字生成效果略差於文心一言。
  • 商湯的日日新:從釋出會的展示效果來看,商湯的日日新是目前國內最好的LLM,甚至達到了和ChatGPT類似的效果。日日新包含“商量”,“秒畫”“如影”“瓊宇”“格物”五個主要功能,其中和GPT-4對齊的是“商量”。
  • 清華大學的GLM:GLM[17]是清華和智譜AI聯合推出的一個使用英語和漢語訓練的開源雙語語言模型,最大引數規模達到了1300億,GLM-130B的效果介於GPT-3和ChatGPT之間。GLM後續還推出了ChatGLM以及可以在單機執行和微調的GLM-6B,是目前效果最好的開源中文預訓練大模型。
  • 復旦大學的MOSS:MOSS是復旦大學NLP實驗室的邱錫鵬老師團隊,並與近期開源了相關程式碼。從目前效果來看,MOSS並不非常成熟,但可喜的是邱老師的團隊還一直在對MOSS進行最佳化。

不僅國內快速跟進,國外的頭部公司也推出了自己的LLM,其中具有代表性的有:

  1. MetaAI的LLaMA:LLaMA[19]的引數量有70億,130億,330億和650億四種規模。不同於OpenAI的是,MetaAI開源了它們的程式碼和模型,並支援單機的部署。雖然LLaMA的效果不如GPT-4,但他開源以及單機可執行的特性也吸引了很多機構和個人的二次開發。
  2. 谷歌的PaLM和LaMDA:PaLM[20]是谷歌提出的結構類似GPT系列,總引數量達到5400億的語言模型,谷歌在最近又推出了結合影像能力的多模態模型PaLM-E [21]。LaMDA[22]是谷歌推出的用於生成更自然,更具人性的語言模型,具有更接近人類的表達方式,LaMDA在GPT-3的基礎上進行了改進,增加了更多的對話場景和情感理解能力,能更好的模擬人類的對話和思考。甚至谷歌的研究員 Blake Lemoine 在測試了LaMDA一段時間後感嘆:LaMDA可能已經具有人格了。
  3. Anthropic的Claude:Anthropic是由OpenAI的離職員工成立,得到谷歌研發支援的一個人工智慧公司。它們最近也推出了它們的LLM:Claude。目前Cluade的效果略強於ChatGPT,但明顯弱於GPT-4。

除了上面介紹的,國外的LLM還有BigScience的BLOOM,史丹佛的Alpaca,上面介紹過的微軟的METALM,KOSMOS-1等,國內的華為的盤古,騰訊的WeLM等等。除了這些通用模型,LLM也被用在細分領域,例如醫學領域的HuaTuo[23],金融領域的BloombergGPT[24]等。

5. 總結

GPT-4究竟會不會帶來第四次工業革命,這是一個需要時間驗證的話題,我也沒有資格在這給出結論,但GPT-4對與我個人的影響是巨大的。

首先,它一定程度上撼動了我對傳統人工智慧的理解,就像宏觀物理的很多定理在微觀物理上是不成立的,我在傳統人工智慧上積累的很多經驗放在GPT-4裡也是不成立的。它展現出的強大的零樣本學習能力,以及更高階的能力是遠遠超出我對深度學習的傳統認知的。

其次,GPT-4以及ChatGPT正成為日常工作中最得力的助手,在撰寫這篇文章時GPT-4也提供了非常大的幫助,它不僅可以幫助我寫程式碼,改文章,甚至還能幫我解決一些非工作的問題。最後,如雨後春筍般湧現的諸多不同的大模型又讓我對日益看衰的深度學習注入了新的信心和活力。

對於GPT-4這門技術,我建議每個人都要去了解並學會使用它。不管你的工作是否和計算機相關,它都會給你帶來一些幫助,哪怕你是個廚子,它都可能給你生成一份美味的菜譜。在使用GPT-4時,我們也要理性的看待它生成的內容,只有GPT-4有一絲的風險問題,我們就不能放鬆對它的稽核,以防幻覺問題給我們造成損失。

在未來的一段時間,GPT-4一定會給我們帶來諸多的影響。首先,網際網路上會快速湧現大量使用GPT-4生成的我們無法區分的內容,大眾會不會被統一的GPT-4的行為模式所影響是值得深思的。其次,GPT-4將極大程度解放某些工作的生產力,甚至可以替代這些工作,我們能不能抓住這個機遇,在這個互卷的環境裡看到新的機會非常重要。最後,GPT-4將以怎樣的形式影響到每一個人都是不同的,GPT-4如果真的帶來了AGI,我希望我的好友們你們都不要錯過。

Reference

  • [1] https://cdn.openai.com/papers/gpt-4.pdf

  • [2] https://zhuanlan.zhihu.com/p/614340292

  • [3] Chen M, Tworek J, Jun H, et al. Evaluating large language models trained on code[J]. arXiv preprint arXiv:2107.03374, 2021.

  • [4] Bai, Yuntao, et al. "Training a helpful and harmless assistant with reinforcement learning from human feedback." arXiv preprint arXiv:2204.05862 (2022).

  • [5] Wei J, Tay Y, Bommasani R, et al. Emergent abilities of large language models[J]. arXiv preprint arXiv:2206.07682, 2022.

  • [6] Wei J, Wang X, Schuurmans D, et al. Chain of thought prompting elicits reasoning in large language models[J]. arXiv preprint arXiv:2201.11903, 2022.

  • [7] Huang J, Gu S S, Hou L, et al. Large language models can self-improve[J]. arXiv preprint arXiv:2210.11610, 2022.

  • [8] Radford, Alec, et al. "Learning transferable visual models from natural language supervision." International Conference on Machine Learning. PMLR, 2021.

  • [9] Guillaume Lample and Alexis Conneau. Cross-lingual language model pretraining. arXiv preprint arXiv:1901.07291, 2019.

  • [10] Zihang Dai, Zhilin Yang, Yiming Yang, Jaime Carbonell, Quoc V.Le, and Ruslan Salakhutdinov. Transformer-XL: Attentive language models beyond a fixed-length context. arXiv preprint arXiv:1901.02860, 2019.

  • [11] Rewon Child, Scott Gray, Alec Radford, and Ilya Sutskever. Generating long sequences with sparse transformers. arXiv preprint arXiv:1904.10509, 2019.

  • [12] Huang, Shaohan, et al. "Language is not all you need: Aligning perception with language models." arXiv preprint arXiv:2302.14045 (2023).

  • [13] Hao, Yaru, et al. "Language models are general-purpose interfaces." arXiv preprint arXiv:2206.06336 (2022).

  • [14] Zhang, Zhuosheng, et al. "Multimodal chain-of-thought reasoning in language models." arXiv preprint arXiv:2302.00923 (2023).

  • [15] Liu, Tianyu, et al. "A token-level reference-free hallucination detection benchmark for free-form text generation." arXiv preprint arXiv:2104.08704 (2021).

  • [16] Zhou, Chunting, et al. "Detecting hallucinated content in conditional neural sequence generation." arXiv preprint arXiv:2011.02593 (2020).

  • [17] Du, Zhengxiao, et al. "GLM: General language model pretraining with autoregressive blank infilling." Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers) . 2022.

  • [18] Zhao, Wayne Xin, et al. "A Survey of Large Language Models." arXiv preprint arXiv:2303.18223 (2023).

  • [19] Touvron, Hugo, et al. "Llama: Open and efficient foundation language models." arXiv preprint arXiv:2302.13971 (2023).

  • [20] Chowdhery, Aakanksha, et al. "Palm: Scaling language modeling with pathways." arXiv preprint arXiv:2204.02311 (2022).

  • [21] Driess, Danny, et al. "Palm-e: An embodied multimodal language model." arXiv preprint arXiv:2303.03378 (2023).

  • [22] Thoppilan, Romal, et al. "Lamda: Language models for dialog applications." arXiv preprint arXiv:2201.08239 (2022).

  • [23] Wang, Haochun, et al. "HuaTuo: Tuning LLaMA Model with Chinese Medical Knowledge." arXiv preprint arXiv:2304.06975 (2023).

  • [24] Wu, Shijie, et al. "BloombergGPT: A Large Language Model for Finance." arXiv preprint arXiv:2303.17564 (2023).

  • [25] Bubeck, Sébastien, et al. "Sparks of artificial general intelligence: Early experiments with gpt-4." arXiv preprint arXiv:2303.12712 (2023).

  • [26] Lin, Stephanie, Jacob Hilton, and Owain Evans. "Truthfulqa: Measuring how models mimic human falsehoods." arXiv preprint arXiv:2109.07958 (2021).

作者:京東零售 劉巖

內容來源:京東雲開發者社群

相關文章