GPT-4大模型硬核解讀!看完成半個專家(上)_風聞
PINK小白-04-01 21:41


為何我們的下一代會從“內卷”過渡到“人機互卷”?
**作者 |**陳巍博士團隊
引言:本文將以2萬字介紹GPT-4的核心技術要點、技術架構、訓練流程、算力、侷限與產業未來。作者陳巍博士為AI/存算一體專家,曾擔任華為系自然語言處理企業的首席科學家。(深度技術科普與解讀文章,不涉及過多技術名詞或公式)
之前我們一直説自然語言處理是人工智能王冠上最大的那顆珍珠,但如今用世俗的珍珠或者王冠形容已經不合適了**。多模態大模型帶給人類世界的震撼**,就如人工智能企業Hugging Face(因提供開源預訓練模型庫而聞名)的聯合創始人Thomas Wolf所述:“在過去的幾年裏,好的多模態模型一直是許多大型技術實驗室的聖盃。“其中多模態指的是融合文本、圖像、視頻或音頻等多種模態作為輸入或輸出。
作為“聖盃”的代表之一,GPT-4這個標籤代表第4代生成式預訓練變換模型(Generative Pre-trained Transformer 4),是OpenAI在2023年3月14日公開的一種多模態模型,是對前幾個月發佈的ChatGPT的多模態升級。GPT-4模型可對圖文多模態輸入生成應答文字,以及對視覺元素的分類、分析和隱含語義提取,並表現出優秀的應答能力。業內文章大多從側面宣傳GPT-4的優秀,卻很少觸及其核心技術內核。

▲OpenAI的相關信息
本文將通過OpenAI和其他AI巨頭已發表的大語言模型或多模態論文來詳細闡述和分析與GPT-4相關核心技術要點、技術架構、訓練流程、算力、侷限與產業未來,告訴大家為何我們的下一代會從“內卷”過渡到“人機互卷”。
01**.**
GPT-4核心技術有哪些?
**1.1理論基礎——**多模態湧現能力
講到大語言模型的優勢,一般首先要提到這類模型的湧現能力和思維鏈。這兩者是大語言模型不斷接近人類的關鍵特徵。
我們之所以認為GPT-4會是具有里程碑意義的一代,正是因為多模態的GPT-4會從視覺角度和視覺-文字語義融合方面湧現出更多的能力。2022-2023年,我們可以認為AI是第一次睜開雙眼理解這個世界。
在大型語言模型(LLM)中,湧現能力(Emergent Abilities)是指模型具有從原始訓練數據中自動學習並發現新的、更高層次的特徵和模式的能力。就中文釋義而言,湧現能力也指大語言模型湧現出來的新能力。這有點類似於去超市遇到買二贈一,贈品的質量居然還出乎意料。
與大語言模型(LLM)相比,多模態大語言模型(Multi-modal Large Language Model,MLLM)可實現更好的常識推理性能,跨模態遷移更有利於知識獲取,產生更多新的能力,加速了能力的湧現。這些獨立模態或跨模態新特徵、能力或模式通常不是通過目的明確的編程或訓練獲得的,而是模型在大量多模態數據中自然而然的學習到的。

▲縮放定律(參數增加後精度損失連續減少)V.S. 湧現能力(1010-1011參數後新能力的湧現)(來源:OpenAI)
在語言模型發展的早期,通過在更多數據上訓練更大的模型,可獲得近似連續的精確度提升。(可稱為縮放定律/Scaling Laws)到了2015年左右,隨着深度學習技術的發展和語料庫的增大,模型達到一定的臨界規模後,NLP開發者們發現,大語言模型(包括GPT-3、GLaM、LaMDA和Megatron-Turing NLG等)開始表現出一些開發者最開始未能預測的、更復雜的能力和特性,這些新能力和新特性被認為是湧現能力的體現。
▲當模型尺寸增加到一定大小後,新能力湧現(來源:Google/Deepmind)
我們在研究GPT-4時,發現GPT-4具備了OpenAI在預訓練時和發表的技術報告中並未明確的能力。這些能力都屬於湧現出來的能力。
湧現能力是基於深度學習模型的分層結構和權重學習機制實現的。湧現出來的能力可以是基於文本的,也可以是多模態的。我們可以將GPT-4這類大模型的訓練視為解方程,每一層神經元(可視為變量組合)的輸出都作為下一層神經元的輸入,並且模型的每個權重(Weight)都通過強化學習算法進行學習和更新。這種分層的結構和權重學習機制使得深度學習模型能夠自動的學習到從原始數據中提取隱含的特徵和模式,從而實現湧現能力。
當大語言模型被訓練時,通過學習大量的多模態訓練數據,並且根據數據中的統計規律和模式自適應的調整其內部參數和結構,從而表現出一些新的能力和特性。這類似於咱們常説的量變引發質變。
湧現能力是大語言模型的重要特性,也是現在火爆的大模型各種能力的理論基礎。湧現能力使得GPT-4能夠在無需人工干預的情況下,從原始的多模態數據中自動學習到復****雜的特徵和模式,從而實現更準確和更高效的預測和決策。
湧現能力的另一個重要表現是模型的泛化能力。在沒有專門訓練過的情況,GPT-4也可以泛化到新的、未知的多模態數據樣本上。這種泛化能力取決於模型的結構和訓練過程,以及數據的數量和多樣性。如果模型具有足夠的複雜性和泛化能力,就可以從原始數據中發現新的、未知的特徵和模式。
當然,GPT-4湧現出的新能力可能仍有侷限性,例如:模型可能產生錯誤的回答,對某些問題缺乏理解,容易受到輸入干擾等。目前認為GPT-4的幻覺與其湧現能力具有相關性。
**1.2核心優勢——**多模態思維鏈
思維鏈(Chain of Thought)可視為大語言模型湧現出來的核心能力之一。之所以現在各類GPT研究火爆,也與模型訓練出的思維鏈可進入實用有密切關係。
思維鍊形成機制可以解釋為模型通過學習大量的語言數據來構建一個關於語言結構和意義的內在表示,通過一系列中間自然語言推理步驟來完成最終輸出。思維鏈是ChatGPT和GPT-4能讓大眾感覺到語言模型“像人”的關鍵特性。
雖然GPT-4這些模型並非具備真正的意識或思考能力,但用類似於人的推理方式的思維鏈來提示語言模型,極大的提高了GPT-4在推理任務上的表現,打破了精調(Fine-tune)的平坦曲線。具備了多模態思維鏈能力的GPT-4模型具有一定邏輯分析能力,已經不是傳統意義上的詞彙概率逼近模型。
當然思維鏈的訓練可能並不容易。儘管現在有大量團隊進入大語言模型訓練領域,但若干年內能找到訓練訣竅並完成思維鏈訓練的團隊可能不多。對創企來説,完成思維鏈的訓練,才算真正拿到了這波大模型AI競技的入場券。
▲思維鏈提示的示例(來源:Google)
通過多模態思維鏈技術,GPT-4將一個多步驟的問題(例如圖表推理)分解為可以單獨解決的中間步驟。在解決多步驟推理問題時,模型生成的思維鏈會模仿人類思維過程。這意味着額外的計算資源被分配給需要更多推理步驟的問題,可以進一步增強GPT-4的表達和推理能力。

