ChatGPT 是如何工作的

01

概述

最近幾個月,大型語言模型 (LLM) 引起了廣泛的關注, 這種需求導致了利用語言模型的網站和解決方案的不斷髮展。ChatGPT 在 2023 年 1 月創造了用戶增長最快的記錄,證明了大語言模型的強大和發展速度。

圖片

大語言模型

大語言模型(Large Language Model,LLM)是一種基於人工智能(Artificial Intelligence,AI)算法的模型,利用深度學習技術和大規模數據集來理解、總結、生成和預測新的內容。LLM 與生成人工智能密切相關,實際上,LLM 是一種專門設計用於生成基於文本內容的生成人工智能。LLM 是語言模型概念在人工智能領域的演進,它通過擴展用於訓練和推理的數據集,顯著提升了人工智能模型的能力。儘管沒有一個普遍接受的數據集大小標準,但一個典型的 LLM 通常具有至少 10 億個或更多的參數。參數是機器學習中的術語,用於表示模型中存在的變量,這些變量可以用來推斷生成新的內容。

02

大模型的應用

圖片

  1. 文本生成:大語言模型可以用於生成各種類型的文本,包括文章、新聞報道、詩歌、故事等。它可以根據輸入的提示或上下文生成連貫的文本,並具備一定的創造性。

  2. 語言翻譯:大語言模型可以用於實時語言翻譯,將一種語言翻譯成另一種語言。它可以處理複雜的句子結構和語義,並生成高質量的翻譯結果。

  3. 對話系統:大語言模型可以用於構建智能對話系統,與用戶進行自然語言交互。它可以回答問題、提供信息、執行任務,並具備一定的對話能力和上下文理解能力。

  4. 自動摘要和信息提取:大語言模型可以自動提取文本中的關鍵信息,並生成簡潔的摘要。它可以幫助人們更快地獲取信息,並從大量文本中篩選出有用的內容。

  5. 智能客服和虛擬助手:大語言模型可以應用於智能客服系統和虛擬助手,爲用戶提供實時幫助和答案。它可以理解用戶的問題和需求,並做出相應的迴應和建議。

  6. 內容生成和創作助手:大語言模型可以幫助作家、編輯和內容創作者生成創意、改善寫作風格,並提供實時建議和反饋。它可以成爲一個有用的創作助手,提高創作效率和質量。

  7. 數據分析和決策支持:大語言模型可以處理和分析大規模的文本數據,並從中提取有價值的信息。它可以幫助企業做出決策、進行市場分析、挖掘用戶反饋等。

03

大模型的原理

大語言模型(Large Language Model,LLM)是基於深度學習技術的模型,它的原理主要涉及兩個關鍵方面:模型架構和訓練方法。

  1. 以 Transformer 爲例,大語言模型通常採用 Transformer 架構。Transformer 模型由編碼器(Encoder)和解碼器(Decoder)組成。

  2. 編碼器和解碼器由多個相同層堆疊而成,每個層都包含多頭自注意力機制(Self-Attention)和前饋神經網絡(Feed-Forward Neural Network)。

  3. 自注意力機制允許模型根據輸入序列的不同位置之間的關係,動態地分配注意力權重。這使得模型能夠對上下文信息進行建模,並捕捉長距離依賴關係。

  4. 前饋神經網絡通過多層感知機對每個位置的特徵進行非線性映射和變換。

  1. 大語言模型的訓練通常採用監督學習方法,即使用有標籤的文本數據來進行訓練。

  2. 訓練過程中,模型接收輸入序列,並通過前向傳播生成預測輸出序列。

  3. 預測輸出序列與真實目標序列進行比較,通過損失函數(如交叉熵)計算損失。

  4. 使用反向傳播算法和優化器(如 Adam)對模型的參數進行調整,以最小化損失函數。

  5. 在訓練過程中,通常使用批量訓練和梯度累積等技巧來處理大規模數據和大模型的訓練。

通過逐漸增加數據量和模型規模,並進行大規模的預訓練和微調,大語言模型可以提高對語言的理解和生成能力。模型的參數數量通常是十億級別甚至更多,這使得模型能夠處理複雜的語言結構和豐富的語義信息。

神經網絡

圖片

