什麼是大語言模型?| 普通人能讀懂的AIGC

序言

2022年11月30日,OpenAI公司發佈ChatGPT,瞬間引爆了全球網際網路,拉開了生成式人工智慧技術革命的序幕。當回顧這一年多的人工智慧發展,任何現存詞彙都無法形容其波瀾壯闊,AIGC技術以前所未有的速度進化,通用人工智慧的輪廓日漸清晰。

在這場勢不可擋的技術革新洪流中,公眾的情緒由最初的旁觀、震驚,逐漸演變成一種夾雜著求知渴望的焦慮——這一切很大程度上源自於人工智慧技術的神秘面紗。深入探究AI的奧秘要求深厚的理論基礎,這對於大多數人而言並非易事。因此,我特推出本系列文章,旨在幫助廣大讀者揭開AIGC技術的神秘面紗,並逐步掌握其實用技巧,讓技術更加平易近人。


有很多人將AIGC翻譯為生成式人工智慧,與GAI、AGI等縮略詞產生混淆,以下是我對這幾個縮略詞的理解,供大家參考。

  1. AGI (Artificial General Intelligence):可翻譯為通用人工智慧,指具有人類認知能力的人工智慧,能夠執行普通人類才可以完成的任務。
  2. GAI (Generative Artificial Intelligence):可翻譯為生成式人工智慧,指具備生成新資料和內容能力的人工智慧技術。
  3. AIGC (Artificial Intelligence Generated Content):最初AIGC被用來指代內容,可被翻譯為人工智慧生成內容,所對應的是人們常說的PGC(平台生成內容)和UGC(使用者生成內容);但越來越多人也用AIGC指代技術,這時將AIGC翻譯為智能內容生成技術更為合適,以區分開更能精準表達生成式人工智慧的GAI。

在這一波AIGC技術浪潮中,大語言模型(Large Language Models,簡稱LLM)首當其衝,率先成為公眾矚目的焦點,並快速轉化為實際生產力。隨之而來的,圖像、視訊及音樂領域的智能生成模型也逐步引起大量關注。本系列文章以大語言模型為啟航點,帶您一步步深入探索這片神奇領域,我希望以更通俗的語言讓大眾能夠理解AI,很多表達並不嚴謹,請讀者切勿用於對AI演算法的精準理解。

大語言模型

大語言模型(Large Language Model, LLM)是一種由大量文字資料訓練出來的自然語言處理模型,使用機器學習技術,來理解和生成人類語言。ChatGPT就是大語言模型的典型代表。


ChatGPT中的Chat比較容易理解:對話,那麼其中的GPT到底是什麼意思呢?其實,它是下面三個單詞的縮寫:

  • Generative:生成式的
  • Pre-trained:預訓練的
  • Transformer:變形金剛

在這三個單詞中,只有一個是名詞,即Transformer,G和P都是修飾詞,所以我們有必要先來瞭解一下什麼是Transformer。

Transformer是什麼?

Transformer就是一個AI神經網路模型,這裡的“網路”並不是我們日常家庭、公司所用於連接電腦和手機的網路,而是電腦科學家們用來模擬人腦工作機制的神經元網路,它一般由很多節點組成,每個節點用來模擬人腦神經元的工作機制,接收輸入資訊進行簡單的計算,然後傳遞給下一個節點。通常神經元被分為很多層,每一層之間的神經元相互連接用來傳遞資訊,每一個連接可以有一個數值來表達其傳遞資訊的強度,這個數值就是我們通常所講的大模型“參數”,現在我們會經常在各種文章中看到7B(70億)、20B(200億)等參數規模的描述,就可以腦補為這個模型中有數十億到上千億這種密密麻麻的神經元之間的連接。


Transformer是由Google在2017年6月份所發表的論文《Attention Is All You Need》中所提出。這篇論文是由一個8人團隊完成,他們中既有當時還在讀大學的實習生,也有Google的早期員工,但現如今他們都已經離開了Google,均在AI領域中開啟了自己的創業生涯,有一篇文章專門講述了這8個人撰寫這篇論文的故事:《AI的偉大節點:Transformer 技術起源故事-Google八叛徒》,有興趣的讀者可以去讀一下,挺有意思的。至於為什麼叫Transformer,無從考證,據說是這個團隊的發起者從小喜歡玩變形金剛的玩具,而這個模型最初就是用來解決翻譯任務的,比較應景,所以就用了這樣一個霸氣的名稱。

Transformer最初提出是希望解決翻譯等任務的,其結構為編碼器-解碼器(Encoder-Decoder)架構,正如其論文標題“Attention Is All You Need”所揭示,其精髓就在於Attention,我們一般將其翻譯為“注意力機制”。Attention是一種革命性的平行計算策略,它使模型能夠高效地捕捉輸入文字中每個詞彙間的微妙聯絡,實現了對整體語境的快速理解。


語言是人類文明的瑰寶,人類可以用自然語言來表達豐富的內涵。我們自出生就生活在一個用語言來承載各種資訊的環境中,這種環境使得我們從很小就能理解文字所表達的意思,能分辨哪些文字內容是相近的、哪些是無關的。

然而,想要讓電腦也具備這個能力,就有一定難度了。因為,在電腦裡面所有的資訊的底層表示都是數字,我們可以用數字來儲存和呈現文字、圖像和視訊等,但在智能時代,電腦科學家們想往前跨一大步:試圖用數字來表達一段資訊的語義,並進而實現複雜的推理任務。

為什麼數字能夠表達呢?我們用更直觀的方式來進行解釋。