▲當模型尺度增加到一定規模,思維鏈能力出現(來源:Google)
一般認為模型的思維推理能力與模型參數大小有正相關趨勢,一般是突破一個臨界規模(大概62B,B代表10億),模型才能通過思維鏈提示的訓練獲得相應的能力。如果在6B以下,那很可能還只是GPT-2級別的初級模型。另外也有研究表明,在語言訓練集中加入編程語言(例如Python編程代碼)可提升模型邏輯推理能力。具有思維鏈推理能力的GPT-4模型可用於簡單數學問題、符號操作和常識推理等任務。

▲多模態思維鏈框架(來源:微軟)
GPT-4的多模態思維鏈是通過觀察大量的多模態數據來學習內在表示,然後利用這個表示來生成連續的語言輸出的機制。這個過程是通過模型的訓練、內在表示的構建和語言輸出的生成三個步驟來實現的。
**1.3編程範式——**多模態提示工程
多模態大模型(如GPT-4)的提示工程(Prompt Engineering)是指根據特定的目標和語境設計出一系列問題或任務,以便使用大模型生成有關主題或主題領域的連貫和有意義的文本。提示工程的目標是通過精心設計提示以從模型中引出所需的響應,來提高生成文本的質量和相關性。提示工程與思維鏈的產生密不可分,也是目前自然語言編程的理論基礎。
▲語言模型的4種研究範式(來源:卡內基梅隆大學)
大概在2017-2019年間,語言模型的研究重心逐漸從傳統特定領域的有監督學習模式(基於非神經網絡或神經網絡)轉移到預訓練模型上。在那時,基於預訓練語言模型的研究範式通常是“預訓練**+**精調”(Pre-train+Fine-tune),即在精調階段,根據下游任務對預訓練模型進行微調,以獲得更好效果。
但是由於模型越來越大,以及預訓練階段和下游任務之間的差距可能很大,對各個細分領域Fine-tune的計算資源要求、訓練數據需求和時間成本也在快速上漲。大量爆發的下游任務也使得175B這個級別模型預訓練和精調變得異常複雜。在這種背景下,隨着GPT-3的發佈,提示工程成為了預訓練模型的新方向。形象的説,提示有點類似於老師在學生回答問題時指點回答方向。

▲提示方法(來源:卡內基梅隆大學)
GPT-4/GPT-3模型中提示的新範式可歸納為**“預訓練+提示+****預測”**(Pre-train+Prompt+Predict)。在這一範式中,各種下游任務被調整為類似預訓練任務的形式。通過選取合適的提示,使用者可以控制模型預測輸出,從而一個完全預訓練模型可以被用來解決多樣的下游任務。
這裏舉一個填充提示的簡單例子。(上圖)我們從輸入x(比如電影評論)開始,然後輸出期望值y。其中一個任務是使用提示函數重新模板化此輸入,其輸出表示為x’。此時語言模型的任務僅僅是預測z值(句子中的一個詞)來代替佔位符Z。然後對於Z被答案填充的提示,我們將其稱為填充提示。通過這一提示方式,在對應細分場景下,語言模型將原來的問題的期望值y(一句話)簡化為答案z(一個詞)的計算,明顯降低了應答的復****雜度。

▲提示工程使得GPT-3模型在訓練樣本較少時獲得了更高精度(來源:OpenAI)
而GPT-4則針對多模態數據集,設計了對應的提示。GPT-4的提示工程涉及幾個步驟,包括選擇合適的模型架構和參數、設計提示格式和結構、選擇合適的任務和訓練數據,以及使用選定的提示和數據微調模型。更多GPT-4的提示細節還需等待OpenAI發佈。