大型語言模型是使用一種特殊的神經網絡架構建立的,稱爲基於變壓器的大型語言模型,它類似於人類大腦中神經元的連接方式。這使得 LLM 能夠以驚人的準確性和速度預測和處理語言。

神經網絡(Neural Network)是一種由人工神經元組成的計算模型,模擬了生物神經系統中神經元之間的連接和信息傳遞。它是人工智能領域的重要組成部分,被廣泛用於解決各種複雜問題,如圖像識別、語音識別、自然語言處理等。

神經網絡由多個層次組成,包括輸入層、隱藏層和輸出層。每個層都由多個神經元(或稱爲節點)組成,這些神經元之間通過連接權重進行信息傳遞。輸入層接收外部輸入,隱藏層對輸入進行處理和轉換,最終輸出層生成最終的預測結果。

變壓器結構

變壓器結構(Transformer)是一種基於注意力機制的神經網絡模型,最初被提出用於機器翻譯任務,但後來廣泛應用於自然語言處理等領域。它在處理序列數據方面相比傳統的循環神經網絡(RNN)和卷積神經網絡(CNN)具有很多優勢。

變壓器結構的主要組成部分是自注意力機制(Self-Attention)和前饋神經網絡(Feed-Forward Neural Network)。

自注意力機制:自注意力機制是變壓器結構的核心,用於對輸入序列中的不同位置之間的關係進行建模。通過計算每個位置與其他所有位置的相關性得分,自注意力機制能夠爲每個位置分配不同的注意力權重。這樣,模型可以捕捉到序列中不同部分之間的長距離依賴關係。自注意力機制由三個線性變換(查詢、鍵和值)和注意力計算組成。

前饋神經網絡:在變壓器結構中,每個位置的特徵都通過前饋神經網絡進行非線性映射和變換。前饋神經網絡通常由兩個全連接層和激活函數組成,能夠在每個位置上對特徵進行逐元素的映射。

圖片

變壓器結構的特點包括:

       變壓器結構的引入對於深度學習在自然語言處理領域的發展起到了重要的推動作用,它已成爲當前最先進的語言模型和序列建模的主流架構之一。

自主學習

這些類型的語言模型通過非監督式學習訓練大量的數據 (稱爲訓練數據) ,這意味着模型不知道它在看什麼。這種訓練允許模型通過一種稱爲自我監督學習的技術來學習如何準確地處理語言。

轉移學習

  1. 大型語言模型也使用遷移學習,這意味着他們可以利用從一個任務中學到的知識來訓練他們執行另一個任務。例如,一個大型語言模型經過了將英語翻譯成法語的培訓,可以利用其學到的知識將英語翻譯成中文。

大型語言模型的特點

大型語言模型(Large Language Model,LLM)具有以下幾個特點:

圖片

03

大模型促進 AIGC 發展

AIGC(人工智能生成內容 Artificial Intelligence Generated Content)是一種利用人工智能技術創建內容的方法,被認爲是專業生成內容(PGC)和用戶生成內容(UGC)之後的新型內容創作方式。AIGC 在文本、圖像、音頻 / 視頻、軟件開發等領域得到快速發展。近年來湧現了許多專注於 AIGC 的創作體驗平臺,用戶可以通過輸入一個句子,讓 AI 合成與之相關的圖片,或者輸入一篇文章的描述,甚至只是一個故事的開頭,讓人工智能爲其完成整篇文章。

AIGC 在需要撰寫或創建內容的各個領域都有廣泛應用,比如撰寫財務報告、開發代碼或創建銷售 / 營銷材料等。它幫助人們更快地理解和分析複雜的信息,從而幫助他們做出更好的決策並創造顯著的價值。隨着技術的進步,這些提高生產力的願景正在逐漸成爲現實。大語言模型的發展確實促進了 AIGC 領域的發展。

圖片

接下來我們介紹幾個常見大模型

01

RNN Seq2Seq

AIGC 一直以基於 RNN 的 Seq2Seq 模型爲主,該模型由兩個 RNN 網絡組成,第一個 RNN 是編碼器,第二個 RNN 是解碼器。由 RNN Seq2Seq 生成的文本質量通常較差,常常伴有語法錯誤或語義不清,主要原因是錯誤的傳遞和放大。