例如:我們想描述一個“人”,我們可以用性別、體重、身高、年齡這四個屬性來描述,那麼就可以用一組數字(0,74.5,178.5,23)來表徵一個人:男性(0-男性,1-女性)、74.5公斤重、178.5cm高、23歲,如果想更精細的來描述這個人,還可以把膚色、眼睛大小、頭髮長短、學歷、工作性質、性格特點、說話音色等都用數字來表達,描述的屬性越多,我們腦補出這個人的形象也就越精準。而且,如果兩個人的數值越接近,他們兩個的相似性也就越高;反之,兩個人的差異度也就越大。


除了直觀的“人”可以用一組數字來表達外,其他的資訊(例如圖像、文字、視訊)等也都可以通過抽取其特徵形成一系列數字,數字的數量就是維度,當維度逐步擴大,其能表達和容納的資訊會越來越多,能夠將生活中的萬事萬物都可以轉換為一個高維的數字向量,也可以理解為高維空間中的一個點。經過這種對應,會發現一個很有意思的現象:我們生活中感覺含義比較相近的內容,在這個空間中的距離也很近;而我們生活中無關的資訊,在這個空間中的距離也相對較遠。很多神經網路模型的提出,就是在希望找到各種辦法,能夠更快更準的實現這種資訊對應,然後再通過推理來解決現實生活中的各種任務。

Transformer的這篇論文,其核心就是採用的Attention機制來完成這個目標。Attention的特點是能夠通過平行計算,快速關注到文字內容每個單詞之間的相互關係,從而實現對整個輸入內容語義的理解和推理。在此之前所提出的演算法,大都需要通過序列計算來順序感知每個資訊,導致計算效率不高,Attention的引入大大提升了這個效率。這種效率的提升帶來了一個巨大的效應:大規模的訓練成為了可能,有了大規模的訓練,AI模型才湧現出後來讓人瞠目結舌的各種能力。

Transformer包括兩大部分:編碼器(Encoder)和解碼器(Decoder)。編碼器扮演著翻譯前的“理解者”角色,借助於Attention來快速分析輸入的文字內容,理解其語義;而解碼器是一位“推理者”,它根據編碼器所理解的語義,推匯出希望翻譯的目標語言的文字內容,這種推導是逐詞完成的:先輸出第一個詞,然後再把第一個詞再次送入解碼器,來推導第二個詞,如此循環下去,直到解碼器認為“結束翻譯”是下一個輸出為止。在解碼器的推導過程中,Attention同樣也發揮著重要作用,它被用來理解前面已經推匯出來的資訊,並且和編碼器捕獲的語義資訊進行整合,以確保翻譯工作的精準性。

GPT類大語言模型到底是怎麼工作的?

Transformer提出後,分成了兩大主要流派:一是沿著編碼器部分進行更深入的探索,編碼器的結構被設計為能夠快速理解一段完整的文字,所以這個研究方向的成果很適合理解一段文字所表達的情感、對一段文字缺失的單詞進行補全(完形填空)等;另一個方向是深入探討解碼器部分,這部分的結構被設計為根據已感知的資訊,逐詞推導後續內容,所以很適合用於做內容的續寫、問題的回答,這個流派的代表性團隊就是OpenAI。


自Transformer論文發表後,OpenAI公司的電腦科學家們敏銳的感知到其所蘊含的潛力,迅速組織團隊開始深入研究,尤其是解碼器部分。從2018年開始,OpenAI相繼發佈了GPT1.0、GPT2.0、GPT3.0、WebGPT、InstructGPT等,直到2022年11月30日發佈ChatGPT。此後,幾乎所有團隊都把重心放到瞭解碼器部分,近一年多所發佈的Claude、Llama、Gemini、通義千問、文心一言、ChatGLM、Baichuan等模型,幾乎都是在解碼器結構上訓練出來的,所以,如果以後在一些文章裡看到“Decoder-Only”的表述,指的就是Transformer的解碼器結構的模型。


那麼在解碼器結構上所發展出來的GPT類大語言模型(為了表達簡單,以下都簡稱為GPT)到底是怎麼工作的呢?由於這一部分的結構的設計,是用Attention機制來快速感知已經獲取的資訊,來逐詞推導後續的內容,所以,GPT的工作原理可以用一句話來解釋:根據已知內容來預測下一個字是什麼。


GPT最直觀的類比,就是日常用的輸入法,當我們輸入了一個漢字後,輸入法會將接下來最有可能繼續輸入的漢字提示出來,以供我們能夠快速的完成輸入。GPT強大的地方在於不僅僅能夠感知上一個輸入的字,而是可以感知前面已知所有資訊,並根據這些資訊來持續預測緊接著的下一個字。

我們可以把GPT理解為一個函數,這個函數的輸入是已知的資訊,輸出是下一個字,假如我們向GPT提問的輸入內容(這個輸入內容一般被稱為提示詞,Prompt)是“請解釋大語言模型的概念“,下圖就是其工作機制的示意。


GPT會持續預測下一個字,直到它認為“結束當前回答”為止,這也是我們在使用GPT時,為什麼是逐漸輸出結果的原因。雖然這樣看,其工作機制並不複雜,但GPT的強大之處在於即使人們向它提問非常複雜的問題,它也能夠給出很高品質的回應,這需要龐大的模型、高品質的資料和強大的算力來完成這個模型的建構,在接下來的文章中,我們將進一步探討GPT的訓練過程,以及其所呈現出的關鍵能力。

Prompt(提示詞):指的是給大語言模型提供的一段文字輸入,用於引導模型生成相應的輸出。這個提示詞可以是一個問題、指令,也可以是一段話的引子,或者任何其他形式的文字,它的作用是設定上下文,讓模型理解使用者的意圖,並生成與該上下文相關的回答或完成任務。 (上海市多媒體行業協會)