▲多模態提示示例(來源:微軟)
提示工程同時也提高了語言模型“可操縱性”,即模型根據用户要求更改其行為的能力。例如,用户可以命令GPT-4以不同的風格、語氣或內容特徵來回答。例如“你是一個嘮叨的數據專家”或“你是一個言簡意賅的數據專家”來開始提示,讓模型解釋一個數據科學概念。這裏“嘮叨”和“言簡意賅”操縱了模型回答的語言量。
**1.4關鍵技術——**人類反饋強化學習
GPT-4/ChatGPT與GPT-3.5的主要區別在於,新加入了被稱為RLHF(Reinforcement
Learning from Human Feedback,人類反饋強化學習)的技術。這一訓練範式增強了人類對模型輸出結果意向(Intent)的調節,並且對結果進行了更具理解性的排序。
OpenAI在其早期的學術報告中公開表示,與人類偏好保持一致,是許多領域人工智能研究和部署的核心組成部分。OpenAI希望通過RLHF技術,模型能傾向出高質量回答,確保模型輸出對人類有益,進而保證模型的安全性。就筆者團隊分析來看,RLHF也是保持多輪對話不偏離主題的關鍵保障。
GPT-4/ChatGPT最初引入人類標記員的主要目的是加快訓練速度和質量。儘管強化學習技術在很多領域有突出表現,但是仍然存在着許多不足,例如訓練收斂速度慢,訓練成本高等特點。特別是現實世界中,許多任務的探索成本或數據獲取成本很高。如何加快訓練效率,是如今強化學習任務待解決的重要問題之一。

▲TAMER架構在強化學習中的應用
這裏以TAMER(Training an Agent Manually via Evaluative Reinforcement,評估式強化人工訓練代理)框架為例。該框架將人類標記員引入到模型代理(Agents)的學習循環中,可以通過人類向代理提供獎勵反饋(即指導Agents進行訓練),從而快速達到訓練任務目標。
GPT-4的多模態獎勵模型(RM)是小號的有監督精調模型(SFT),但在頂部添加了一個新的線性層來預測獎勵。獎勵模型的輸入是原始輸入加上SFT模型生成的輸出。
在具體實現上,人類標記員扮演對話的用户和人工智能助手,提供多模態對話樣本,讓模型生成一些回覆,然後標記者會對回覆選項打分排名,將更好的結果反饋回模型中。代理(Agents)同時從兩種反饋模式中學習——人類強化和馬爾可夫決策過程獎勵作為一個整合的系統,通過獎勵策略對模型進行微調並持續迭代。

▲獎勵模型的過擬合導致模型性能下降(來源:OpenAI)
因為模型僅僅從狹窄分佈的訓練數據中學習,所以GPT-4中獎勵模型只是人類偏好的部分表徵(管中窺豹),過度的訓練反而可能導致獎勵模型過擬合(以偏見代替整體),並導致模型訓練效果的下降。另一方面,模型的人類標註員可能也無法代表用户所在地區人羣的總體偏好。
**1.5安全技術——**基於規則的獎勵模型
安全是大模型商用的關鍵要素,OpenAI也投入了大量資源來提高GPT-4的安全性和一致性。包括引入領域專家進行對抗性測試和紅隊測試,模型輔助的安全流水線以及安全指標的改進。OpenAI引入的領域安全專家達到了50多人,覆蓋AI一致性風險、網絡安全、生物風險等領域。
與ChatGPT一樣,GPT-4也使用了強化學習和人類反饋(RLHF)來微調模型的行為,以產生更符合用户意圖的響應。但當給定不安全的輸入時,模型可能會生成不良內容,例如提供有關犯罪的建議。另外,模型也可能對安全輸入變得過於謹慎,拒絕無害的請求。
GPT-4的安全流水線包括兩個主要部分:一組額外的安全相關RLHF訓練提示,以及基於規則的獎勵模型。
基於規則的獎勵模型(Rule-based Reward Model,RBRM)是一組zero-shot迷你GPT-4分類器,根據預定義的規則為特定動作或事件分配獎勵。在這種模型中,獎勵是根據事先定義的一組規則確定的,而不是從數據中學習得到的。這些分類器在RLHF微調期間為GPT-4策略模型提供額外的獎勵信號,以正確的輸出行為為目標進行訓練,例如拒絕生成有害內容或不拒絕無害的請求。