2017 年,變壓器模型結構被引入,並迅速得到普及,因爲它能夠捕獲複雜的特徵表示和改進的訓練效率相比,RNN 模型。因此開發了一系列預訓練模型,成爲目前 AIGC 的主流技術。變壓器模型特別有用,因爲它可以並行處理序列,從而將文本寫入算法的研究重點轉向了變壓器模型。

圖片

02

UniLM

UniLM 是統一語言模型 (Unified Language Model) 的縮寫,是微軟研究院 (Microsoft Research Institute) 於 2019 年開發的生成式 BERT 模型。與傳統的 Seq2Seq 模型不同,它只使用 BERT,沒有解碼器組件。它結合了 L2R-LM (ELMo,GPT)、 R2L-LM (ELMo)、 BI-LM (BERT)和 Seq2Seq-LM 等模型的訓練方法,因此得名爲 “統一” 模型。

圖片

UniLM 的預訓練分爲三個部分: 從左到右、雙向和從繼續到繼續。這三種方法的區別僅僅在於變壓器掩模矩陣的改變:

  1. 對於 Seq-to-Seq,前一句的注意力被下一句所掩蓋,因此前一句只能關注它自己,而不能關注下一句; 下一句中每個詞對其後續詞的注意力被掩蓋,它只能關注它前面的詞;

  2. 對於從左到右,變壓器的注意力只集中在單詞本身和前面的單詞上,而不注意後面的單詞,所以掩碼矩陣是一個較低的三角形矩陣;

  3. 對於雙向,變壓器的注意力注意所有的詞,包括 NSP 任務,就像原來的 BERT。

在 UniLM 的預訓練過程中,這三種方法中的每一種都要訓練三分之一的時間。與原有的 BERT 相比,增加的單向 LM 預訓練提高了文本表示能力,增加的 Seq-to-Seq LM 預訓練也使 UniLM 在文本生成 / 寫作任務中表現良好。

03

T5

T5,全名爲文本到文本傳輸轉換器,是 Google 在 2020 年提出的一個模型結構,其總體思想是使用 Seq2Seq 文本生成來解決所有下游任務: 例如,問答、摘要、分類、翻譯、匹配、延續、指稱消歧等。這種方法使所有任務能夠共享相同的模型、相同的損失函數和相同的超參數。

T5 的模型結構是基於多層變壓器的編解碼結構。T5 與其他模型的主要區別在於,GPT 族是一個只包含解碼器結構的自迴歸語言模型 (AutoRegressive LM) ,BERT 是一個只包含編碼器的自編碼語言模型

圖片

T5 的預訓練分爲無監督預訓練和有監督預訓練兩部分。

無監督部分是類似於 BERT 的 MLM 方法,只不過 BERT 是屏蔽一個單詞,而 T5 是屏蔽一段連續的單詞,即文本跨度。被屏蔽的文本跨度只被一個掩碼字符替換,也就是說,掩碼的序列長度對於掩碼後的文本也是未知的。在解碼器部分,只輸出掩碼的文本跨度,其他字被集合、符號和符號統一替換。這種方法有三個優點: 一是增加了預訓練的難度,顯然預測未知長度的連續文本長度比預測單個單詞更困難,這也使得訓練語言模型的文本表示能力更加通用,更適合於對低質量數據進行微調; 二是對於生成任務,輸出序列未知長度,T5 的預訓練效果良好。

監督部分使用 GLUE 和 SuperGLUE 中包含的四大類任務: 機器翻譯、問答、總結和分類。微調的核心是將這些數據集和任務結合起來作爲一個任務,爲了實現這一點,人們認爲應該爲每個任務設計一個不同的前綴,這個前綴與任務文本一起輸入。例如,對於翻譯任務,翻譯 “That is good。” 從英語到德語,然後 “翻譯英語到德語: 這是好的。目標: 很好進行培訓,並且“將英語翻譯成德語: 這很好。目標: “ ,模型輸出預測“達斯是好的。”. 其中“將英語翻譯成德語:” 是爲此翻譯任務添加的前綴。

04

BART

