大型語言模型

用大量文字建構的語言模型 来自维基百科,自由的百科全书

大型语言模型

大型語言模型(英語:large language model,LLM),也稱大語言模型,是由具有大量參數(通常數十億個權重或更多)的人工神經網絡組成的一類語言模型,使用自監督學習半監督學習對大量未標記文本進行訓練[1]。大語言模型在2018年左右出現,並在各種任務中表現出色[2]

儘管這個術語沒有正式的定義,但它通常指的是參數數量在數十億或更多數量級的深度學習模型[3]。大語言模型是通用模型,在廣泛的任務中表現出色,而不是針對一項特定任務(例如情感分析、命名實體識別或數學推理)進行訓練[2]

儘管大語言模型僅在預測句子中的下一個單詞等簡單任務上接受過訓練,但具有足夠訓練和參數計數的神經語言模型可以捕獲人類語言的大部分句法語義。 此外大語言模型還展示了相當多的關於世界的常識,並且能夠在訓練期間「記住」大量事實[2]

雖然ChatGPT等大語言模型在生成類人文本方面表現出了卓越的能力,但它們很容易繼承和放大訓練數據中存在的偏差。這可能表現為對不同人口統計數據的歪曲表述或不公平待遇,例如基於種族[4]、性別[5]、語言[6]和文化群體[6]的不同觀點與態度。

歷史

20世紀90年代,IBM對齊模型英語IBM alignment models開創了統計語言建模。2001年,一個基於3億個單詞進行訓練的平滑n-gram模型達到了當時最優的困惑度[7] 在21世紀,隨着互聯網的普及,一些研究人員構建了互聯網規模的語言數據集(「網絡語料庫」[8]),並在此基礎上訓練統計語言模型。[9][10] 2009 年,在大多數語言處理任務中,統計語言模型優於符號語言模型,因為它們可以有效地消化大型數據集。[11]

在 2012 年左右神經網絡在圖像處理領域佔據主導地位後[12],它們也被應用於語言建模。谷歌於 2016 年將其翻譯服務轉換為神經機器翻譯。就像在transformer出現之前的語言模型一樣,它由seq2seq深度LSTM網絡完成。

在 2017 年 NeurIPS 會議上,谷歌研究人員在他們的里程碑式論文《Attention Is All You Need》中介紹了Transformer架構。這篇論文的目標是改進 2014 年的 seq2seq 技術,[13] 並且主要基於 Bahdanau 等人在 2014 年開發的注意力機制[14]2018 年,BERT被引入後迅速變得「無處不在」。[15]雖然原始的 Transformer 同時具有編碼器和解碼器塊,但 BERT 是一個僅編碼器的模型。隨着僅解碼器模型(如 GPT)通過提示解決任務的能力迅速提高,BERT 在學術和研究中的使用率在 2023 年開始下降。[16]

僅解碼器模型GPT-1於 2018 年推出,但 2019 年推出的GPT-2才引起了廣泛關注,因為OpenAI最初認為它過於強大,無法公開發布,因為擔心被惡意使用。[17] 2020 年的GPT-3則更進一步,自 2024 年起僅通過API提供,不提供下載模型以在本地執行。2022 年面向消費者的基於瀏覽器的 ChatGPT 吸引了普通民眾的想像力,並引起了一些媒體炒作和在線熱議。[18] 2023 年的GPT-4因其準確性的提高而受到稱讚,並因其多模態功能而被稱為「聖杯」。[19] OpenAI 沒有透露 GPT-4 的高級架構和參數數量。ChatGPT 的發佈導致計算機科學的幾個研究子領域的 LLM 使用率上升,包括機械人技術軟件工程和一些有社會影響的工作。[20]與其競爭的語言模型在很大程度上試圖與 GPT 系列相提並論,至少在參數數量方面是這樣。[21]