▲基於規則的獎勵模型(來源:日本國立信息學研究所)
很多早期的NLP模型和軟件就是基於規則的(包括各種早期的智能音箱/”人工智障”),但這類模型在泛化場景下表現不佳,只能回答相對固定的問題,並不具備現在的大語言模型的湧現能力。
GPT-4中使用RBRM的目的是充分藉助其優勢,即模型中使用的規則可以簡單實用一些,建立成本低於常規獎勵模型。例如,在象棋等遊戲中,規則可能很簡單。在更復雜的情況下,規則可能相對複雜,例如為實現特定目標或達到一定的性能水平授予獎勵,但總體來説比構建獎勵模型的訓練數據集成本更低。
規則獎勵模型通常用於強化學習,其中代理被訓練為採取最大化獎勵信號的行動。在這種情況下,規則獎勵模型基於代理是否遵循特定規則或實現特定目標,為代理分配獎勵。
規則獎勵模型的優點允許更多地控制學習過程。通過事先指定規則,開發人員可以引導學習過程,使其專注於特定的行為或結果。
▲基於規則的獎勵模型在樣本較少情況下表現出較好性能(來源:Meta AI)
基於規則的獎勵模型的主要特點如下:
1、規則的可定義性:根據預先定義的規則來為模型的輸出分配獎勵。這些規則通常由領域專家或高質量的人類標註員制定,以確保獎勵與任務目標和期望行為保持一致。
2、規則的可解釋性:獎勵模型依賴於明確的規則,這些一般具有較高的可讀性和可解釋性。以方便開發人員解讀和調試模型。
3、規則的可調整性:通過修改或添加新的規則,可以相對容易地調整獎勵函數,以適應不同的任務和環境或更復雜的規則。
基於規則的獎勵模型也存在一些侷限性,包括:
1、缺乏場景泛化能力:因為基於規則的獎勵模型嚴重依賴於預先定義的規則,可能在未知或新的情況下泛化能力較弱,這可能導致模型在面對新的情況時出現幻覺現象或無法做出合適的應答。
2、規則設計的複雜性:例如對於複雜任務,設計適當的規則有可能非常耗時。此外,如果規則過於複雜或內部自相矛盾,可能導致模型訓練不出有效的策略。
3、規則的學習效率有下降可能:由於模型需要在給定的規則集合中探索最佳策略,在規則設計不理想的情況下,基於規則的獎勵模型可能導致較低的學習效率或過擬合。
**1.6優化技術——**近端策略優化(PPO)算法
GPT-4/ChatGPT中的近端策略優化(Proximal Policy Optimization,PPO)算法是一種高效的強化學習優化策略算法,由OpenAI的John Schulman等人於2017年提出。在GPT-4/ChatGPT裏的使用應該算是新瓶裝舊酒。
PPO的前輩TRPO(Trust Region Policy Optimization)相對複雜,並且與包含噪聲(例如Dropout)或參數共享(在策略和價值函數之間,或輔助任務)的架構不兼容。PPO算法試圖解決上述問題,以及計算複雜性和難以調整的超參數。PPO通過簡化優化問題並限制策略更新的幅度,實現了更高效、更穩定的學習過程,具有實現簡單、能同時處理離散\連續動作空間問題、可大規模訓練等優勢。

▲PPO算法與同類其他算法的比較(來源:OpenAI)
PPO算法衍生於早期的策略梯度(Policy Gradient)算法,但通過一些技巧改進了其性能和穩定性,能夠處理連續動作空間的問題。PPO在策略更新時限制新策略與舊策略之間的差異,從而確保策略改進的穩定性。這通過在目標函數中引入一個“代理”目標函數來實現,該代理目標函數限制了新策略和舊策略之間的KL散度。
PPO算法的核心思想是在每次迭代中,通過一種稱為近端策略優化(Proximal Policy Optimization)的方法來更新策略參數,以最大化預期收益。具體來説,PPO算法採用兩個神經網絡來表示模型的策略:一個執行動作(Actor),另一個處理獎勵(Critic)。在每次迭代中,PPO算法會從環境中採樣一批經驗數據,並使用這些數據來更新策略參數和價值參數。更新的策略將被ε-clip到一個小區域,以防止可能具有不可恢復危害的巨大更新。換句話説,優化的步伐不能太大也不能過小。
PPO算法的主要特點如下:
1)裁剪的目標函數:PPO通過裁剪策略比率(新策略概率與舊策略概率之比)來限制更新幅度。這種裁剪保證了新策略在舊策略的附近,使得更新更加穩定。
2)重要度採樣:PPO利用重要度採樣來估計策略梯度,從而可以重複使用之前的經驗來更新策略。這使得PPO在數據效率上更具優勢。
3)多次更新:PPO算法在每次收集一批數據後,對策略進行多次更新。這可以提高算法的收斂速度和穩定性。
4)簡化的優化問題:相比於其他方法,如TRPO,PPO算法將優化問題簡化為一階優化問題,這大大減少了計算複雜性。
**1.7安全技術——**多模態幻覺檢測
大型語言模型(Large Language Model,LLM)的幻覺(Hallucination)指的是模型生成的輸出包含一些與輸入不符合的信息,這些信息可能是錯誤的、無關的或者荒謬的。與人類直覺相反,隨着模型變得更加以假亂真,幻覺會變得更加危險。GPT-4等模型的這種幻覺可能會出現在各種類型的任務中,比如文本生成、圖文分析和問答系統等。
由於大模型(包括GPT-4)本質上可以視為訓練集(人類知識/語言)的有損壓縮,因此在模型運行時無法完整復現或者應答原始知識,從而模型的幻覺來自於信息壓縮的偏差。多模態幻覺的本質是這種有損壓縮偏差的體現,也是通過數學逼近人類語言的必然代價。(類似於壓縮後的圖像邊緣出現不正常的條紋)。
▲大語言模型可視為知識/語言的有損壓縮
幻覺包括以下幾類:
1、含義相關性(Semantic Relatedness)的幻覺:模型生成的輸出可能包含與輸入語境無關或不相關的單詞或短語,這些單詞或短語通常是通過模型之前接觸過的文本來學習的。
2、語義擴張(Semantic Expansion)的幻覺:模型生成的輸出可能包含與輸入語境相關但是過於具體或者過於抽象的內容,這些內容也可能是通過模型之前接觸過的文本來學習的。
3、結構錯誤(Structural Errors)的幻覺:模型生成的輸出可能不符合正確的語言表達或句子結構,這些錯誤可能是由於模型在生成時遺漏了某些信息,或者將不相關的信息結合在一起導致的。
為了降低幻覺出現的概率,改善模型質量,Meta AI提出一種幻覺內容檢測機制。通過檢測生成內容中的幻覺令牌/單詞,對生成內容的真實度進行評估,以減少模型幻覺出現的概率。從GPT-4的幻覺減少比率來看,猜測類似該技術的方法或已應用在GPT-4中。