BART 代表雙向和自迴歸變壓器。這是 Facebook 在 2020 年提出的一種模式結構。顧名思義,它是一種結合了雙向編碼結構和自迴歸解碼結構的模型結構。BART 模型結構吸收了 BERT 中雙向編碼器和 GPT 中左向右解碼器的特點,建立在標準的 Seq2Seq 變壓器模型基礎上,比 BERT 更適合文本生成場景。同時,與 GPT 相比,它還具有更多的雙向上下文信息。

圖片

BART 的預訓練任務採用了恢復文本中 [噪聲] 的基本思想。

  1. 令牌屏蔽: 與 BERT 一樣,隨機選擇一個要用 [MASK] 替換的令牌;

  2. 令牌刪除: 隨機刪除一個令牌,模型必須確定哪個輸入丟失;

  3. 文本填充: 類似於 T5 方法,屏蔽一個文本跨度,每個文本跨度由一個 [MASK] 標記替換。

  4. 句子排列: 用句點作爲分隔符,將輸入的句子分成多個句子,然後對它們進行隨機排列;

  5. 文檔旋轉: 隨機、均勻地選擇一個標記,並以選定的標記作爲新的開始旋轉輸入,這個任務訓練模型識別文檔的開始。

可以看出,與 BERT 或 T5 相比,BART 在編碼器端嘗試了各種 [噪聲] ,其原因和目的也很簡單:

05

GPT

GPT(Generative Pre-trained Transformer)是一種基於變壓器(Transformer)架構的大型語言模型。它是由 OpenAI 開發的一系列語言模型的命名簡寫,包括 GPT、GPT-2 和 GPT-3。

GPT 模型的核心思想是通過大規模的預訓練來學習語言的統計規律和上下文信息,然後利用這些學習到的知識來生成文本或執行其他自然語言處理任務。

GPT 模型在自然語言處理領域有廣泛的應用,如文本生成、機器翻譯、對話生成等。隨着模型規模和數據集的增大,GPT-3.5 和 GPT-4 等版本的模型在生成質量和語言理解方面取得了顯著的進展,並在多個任務上展現出強大的性能。

GPT-1

第一代 GPT 是 OpenAI 在 2018 年提出的一個預訓練語言模型。它的誕生早於 BERT,其核心思想是基於大量未註釋的數據進行生成式預訓練學習,然後針對特定任務對其進行微調。由於 GPT 模型側重於產生式預訓練,因此只使用變壓器的譯碼部分,其標準結構包括掩蔽多頭注意和編譯碼注意。GPT 的預訓練任務是 SLM (標準語言模型) ,它基於前一個上下文 (窗口) 預測單詞的當前位置,因此有必要保留面具多頭注意來阻止單詞的下面的上下文以防止信息泄露。由於不使用編碼器,因此從 GPT 結構中移除了編碼器 - 解碼器注意力。

GPT-2

第一代 GPT 的問題是,微調下游任務缺乏可傳遞性,而且微調層不能共享。爲了解決這個問題,OpenAI 在 2019 年引入了 GPT 家族的一個新成員: GPT-2。

圖片

GPT-2 的學習目標是使用一個無監督的預訓練模型來完成一個有監督的任務。與第一代 GPT 相比,GPT-2 有以下變化:

模型結構去掉了微調層,通過爲語言模型設計合理的語句對所有任務進行預訓練,訓練需要保證每個任務的損失函數收斂;

將圖層歸一化的位置移動到每個子塊的輸入端,並在最後一次自注意之後添加圖層歸一化;

採用改進的初始化方法,在初始化時將殘餘層的權重縮放到 1/√ N 次,其中 N 爲殘餘層數;

詞彙表範圍擴展到 50257,輸入上下文的大小從 512 擴展到 1024,並且使用更大的批量大小進行訓練。GPT-2 的多任務訓練使它具有更強的泛化能力,當然,這也是由於它使用了高達 40G 的訓練語料庫。GPT-2 的最大貢獻是驗證了用海量數據和大量參數訓練的模型能夠在不需要額外訓練的情況下轉移到其他類別的任務。

GPT-3

2020 年,OpenAI 進一步推出了基於 GPT-2 的 GPT-3。GPT-3 的方法更簡單和粗糙,模型的總體結構和培訓目標與 GPT-2 相似,但 GPT-3 將模型大小增加到 1750 億個參數 (比 GPT-2 大 115 倍) ,並使用 45TB 的數據進行培訓。由於參數的驚人數量,GPT-3 可以學習和預測使用零樣本和少樣本沒有梯度更新。