自 2022 年以來,開源模型越來越受歡迎,尤其是最初的BLOOMLLaMA,儘管兩者在使用領域都有限制。Mistral AI的模型Mistral 7B和Mixtral 8x7b擁有更寬鬆的Apache許可證。截至2024年6月,根據LMSYS Chatbot Arena排行榜,Llama 3的700 億參數模型的指令微調變體是最強大的開放 LLM,強於GPT-3.5 但不如 GPT-4。[22] 2025年1月,DeepSeek發佈了 DeepSeek-R1,這是一個擁有6710億個參數的開放權重模型,其性能與OpenAI o1相當,但成本卻低得多。[23]

自 2023 年以來,許多 LLM 已被訓練為多模態,能夠處理或生成其他類型的數據,例如圖像或音頻。這些 LLM 也稱為大型多模態模型 (LMM)。[24]

截至 2024 年,最大、功能最強大的模型均基於 Transformer 架構。最近的一些實現基於其他架構,例如循環神經網絡變體和 Mamba英語Mamba (deep learning architecture)狀態空間模型)。[25][26][27]

數據集預處理

標記化

由於機器學習算法處理的是數字而不是文本,因此必須將文本轉換為數字(稱為token),該過程稱為標記化(tokenization)。第一步,確定一個詞彙表,然後為每個詞彙表條目任意但唯一地分配整數索引,最後將嵌入與整數索引關聯。算法包括字節對編碼(BPE)和WordPiece(BERT)。還有一些特殊標記用作控制字符,例如 [MASK] 表示掩碼標記(如 BERT 中使用的),[UNK](「未知」)表示未出現在詞彙表中的字符。此外,一些特殊符號用於表示特殊的文本格式。例如,「Ġ」表示 RoBERTa 和 GPT 中的前一個空格。「##」表示 BERT 中前一個單詞的延續。[28]

例如,GPT-3(舊版)使用的 BPE 標記器會將標記器:tokenizer: texts -> series of numerical "tokens"拆分為

token izer :  texts  -> series  of  numerical  " t ok ens "

標記器還會壓縮數據集。由於 LLM 通常要求輸入是一個整齊的數組,因此必須「填充」較短的文本,直到它們與最長文本的長度匹配。平均每個單詞需要多少個標記取決於數據集的語言。[29][30]

字節對編碼

作為示例,考慮基於字節對編碼的標記器。在第一步中,所有唯一字符(包括空格和標點符號)都被視為一組初始的 n-gram(即一組初始的 uni-gram)。隨後,最常見的一對相鄰字符合併為一個二元組,並用它替換該對的所有實例。然後,將最常一起出現的相鄰對(先前合併的)n-gram 再次合併為更長的 n-gram,直到獲得規定大小的詞彙表(對於 GPT-3,大小為 50257)。[31] 訓練標記器後,任何文本都可以被它標記,只要它不包含未出現在初始 uni-gram 集中的字符。[32]

問題

基於從主要英語語料庫中提取的頻率的標記詞彙表對一個普通英語單詞使用儘可能少的標記。然而,由這種針對英語優化的標記器編碼的另一種語言的普通單詞被分成次優數量的標記。對於某些語言,例如緬甸撣語GPT-2 標記器每個單詞最多可以使用 15 倍的標記。與英語相比,葡萄牙語德語等更廣泛使用的語言也「溢價 50%」。[33]

貪心標記化還會導致文本補全出現微妙的問題。[34]

數據清洗

在訓練 LLM 的背景下,數據集通常通過刪除低質量、重複或有害數據來清理。[35] 清理後的數據集可以提高訓練效率並提高下游性能。[36][37]訓練過的 LLM 可用於清理數據集以訓練進一步的 LLM。[38]

隨着網絡上 LLM 生成內容的比例不斷增加,未來的數據清理可能包括過濾掉此類內容。如果內容與人類文本相似(使過濾變得困難)但質量較低(降低在其上訓練的模型的性能),則 LLM 生成的內容可能會帶來問題。[39]