▲通過幻覺單詞檢測器減少幻覺(來源:Meta AI)
幻覺是GPT-4等大型語言模型中一個重要的問題,通過不斷的優化模型和改進訓練方法,或增加多模態幻覺語義檢測器,研究人員可以逐步提高模型的準確性和穩定性,從而更好地滿足各種自然語言處理任務的需求。
**1.8模型信息——**關於模型大小
目前OpenAI還沒有發佈GPT-4模型大小和結構的具體信息。GPT-4的技術報告也沒有透露這些技術細節,訓練數據或訓練方法也沒有相關信息釋放出來。大模型的商業化競爭正愈演愈烈。
▲Bing反饋的GPT-4模型大小
GPT-3是目前最大的知名語言模型之一,包含了1750億(175B)個參數。在GPT-3發佈之前,最大的語言模型是微軟的Turing NLG模型,大小為17億(1.7B)個參數。在GPT-3發佈後不久,OpenAI團隊就曾表示他們計劃在未來幾年內研發更大的模型。而隨着技術和算法的不斷發展,GPT-4模型似乎也應朝着更大的尺寸發展。
另外,GPT-4的上下文窗口尺寸也較GPT-3.5和GPT-3增大了不少。2020年發佈的GPT-3模型上下文窗口為2049個令牌。在GPT-3.5中,窗口增加到4096個令牌(約3頁單行英文文本)。GPT-4有兩種尺寸。其中一個(GPT-4-8K)的上下文窗口大小為8192個令牌,另一個(GPT-4-32K)可以處理多達32768個令牌,大約50頁文本。
有傳言説GPT-4模型大概是GPT-3的100倍或1000倍。從訓練的角度看,這麼大的模型膨脹可能會消耗更多的訓練資源和訓練週期的過度延長。

▲GPT-4與GPT-3.5的執行速度對比(來源:ARK投資)
根據ARK的分析,GPT-4的執行時間大概是GPT-3.5的3.7倍。由此我們初步估算GPT-4的文本語言部分的大小大約是62B-650B之間。根據目前GPT模型性能的發展趨勢,以及多模態技術的加持,預計GPT-4的模型參數大概為62B-1500B****之間。
02**.**
GPT-4的原理是什麼?
GPT-4這一代,是嚴格意義上的多模態模型,可以支持圖像和文字兩類信息的同時輸入。之前的ChatGPT多模態感知是實現通用人工智能的必要條件,無論是知識/能力獲取還是與現實物理世界的交互。之前的ChatGPT就像AI蒙上雙眼在那裏盲答,而多模態就是AI一邊看一邊思考。多模態技術將語言模型的應用拓寬了到更多高價值領域,例如多模態人機交互、文檔處理和機器人交互技術。
在GPT-4中,多模態輸入的圖像和文本基於Transformer作為通用接口,圖形感知模塊與語言模塊對接進行進一步計算。通過在多模態語料庫上訓練模型,包括文本數據、任意交錯的圖像和文本,以及圖像-字幕對,可以使模型獲得原生支持多模態任務的能力。
下面先介紹GPT家族,然後引申到GPT-4的多模態架構和獨特性。
2.1從GPT-1到ChatGPT
説到GPT-4,就不得不提到GPT****家族。GPT之前有幾個的前輩,包括GPT-1、GPT-2和GPT-3和ChatGPT。GPT家族與BERT模型都是知名的NLP模型族,都基於Transformer技術。GPT-1只有12層,而到了GPT-3,則增加到96層。GPT-4增加了額外的視覺語言模塊,理論上具有更大的模型尺寸和輸入窗口。

▲視覺與語言Transformer技術的演進
GPT和BERT****之前的時代
最早的NLP技術是基於規則的,即基於特定的規則使用程序進行固定模式的對話,所有的應答都是固定模式的。在深度學習誕生後,NLP技術逐漸進入基於模型的時代。文本生成是通過遞歸神經網絡(RNN)或各種長短時記憶神經網絡(LSTM)實現的。這些模型能夠較好的進行模式識別,在輸出單個單詞或短語方面表現良好,但無法生成高精度的多輪對話,更無法實現邏輯推理能力。
▲GPT-1模型的Transformer結構
2018年6月,OpenAI發表了GPT-1,GPT家族首次登上歷史舞台。GPT-1模型訓練使用了BooksCorpus數據集。訓練主要包含兩個階段:第一個階段,先利用大量無標註的語料預訓練一個語言模型,接着,在第二個階段對預訓練好的語言模型進行精調,將其遷移到各種有監督的NLP任務。也就是前面提到過的“預訓練+精調”模式。
GPT-1的核心是Transformer。Transformer在數學上是大矩陣的計算,通過計算不同語義之間的關聯度(概率)來生成具有最高概率的語義反饋。
GPT-1着重解決兩個問題:
1)通過無監督訓練解決需要大量高質量標註數據的問題。
2)通過大量語料訓練解決訓練任務的泛化問題。