InstructGPT

超大型模型 GPT-3 確實在生成任務方面取得了前所未有的成果,特別是在零樣本和少樣本情景下,但 GPT-3 面臨着一個新的挑戰: 模型的輸出並不總是有用的,它可能輸出不真實的、有害的或反映負面情緒的結果。這種現象是可以理解的,因爲預訓練的任務是一種語言模型,預訓練的目標是在輸入約束下最大限度地提高輸出爲自然語言的可能性,而不需要 “用戶需要安全性和有用性”。爲了解決這個問題,OpenAI 在 2022 年發佈了基於 GPT-3 的重要研究成果。

圖片

就模型本身而言,雖然指令 GPT 與 GPT-3 相比沒有太大的變化,但主要的變化是在培訓策略上。總體思想是讓註釋器爲調用示例提供演示應答,然後使用這些數據對模型進行微調,以便它能夠做出更適當的響應。它的培訓步驟分爲三個步驟:

  1. 收集演示數據,用監督訓練法訓練模型。爲手動註釋採樣提示數據集的一部分,並將其用於微調 GPT-3。

  2. 收集對比數據,建立獎勵模型。取樣一批數據並將其輸入到步驟 1 中微調的模型中。註釋者根據模型的優點對模型的輸出進行排序,並利用這些數據來訓練一個獎勵模型。

  3. 使用強化學習優化模型的輸出。使用步驟 2 中獲得的獎勵模型,通過強化學習優化步驟 1 中微調的模型的輸出,以便模型能夠輸出更合適的響應。

在遵循指令方面,由此產生的 DirectGPT 比 GPT-3 好得多,而且 DirectGPT 不太可能憑空捏造事實,有害輸出的產生有小的下降趨勢。

ChatGPT

2022 年 11 月 30 日由 OpenAI 正式發佈的最新研究 “ChatGPT”,ChatGPT 是一個交互式聊天機器人,它使用預先訓練好的語言模型(包括 GPT-3) 來生成對用戶輸入的人聲響應。該模型由多個隱藏層組成,這些層負責處理和生成模型輸出。ChatGPT 能夠理解和響應上下文中的新數據,因此可以針對特定用例進行微調,或者爲文本摘要、語言任務和其他研究目的對新數據進行培訓。

圖片

可以看出,ChatGPT 的培訓過程與 DirectGPT 的培訓過程是一致的,區別在於翹舌 GPT 在 GPT-3 上進行微調,而 ChatGPT 在 GPT-3.5 上進行微調 (GPT-3.5 是 OpenAI 在 2021 年第四季度培訓的一個模型,具有很強的自動代碼編寫能力)。

在從第一代 GPT 到 ChatGPT 的整個開發過程中,OpenAI 已經證明,使用超大數據來訓練超大模型,得到的預訓練語言模型足以處理自然語言理解和自然語言生成的各種下游任務,即使沒有微調,仍然可以處理零 / 少樣本任務。就輸出的安全性和可控性而言,OpenAI 的回答是基於人工強化學習的: 僱傭 40 名全職註釋員工作近 2 年 ,爲模型的輸出提供註釋反饋,只有這些數據才能用於指導模型的優化強化學習。

04

總結

大語言模型的出現使得開發團隊能夠探索新的產品功能和應用。通過與大語言模型集成,產品可以提供更強大的自然語言處理能力,如智能搜索、自動摘要、語義理解等。可以藉助大語言模型改進產品的用戶界面和交互方式,通過使用自然語言處理和生成能力,產品可以提供更智能、更自然的對話和指導,從而提升用戶體驗,產品運營可以利用大語言模型生成高質量的文本內容,節省時間和資源,併爲用戶提供個性化的、即時的內容。

人工智能的發展改變最大的是我們的思維方式,還是那句話,幹掉你的不是人工智能而是掌握了人工智能的人。

開啓新旅程

生命由一段又一段的旅程銜接而成,在每段旅程中,都能發現不一樣的風景

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/ZNbXpsaxTbK8mnq7XkD1aA