合成數據

訓練最大的語言模型可能需要比自然可用的更多的語言數據,或者自然發生的數據質量不夠。在這些情況下,可能會使用合成數據。微軟的 Phi 系列LLM採用另一LLM生成的類似教科書的數據進行訓練。[40]

訓練架構

指令調優

指令調優(Instruction Tuning)是一種微調技術,通過在包含(指令,輸出)對的數據集上以監督學習方式進一步訓練大型語言模型,使其更好地理解和執行人類指令。這種方法彌合了大型語言模型的下一個詞預測目標與用戶希望模型遵循人類指令之間的差距[41]

基於人類反饋的強化學習

近端策略優化等基於人類反饋的強化學習算法被廣泛用於進一步微調一個大語言模型[42]

混合專家模型

最大的 LLM 可能過於昂貴,無法直接訓練和使用。對於此類模型,可以應用專家混合 (MoE),這是谷歌研究人員自 2017 年以來一直進行的研究方向,用於訓練多達 1 萬億個參數的模型。[43][44]

提示工程,注意力機制和上下文窗口

以前大多數只能通過(昂貴的)微調才能實現的結果,都可以通過提示工程(prompt engineering)實現,儘管僅限於單個對話的範圍(更準確地說,僅限於上下文窗口(context window)的範圍)。[45]

Thumb
當每個注意力頭根據自己的標準計算其他標記與「it_」標記的相關程度時,注意到由第二列表示的第二個注意力頭主要關注前兩行,即標記「The」和「animal」,而第三列主要關注下面兩行,即「tired」,它已被標記為兩個標記。[46]

為了找出上下文窗口範圍內哪些 token 彼此相關,注意力機制會使用多個注意力頭為每個 token(更準確地說是其嵌入)計算「軟」權重,每個注意力頭都有自己的「相關性」來計算自己的軟權重。例如,小型(即 1.17億參數大小)GPT-2 模型有 12 個注意力頭和一個只有 1000 個 token 的上下文窗口。[47] 在其中等版本中,它有 3.45 億個參數,包含 24 層,每層有 12 個注意力頭。對於梯度下降的訓練,使用的批處理大小為 512。[48]

最大的模型,例如 2024 年 2 月推出的 Google Gemini 1.5,可以有一個大小高達 100 萬的上下文窗口(1000 萬的上下文窗口也「成功測試」)。[49] 其他具有大上下文窗口的模型包括 AnthropicClaude 2.1,其上下文窗口最多有 20 萬個 token。[50] 請注意,此最大值指的是輸入 token 的數量,輸出 token 的最大數量與輸入不同,並且通常較小。例如,GPT-4 Turbo 模型的最大輸出為 4096 個 token。[51]

模型在生成下一個答案時可以考慮的對話長度也受到上下文窗口大小的限制。如果對話的長度(例如與 ChatGPT 的對話)長於其上下文窗口,則在生成下一個答案時只會考慮上下文窗口內的部分,或者模型需要應用某種算法來總結對話中太遠的部分。

使上下文窗口變大的缺點包括計算成本更高,並且可能削弱對局部上下文的關注,而使上下文窗口變小可能會導致模型錯過重要的長距離依賴關係。平衡它們是一個實驗和特定領域的考慮問題。

模型可以預先訓練,以預測片段如何繼續,或者在給定訓練數據集中的片段的情況下預測片段中缺少什麼。[52] 它可以是

  • 自回歸的(即預測片段如何繼續,就像 GPT 所做的那樣):例如,給定一個片段「我喜歡吃」,模型會預測「雪糕」或「壽司」。
  • 填空式的(即填充片段中缺失的部分,就像「BERT[53] 所做的那樣):例如,給定一個片段「我喜歡 [__] [__] 淇淋」,模型會預測「吃」和「冰」作為缺失的內容。