▲BERT與GPT的技術基本架構對比(圖中En為輸入的每個字,Tn為輸出回答的每個字)
GPT-2
2019年,OpenAI發表了另一篇關於他們最新模型GPT-2的論文(Language Models are Unsupervised Multitask Learners)。該模型開源並在一些NLP任務中開始使用。相對GPT-1,GPT-2是泛化能力更強的詞向量模型,儘管並沒有過多的結構創新,但是訓練數據集(WebText,來自於Reddit上高讚的文章)和模型參數量更大。目前很多開源的GPT類模型是基於GPT-2進行的結構修改或優化。
GPT-3
2020年6月,OpenAI發表了另一篇關於GPT-3模型的論文(Language Models are Few-Shot Learners)。該模型的參數是GPT-2的100倍(175B),並且在更大的文本數據集(低質量的Common Crawl,高質量的WebText2,Books1,Books2和Wikipedia)上進行訓練,從而獲得更好的模型性能。GPT-3實際上由多個版本組成的第3代家族,具有不同數量的參數和所需的計算資源。包括專門用於代碼編程的code系列。GPT-3的後繼知名版本包括InstructGPT和ChatGPT。

▲GPT-3家族
GPT-3.5/ChatGPT
2022年3月15日,OpenAI發佈了名為“text-davinci-003”的新版GPT-3,該模型被描述為比以前版本的GPT更強大。目前有若干個屬於GPT-3.5系列的模型分支,其中code-davinci針對代碼完成任務進行了優化。
ChatGPT是基於GPT-3.5(Generative Pre-trained Transformer 3.5)架構開發的對話AI模型,是InstructGPT的兄弟模型。ChatGPT很可能是OpenAI在GPT-4正式推出之前的演練,或用於收集大量對話數據。
OpenAI使用RLHF(Reinforcement Learning from Human Feedback,人類反饋強化學習)技術對ChatGPT進行了訓練,且加入了更多人工監督進行微調。
ChatGPT具有以下特徵:
1)可以主動承認自身錯誤。若用户指出其錯誤,模型會聽取意見並優化答案。
2)ChatGPT可以質疑不正確的問題。例如被詢問“哥倫布2015年來到美國的情景”的問題時,機器人會説明哥倫布不屬於這一時代並調整輸出結果。
3)ChatGPT可以承認自身的無知,承認對專業技術的不瞭解。
4)支持連續多輪對話。
與大家在生活中用到的各類智能音箱和“人工智障”不同,ChatGPT在對話過程中會記憶先前使用者的對話訊息,即上下文理解,以回答某些假設性的問題。ChatGPT可實現連續對話,極大的提升了對話交互模式下的用户體驗。
▲從GPT-1到GPT-4的對比(含BERT,筆者團隊繪製)
2.2 GPT-4****的多模態架構
到了GPT-4,技術內涵產生的飛躍其實超過了ChatGPT。有些人認為GPT-4僅僅是GPT-3.5的升級優化,這其實是一種誤解。大部分人可能還未看到GPT-4帶來的巨大影響。
人類或其他高等生物的認知能力通常與從多種模式中學習有關。例如,蘋果這一概念包括從視覺和語言獲得的多重語義。包括蘋果的顏色、形狀、紋理以及吃蘋果的聲音,蘋果在詞典或其他網絡媒體的相應定義等等。我們大多數人在學習認字的時候,也是先看到蘋果的卡片圖像,然後再記住對應的文字。
與BERT模型類似,GPT-4之前的ChatGPT或GPT-3.5都是根據輸入語句,根據語言/語料概率來自動生成回答的每一個字(詞語)。從數學或從機器學習的角度來看,語言模型是對詞語序列的概率相關性分佈的建模,即利用已經説過的語句(語句可以視為數學中的向量)作為輸入條件,預測下一個時刻不同語句甚至語言集合出現的概率分佈。包括“蘋果”在GPT-3.5和之前的GPT中只是單純的語義符號和概率。
GPT-4等模型新出現的多模態輸入的能力對語言模型至關重要,使得“蘋果”等單純的符號語義擴展為更多的內涵。第一,多模態感知使語言模型能夠獲得文本描述之外的常識性知識。第二,感知與語義理解的結合為新型任務提供了可能性,例如機器人交互技術和多媒體文檔處理。第三,通過感知統一了接口。圖形界面其實是最自然和高效的人機自然交互方式。多模態大語言模型可通過圖形方式直接進行信息交互,提升交互效率。
多模態模型可以從多種來源和模式中學習知識,並使用模態的交叉關聯來完成任務。通過圖像或圖文知識庫學習的信息可用於回答自然語言問題;從文本中學到的信息也可在視覺任務中使用。
截至2023年初,多模態大模型正經歷將圖文信息進行對齊,進行模態認知管理,進一步形成多模態決策或生成。常見的多模態大模型包括:
1)圖像描述生成或文本生成圖像。例如最近知名的CLIP、Stable Diffusion。
2)圖文問答。例如帶有圖示的物理題求解或圖表分析。
3)文本到圖像或圖像到文本的檢索。
4)視頻流描述。

▲多模態模型的5種典型結構(來源:深圳鵬城實驗室)
根據鵬城實驗室新發出的論文歸納,目前常見的多模態模型架構主要包括以下幾種:
1)合併注意力架構(Merge-attention):如上圖(a),多個輸入模態調整為同一的特徵表示,多個模態的特徵在自注意力之前被合併,共同進入Transformer。
2)共同注意力架構(Co-attention):如上圖(b),每個輸入模態都具備私有自注意力通道,用於模態獨立特徵的導入,然後再使用共同的交叉注意力層融合多模態特徵。
3)交叉注意力架構(Cross-attention):對於多模態任務,將圖像與語言分別結合,實現圖文信息的相互嵌入與問答。
4)三角Transformer架構(Tangled-transformer):使用三組Transformer模塊同時處理動作、圖形對象和語言特徵,通過特定的三角連接關係,注入其他模態的Transformer網絡,以不同模態的信息融合。
5)模態間對比學習架構(Inter-Modality Contrastive Learning):不同模態的信息被分解,通過矩陣結構建立多模態對比學習關聯。
目前評估OpenAI採用該種交叉注意力架構的研發GPT-4的代價最小,可以大幅度使用ChatGPT中已經構建的語言模塊。從筆者團隊的分析看,GPT-4很有可能正是採用這類架構。
2.3 GPT-4****的獨特性
GPT-4是最新且最先進的OpenAI多模態大模型。並在多個基準任務上取得了非常好的成績,包括圖像字幕、圖文問答、代碼生成和法律推理。優秀的圖文分析和邏輯推理能力鑄就了GPT-4的護城河。

▲GPT-4在大部分任務上優於人類水平平均值(來源:LifeArchitect)
GPT-4能夠生成比GPT-3.5或其他語言模型更符合事實的準確陳述,確保更高的可靠性和可信度。GPT-4也可接受圖文信息作為輸入並生成説明、分類和分析。
儘管GPT-4已經投入商業使用,但大多數用户仍需要等待圖文能力的正式開放。

▲GPT-4與其他大模型的比較(來源:Janna Lipenkova)
03**.**
GPT-4訓練技術分析
3.1 GPT-4****訓練數據集
GPT-4的訓練數據集是基於GPT-3和GPT-3.5的訓練數據集構建的,並在兩者基礎上增加了多模態數據集。僅當時GPT-3.5的訓練數據收集就是由一項艱鉅且重要的任務:數據集貢獻來自一個由30-50名OpenAI員工組成的團隊,並另外從第三方網站僱傭了固定的大約50-100名固定的標註員。到了GPT-4又增加了大量多模態數據。
▲GPT-4數據集構成(預測)
OpenAI在預訓練階段過濾GPT-4的數據集組合,以專門減少不適當的文本內容的數量。並通過結合內部訓練的分類器和基於詞典的方法來識別含有不當內容的數據。
其中來自GPT-3的預訓練數據集包括約570GB(該大小為去重過濾後的,去重過濾前大概45TB)的CommonCrawl數據,大概是410B字節對編碼的令牌,以及19B的WebText2數據,合計67B的書籍數據和3B Wiki數據。這些數據被整合為約300B大小的GPT-3預訓練數據集。其中Wiki數據質量最高,在訓練中平均被重複使用了3.4次。

▲GPT-3.5標註員學歷和國籍構成
GPT-3.5的數據集包括SFT數據集、RM數據集和PPO訓練數據集。在最關鍵的SFT訓練集中,標註員撰寫比例為89.3%,100%由標註員標記。RM模型較小但是訓練集數量更多,達到33K。
可以看出,無論是GPT-3還是GPT-3.5的訓練集中,數據質量的重要性都遠超過數據的數量。(互聯網大廠或許只剩下資金、應用和渠道優勢?)其中訓練GPT-3.5 175B SFT模型僅需要算力資源4.9 petaflops/s-days,訓練GPT-3.5175B PPO-ptx模型需要60 petaflops/s-days,而預訓練GPT-3卻需要3640 petaflops/s-days的算力資源,是175B PPO-ptx的60.7倍。極少量的高質量標註數據卻顯著提升了GPT-3.5的應答能力。這就好比好的教材勝過大量普通書籍。
GPT-4的多模態訓練數據集由圖片和文本共同構成(一般是單幅圖片+多行文本)。根據GPT-4的技術報告,可以分析GPT-4的多模態數據集包括圖表推理、物理考試、圖像理解、論文總結、漫畫圖文等不同類型。目前GPT-4的多模態應用還處於實驗中,並未對公眾開放。
3.2 GPT-4****訓練流程分析
我們根據GPT-4的技術報告,初步分析其訓練流程如下:
第一階段:構建交叉注意力架構預訓練模型,收集數據並進行有監督策略精調
GPT-4模型是基於GPT-3.5構建的,增加了視覺語言模型組件(在圖形Transformer階段完成的視覺預訓練模型)。為了預訓練模型在多模態領域進行初步調優,首先會在文本數據集和多模態數據集中抽取問題,由人類標註員,給出高質量答案,然後用這些人工標註好的數據來精調GPT-4初始模型(獲得SFT模型,Supervised Fine-Tuning)。
此時的SFT模型在遵循指令/對話方面已經優於GPT-3.5,但對多模態的解答不一定符合人類偏好。
▲GPT-4訓練過程(基於GPT-4技術報告繪製)
第二階段:訓練獎勵模型(RRM)和基於規則的獎勵模型(RBRM)
這一階段包括基於規則的獎勵模型(Rule-Based Reward Model,RBRM)和獎勵模型(Reward Mode,RM)
首先基於安全規則設計基於規則的獎勵模型並完成驗證。這一模型與傳統NLP領域的規則模型設計方法一致。
然後在數據集中抽取問題,使用第一階段生成的模型,對於每個問題,生成多個不同的回答。人類標註者對這些結果綜合考慮給出排名順序。(有點像互聯網企業的審圖師)
接下來,使用這個排序結果數據來訓練GPT-4的獎勵模型。對多個排序結果,兩兩組合,形成多個訓練數據對。RM模型接受一個輸入,給出評價回答質量的分數。這樣,對於一對訓練數據,調節參數使得高質量回答的打分比低質量的打分要高。這一過程類似於教練或老師輔導。