模型可以在輔助任務上進行訓練,以測試它們對數據分佈的理解,例如下一句預測 (NSP),其中呈現成對的句子,模型必須預測它們是否連續出現在訓練語料庫中。[54] 在訓練期間,正則化損失也用於穩定訓練。然而,正則化損失通常不用於測試和評估

訓練成本

Thumb
部分模型的訓練成本估計

「大型語言模型」中的限定詞「大型」本質上是模糊的,因為沒有明確的閾值來定義「大型」所需的參數數量。隨着時間的推移,以前被認為是「大型」的東西可能會演變。2018 年的 GPT-1 通常被認為是第一個 LLM,儘管它只有 1.17 億個參數。在大型語言模型列表中可以看到向大型模型發展的趨勢。

自 2020 年以來,軟件和硬件的進步大大降低了成本,以至於在 2023 年,訓練一個 120 億參數的 LLM 的計算成本為 72,300 A100-GPU 小時,而在 2020 年,訓練一個 15 億參數的 LLM(比 2020 年最先進的 LLM 小兩個數量級)的成本在 80,000 美元到 1,600,000 美元之間。[55][56][57]自 2020 年以來,大量資金投入到越來越大的模型中。例如,2019 年訓練 GPT-2(即 15 億個參數的模型)花費了 5 萬美元,而 2022 年訓練 PaLM(即 5400 億個參數的模型)花費了 800 萬美元,而 Megatron-Turing NLG 530B(2021 年)花費了約 1100 萬美元。[58]

對於基於 Transformer 的 LLM,訓練成本遠高於推理成本。訓練一個 token 需要每個參數 6 次 FLOP,而推理一個 token 需要每個參數 1 到 2 次 FLOP。[59]

多模態模型

多模態意味着「具有多種模態」,而「模態」是指一種輸入或輸出類型,例如視頻、圖像、音頻、文本、本體感受等。[60] 已經有許多專門訓練過的 AI 模型來攝取一種模態並輸出另一種模態,例如用於圖像到標籤的 AlexNet[61]、用於圖像文本到文本的視覺問答[62]、以及用於語音到文本的語音識別。

從 LLM 創建多模態模型的常用方法是「標記」經過訓練的編碼器的輸出。具體來說,可以構建一個可以理解圖像的 LLM,如下所示:採用經過訓練的 LLM,並採用經過訓練的圖像編碼器。製作一個小的多層感知器這樣對於任何圖像,後處理向量具有與編碼標記相同的尺寸。這是一個「圖像標記」。然後,可以交錯文本標記和圖像標記。然後在圖像文本數據集上對複合模型進行微調。可以更複雜地應用這種基本構造來改進模型。可以凍結圖像編碼器以提高穩定性。[63]

Flamingo 證明了標記化方法的有效性,對一對預訓練的語言模型和圖像編碼器進行了微調,使其在視覺問答方面的表現優於從頭開始訓練的模型。[64] 使用標記化方法將 Google PaLM 模型微調為多模態模型 PaLM-E,並應用於機械人控制。[6] LLaMA 模型也已使用標記化方法轉變為多模態,以允許圖像輸入[65] 和視頻輸入。[66]

GPT-4 可以使用文本和圖像作為輸入[67](儘管視覺組件直到 GPT-4V[68]] 才向公眾發佈);Google DeepMind 的 Gemini 也是多模態的。[69] Mistral 於 2024 年 9 月推出了自己的多型號 Pixtral 12B。[70]

推理模型