▲PPO算法示意(來源:澳大利亞Monash大學)
第三階段:採用PPO(Proximal Policy Optimization,近端策略優化)強化學習來優化策略
PPO的核心思路在於將Policy Gradient中On-policy的訓練過程轉化為Off-policy,即將在線學習轉化為離線學習,這個轉化過程被稱之為Importance Sampling。這一階段利用第二階段訓練好的獎勵模型和基於規則的獎勵模型,靠獎勵打分來更新預訓練模型參數。
在GPT-4數據集中抽取問題,使用PPO模型生成回答,並用上一階段訓練好的RM+RBRM模型給出質量分數。把回報分數依次傳遞,由此產生策略梯度,通過強化學習的方式以更新PPO模型參數。
如果不斷重複第二和第三階段,通過迭代,會訓練出更高質量的GPT-4模型。整個訓練的核心在於高質量數據集/Prompt的構建、思維鏈的訓練技術、大算力工程能力、早期訓練空間的預測和優選。數據量反而不那麼重要,並不是富裕人家的孩子看的電視劇越多,就越能夠考上好大學。
3.3****模型訓練參數空間的早期篩選
這一部分講的是降低訓練量的技術,或者説是節約大量購買服務器的經費的技術。
據論文Scaling Laws for Neural Language Models (2020),可以通過三個要素計算通過交叉熵損失預估GPT-4/GPT-3.5預訓練模型性能。這三個要素是模型參數數量、訓練期間計算量以及訓練數據大小。這三個因素與損失之間存在冪律關係。這意味須將計算量、數據和參數量增加10倍才能將損失減少一個單位,增加100倍才能將損失減少兩個單位,依此類推。
為了提升GPT模型性能(主要是精度),比較經濟的做法是在相對少量的數據上訓練較大的模型,並在更多的訓練步驟或數據上投入更多的計算,以最大限度地減少精度損失。因此“大型預訓練模型+少量高質量標註”成為當前語言模型領域的主流。
▲縮放定律圖示(來源:OpenAI)
對於計算量每增加10倍,該論文大約建議將參數數量增加5倍,將訓練令牌的數量增加2倍,將串行訓練步驟的數量增加1.2倍。這也可以説明,GPT-3等模型越來越大,是從綜合訓練成本考慮的。
縮放定律不僅影響到模型的設計要素,也影響到基於算力的訓練策略。OpenAI開發了針對性的算力基礎設施和優化方法,在多個尺度預測GPT-4模型的訓練效果,從而能在只使用大概千分之一的算力消耗時提前探索GPT-4訓練的解空間,而無需完全遍歷所有可能的訓練參數設置。換句話説,投資人也可以提前預知自己投的創企大概能訓練出多高精度的模型。
縮放定律可以量化為公式L(C) = aCb+ c,從而只要在每個參數模型的早期使用小一些的算力就可以擬合該曲線,提前估算在該訓練參數集下能達到的模型精度。這一方法大大加速了GPT-4模型訓練調優的進程。

▲較小算力模型準確的預測了GPT-4的訓練精度(來源:OpenAI)
4 GPT-4****的算力基座
由GPT-4/ChatGPT及其下游需求,帶動了大量的模型設計與產業應用需求,帶動了從服務器集羣到大算力芯片的海量計算需求。這一需求業導致了A100 GPU的價格在近幾個月內暴漲。那麼,在多模態大模型逐漸火熱之後,GPU會是唯一的算力選擇嗎?GPU會不會導致模型企業同質化競爭的加劇?
根據IDC預計,到2026年AI推理的負載比例將進一步提升至62.2%,特別是大模型將成為AI****開發的新範式。
對於GPT-4等大模型設計或應用企業,算力的需求體現在如下三個細分階段。
1**)GPT-4預訓練與應用微調階段。這一階段從無到有建立預訓練模型**,通過大量通用數據訓練和驗證預訓練模型。(形成模型的“通識”)然後針對具體的商用或應用場景的特定數據,對預訓練進行針對性的微調,加強對場景的應答準確度。在這一階段,一般需要超算級別或數十台服務器來進行一個大模型的訓練計算,計算以大量矩陣計算和求解為主。這一階段的算力可通過上述的縮放定律來進行預測和縮減不必要的訓練參數集合所需的算力(非必要參數集分支大概可縮減到千分之一)。
2**)GPT-4推理與部署階段。根據場景微調後的大模型,就可部署到實際生產環境中應用。相對訓練來説,部署要求的算力較低,但是基數很大**。對於大量在線交互來説,部署階段的服務器/芯片成本要遠遠超過訓練階段。在這一階段,每台AI服務器可以部署一個GPT-4模型,集羣上會有大量服務器進行並行的網絡服務,計算以大量矩陣計算和存儲調度為主。同時,在這些場景下,特別是端側應用場景,也會有硬件性價比和反應延遲的特定要求,目前的GPU就不一定適合。
3**)GPT-4模型迭代的微調階段。每使用一段時間,就會根據使用者或者客户反饋,對模型進行調整,以提高客户滿意度,特別是提升模型的安全度以確保合規。這個過程就是模型迭代**的過程,一般相當於小規模的訓練,訓練所用的數據規模不大,計算以大量矩陣計算和求解為主。