2024 年末,LLM 開發出現了一個新方向,即專門為複雜推理任務設計的模型。這些「推理模型」經過訓練,在提供最終答案之前會花費更多時間生成分步解決方案,類似於人類解決問題的過程。[71] OpenAI 於 2024 年 9 月通過其 o1 模型引入了這一趨勢,隨後於 2024 年 12 月推出了 o3。與傳統 LLM 相比,這些模型在數學、科學和編碼任務方面表現出顯着的改進。例如,在國際數學奧林匹克資格考試問題上,GPT-4o 的準確率達到 13%,而 o1 的準確率達到 83%。[72][73] 2025 年 1 月,中國公司 DeepSeek 發佈了 DeepSeek-R1,這是一個 6710 億參數的開放權重推理模型,其性能與 OpenAI 的 o1 相當,但運行成本明顯更高。與 OpenAI 的專有模型不同,DeepSeek-R1 的開放權重特性允許研究人員研究和構建算法,但其訓練數據仍保持私密。[74] 與傳統的 LLM 相比,這些推理模型通常需要每個查詢更多的計算資源,因為它們執行更廣泛的處理來逐步解決問題。然而,它們在需要結構化邏輯思維的領域表現出了卓越的能力,例如數學、科學研究和計算機編程。[75]

偏差和局限性

大語言模型偏差和局限性是自然語言處理(NLP)領域正在進行的研究。雖然大語言模型在生成類人文本方面表現出了卓越的能力,但他們很容易繼承和放大訓練數據中存在的偏見。這可能表現為對不同人口統計數據的不公平待遇,例如基於種族、性別、語言和文化群體的統計數據。此外,這些模型通常面臨事實準確性的限制。研究和緩解這些偏見和限制對於人工智能在不同社會和專業領域的道德發展和應用至關重要。

幻覺

幻覺指的是大語言模型輸出與客觀事實不符的內容,其可能由模型本身或用戶引導產生。[76]

偏差

語言偏差

語言偏差是指與語言相關的一種統計抽樣偏差,也就是說在信息抽樣中,查詢語言導致的系統偏差會使其無法準確呈現數據中的各種不同主題和觀點。當前的大型語言模型主要是根據英語數據進行訓練的,因此通常將英語觀點視為真實可靠的觀點,而系統地將非英語觀點視為不相關、錯誤或噪音。當被問到諸如「什麼是自由主義?」之類的政治意識形態的問題時,ChatGPT以英美角度為中心,而對例如說越南的「反對國家干預個人和經濟生活」與中國的「限制政府權力」等視而不見。同樣,回覆中也沒有日本、韓國、法國和德國語料庫中的主流政治觀點。[6]

性別偏差

性別偏差是指這些模型產生的結果傾向於對一種性別產生不公平的偏見。這種偏差通​​常源於訓練這些模型的數據。例如,大型語言模型通常根據傳統的性別規範來分配角色和特徵;它可能會將護士或秘書主要與女性聯繫起來,將工程師或行政總裁與男性聯繫起來。[4][77]

政治偏差

政治偏差是指算法系統地傾向於某些政治觀點、意識形態或結果,也可能表現出政治偏見。由於訓練數據包含廣泛的政治觀點和覆蓋範圍,因此模型可能會生成傾向於特定政治意識形態或觀點的響應,具體取決於數據中這些觀點的普遍程度。[78]

文化偏差

文化偏見是指大語言模型對特定的文化實踐、信仰或傳統持有偏見,由於受到訓練數據中文化信息的不均衡、誤導性或歧視性影響。例如,若模型的訓練數據中某種文化的觀點被過度代表,模型就繼承這種偏差形成一定的偏見。[79]

地域偏差

地域偏差是指大語言模型根據地理位置或國籍對人們的行為、習慣或特徵做出偏見性的假設。這種偏差可能導致對特定地區的知識、成就、問題、潛力等方面的誤解、低估或過度放大。[80]

年齡偏差

年齡偏差是指大語言模型在處理或生成與年齡相關的話題時,根據年齡做出刻板印象化的假設,例如認為年長者不懂技術或年輕人缺乏責任感。[81]

職業偏差

職業偏差是指大語言模型對特定職業持有刻板印象,將某些職業視為比其他職業更有價值或重要,或對特定職業的人群做出性格或能力上的假設。[82]

大型語言模型列表

參見

外部連接

參考資料

Wikiwand - on

Seamless Wikipedia browsing. On steroids.