大語言模型
大型語言模型(Large Language Models,LLM)也稱為大型語言模型或大型語言模型,是由具有數(shù)百億個參數(shù)的深度神經網(wǎng)絡構建的語言模型。它通常由大量未標記的文本使用自監(jiān)督學習方法進行訓練,并通過大規(guī)模數(shù)據(jù)集訓練來預測和生成文本和其他內容。大多數(shù)大型語言模型都是基于Transformer架構的。與傳統(tǒng)的遞歸神經網(wǎng)絡(RNN)和長期記憶網(wǎng)絡(LSTM)相比,Transformer具有獨特的注意力機制,允許模型根據(jù)序列中的其他位置調整每個位置的表示,從而提高模型理解上下文的能力。
自2018年以來,谷歌、OpenAl、Meta、百度、華為等公司和研究機構相繼發(fā)布了包括BERT和GPT在內的各種模型,它們在幾乎所有自然語言處理任務中都表現(xiàn)良好。2019年,大模型呈現(xiàn)出爆發(fā)式增長,尤其是在2022年11月ChatGPT發(fā)布后,引起了全世界的廣泛關注。2024年3月18日,馬斯克的人工智能初創(chuàng)公司xAI正式發(fā)布了大型模型Grok-1,其參數(shù)達到了3140億,遠超open AI GPT 3.5的1750億。這是迄今為止參數(shù)數(shù)量最多的開源語言模型,模型權重和架構都是按照Apache 2.0協(xié)議開放的。
構建流程 編輯本段
預訓練
預訓練是大型語言模型訓練的第一步,旨在使模型學習語言的統(tǒng)計模式和語義信息。主要的預訓練步驟基本相似,最重要的是數(shù)據(jù),需要收集大量未標記的數(shù)據(jù),如互聯(lián)網(wǎng)上的文本、新聞、博客、論壇等。這些數(shù)據(jù)可能使用多種語言,需要進行清理和處理,以消除噪音、無關信息和個人隱私。最后,它們將以tokenizer粒度輸入到上述語言模型中。經過清洗和處理后,這些數(shù)據(jù)用于訓練和優(yōu)化語言模型。在預訓練過程中,模型將學習詞匯、句法和語義的規(guī)則,以及上下文之間的關系。
在預訓練語料方面,GPT-3主要包括Common Crawl、WebText2、Books1、Books2和英文維基百科等過濾數(shù)據(jù)集。其中,CommonCrawl的原始數(shù)據(jù)為45TB,過濾后僅保留570GB數(shù)據(jù)。上述語料庫按子詞分段,包含約5000億個子詞。為了確保模型使用更多高質量的數(shù)據(jù)進行訓練,在GPT-3訓練過程中根據(jù)不同的語料來源設置了不同的采樣權重。在完成3000億子詞的訓練時,英文維基百科語料庫的平均訓練輪次為3.4次,而Common Crawl和Books 2的平均訓練輪次僅為0.44次和0.43次。由于普通爬網(wǎng)數(shù)據(jù)集的過濾過程較為復雜,OPT采用了混合RoBERTa、Pile和Pushshift.io Redit數(shù)據(jù)的方法。由于這些數(shù)據(jù)集大多數(shù)是英語數(shù)據(jù),OPT還從常見的爬網(wǎng)數(shù)據(jù)集中提取了一些非英語數(shù)據(jù),并將其添加到訓練語料庫中。BLOOM使用Megatron-DeepSpeed框架進行訓練,該框架主要包括兩部分:Megatron-LM提供張量并行和數(shù)據(jù)加載原語;DeepSpeed提供ZeRO優(yōu)化器、模型管道和傳統(tǒng)的分布式訓練組件。這樣就可以實現(xiàn)數(shù)據(jù)、張量和流水線的三維并行。
指令微調
在完成預訓練后,我們可以通過指令微調來挖掘和增強語言模型本身的能力,這也是許多企業(yè)和研究人員使用大語言模型的重要步驟。
指令微調也稱為監(jiān)督微調,它使用少量高質量數(shù)據(jù)集,包括用戶輸入提示和相應的理想輸出結果。用戶輸入包括問題、聊天對話、任務說明以及其他形式和任務。在指令微調階段,首先需要準備一系列NLP任務,并將每個任務轉換為指令形式,其中指令包括人類應該在模型上執(zhí)行的任務的描述以及預期的輸出結果。然后,這些指令用于監(jiān)督預訓練的大型語言模型,使模型可以通過學習和適應指令來提高其在特定任務上的性能。
為了使模型訓練更加高效和簡單,現(xiàn)階段還有一種高效的微調技術。parameter-Efficient Fine-Tuning(PEFT)旨在通過最小化微調參數(shù)的數(shù)量和計算復雜度來實現(xiàn)高效遷移學習的目的,提高預訓練模型在新任務中的性能,進而緩解大規(guī)模預訓練模型的訓練成本。在訓練過程中,預訓練模型的參數(shù)保持不變,只需要微調一些額外的參數(shù),就可以達到相當于完全微調的性能。許多研究探索了PEFT方法,如適配器調整和前綴調整。其中,Adapter Tuning方法在面向特定下游任務時固定預訓練模型中的某些層,僅微調與下游任務接近的幾個層的參數(shù)。前綴調整方法在預訓練模型的基礎上增加了一些額外的參數(shù),這些參數(shù)將在訓練過程中根據(jù)具體任務進行更新和調整。
低秩自適應(LoRA)是工業(yè)中常用的適配器調整技術。它通過最小化微調參數(shù)的數(shù)量和計算復雜度來實現(xiàn)高效的遷移學習,從而提高預訓練模型在新任務中的性能。LoRA的核心思想是將預訓練模型的權重矩陣分解為兩個低秩矩陣的乘積。通過這種分解,可以顯著減少微調參數(shù)的數(shù)量并降低計算復雜度。這種方法與機器學習中的經典降維思想非常相似。同樣,LoRA使用矩陣分解技術中的奇異值分解或低秩近似方法將原始權重矩陣分解為兩個低秩矩陣的乘積。在微調過程中,LoRA只更新這兩個低秩矩陣的參數(shù),而保持其他預訓練參數(shù)不變。這可以顯著減少微調所需的計算資源和時間,并在許多任務中實現(xiàn)等同于完全微調的性能。LoRA技術的引入使得大規(guī)模預訓練模型的微調更加高效可行,為實際應用提供了更多可能性。
獎勵建模
獎勵建模階段的目標是建立文本質量比較模型,并對SFT模型針對同一提示給出的不同輸出結果的質量進行排序。獎勵模型(RM模型)可以通過二元分類模型判斷兩個輸入結果之間的優(yōu)劣。RM模型不同于基本語言模型和SFT模型,并且RM模型本身不能單獨提供給用戶。
獎勵模型的訓練通常與SFT模型相同,后者使用數(shù)十個GPU并花費數(shù)天時間來完成訓練。由于RM模型的準確性對強化學習的效果有著至關重要的影響,因此通常需要大規(guī)模的訓練數(shù)據(jù)來訓練模型。
強化學習
在強化學習階段,根據(jù)數(shù)十萬用戶給出的提示,利用前一階段訓練的RM模型,給出SFT模型對用戶提示完成結果的質量評估,并結合語言模型的建模目標,得到較好的結果。利用強化學習,在SFT模型的基礎上調整參數(shù),使最終生成的文本能夠獲得更高的獎勵。與預訓練階段相比,該階段所需的計算量要少得多,通常只需要幾個+GPU即可在幾天內完成訓練。
通過強化學習方法訓練的RL模型是一個類似ChatGPT的系統(tǒng),最終提供給用戶,并具有理解用戶指令和上下文的能力。然而,Andrej Karpathy指出,強化學習并非沒有問題,它會降低基本模型的熵從而降低模型輸出的多樣性。由于強化學習方法的不穩(wěn)定性和眾多的參數(shù),模型很難收斂,疊加RM模型的準確性,這使得將強化學習有效應用于大型語言模型非常困難。
相關技術 編輯本段
Transformer
事實上,目前流行的大語言模型的網(wǎng)絡架構中并沒有太多新技術,NLP領域最流行、最有效的架構——Transformer結構一直在使用。與傳統(tǒng)的遞歸神經網(wǎng)絡(RNN)和長期記憶網(wǎng)絡(LSTM)相比,Transformer具有獨特的注意力機制,相當于增強了模型的理解能力,對更重要的單詞給予了更多的關注。同時,該機制具有更好的并行性和可擴展性,可以處理更長的序列。它立即成為自然語言處理領域中具有基本能力的模型,并在各種文本相關的序列任務中取得了良好的結果。
根據(jù)這種網(wǎng)絡架構的變形,主流框架可以分為Encoder-Decoder、Encoder-Only和Decoder-Only,其中:Encoder-Only僅包含編碼器部分,主要適用于只需要對輸入進行編碼和處理的單向任務場景,如文本分類、情感分析等。這類代表是BERT相關模型。編碼器-解碼器包括編碼器和解碼器,通常用于序列到序列(Seq2Seq)任務,如機器翻譯、對話生成等。這類代表是以谷歌訓練的T5為代表的相關大模型。僅包含解碼器部分的Decoder-Only通常用于序列生成任務,如文本生成和機器翻譯。這種結構的模型適用于需要生成序列的任務,相應的序列可以從輸入代碼中生成。同時,可以進行無監(jiān)督的預訓練也是一個重要特征。在預訓練階段,模型通過大量未標記數(shù)據(jù)學習語言的統(tǒng)計模式和語義信息。這種方法可以使模型具有廣泛的語言知識和理解能力。經過預訓練后,模型可以針對特定的下游任務(如機器翻譯、文本生成等)進行監(jiān)督和微調。).這種結構的代表是我們平時非常熟悉的GPT模型結構。該系列的所有網(wǎng)絡結構都是基于純解碼器逐步演進的。
許多NLP任務可以通過多種網(wǎng)絡結果來解決,這主要是由于NLP領域任務和數(shù)據(jù)的多樣性和復雜性,以及現(xiàn)代深度學習模型的靈活性和泛化能力。
基于人類反饋的強化學習
經過監(jiān)督微調后,大語言模型具有跟隨指令、進行多輪對話以及與用戶進行初步對話的能力。然而,由于龐大的參數(shù)和訓練語料庫,大型語言模型的復雜性往往難以理解和預測。當部署這些模型時,可能會產生嚴重的后果,尤其是當模型變得更強大、使用范圍更廣,并且與用戶頻繁交互時。研究人員尋求使人工智能與人類價值觀保持一致,大型語言模型的輸出應符合3H原則:有益、誠實和無害。因為上述3H原則反映了人類的偏好,所以基于人類反饋的強化學習被自然地引入到通用對話模型的訓練過程中。
基于人類反饋的強化學習主要分為兩個步驟:獎勵模型訓練和近端策略優(yōu)化。獎勵模型通過人類反饋標記的偏好數(shù)據(jù)學習人類偏好,判斷模型回復的有用性,確保內容的無害性。獎勵模型模擬人類偏好信息,可以持續(xù)為模型的訓練提供獎勵信號。在獲得獎勵模型后,我們需要在強化學習的幫助下繼續(xù)微調語言模型。OpenAl在大多數(shù)任務中使用的強化學習算法是鄰近策略優(yōu)化(PPO)算法。近端策略優(yōu)化可以基于獎勵模型獲得的反饋優(yōu)化模型,通過不斷迭代,模型可以探索并找到更符合人類偏好的回復策略。近端策略優(yōu)化涉及以下四個模型:(1)策略模型,生成模型回復。(2)獎勵模型,輸出獎勵分數(shù)來評估回復質量。(3)Critic模型,可以預測回復質量,并可以在訓練過程中實時調整和選擇未來累積收益最大的行為。(4)參考模型,它提供了SFT模型的備份,因此模型不會發(fā)生過大的變化。近端策略優(yōu)化算法的實現(xiàn)過程是:(1)環(huán)境采樣:策略模型基于給定的輸入生成一系列響應,獎勵模型對這些響應進行評分以獲得獎勵。(2)優(yōu)勢估計:通過使用評論模型來預測生成回復的未來累積獎勵并在廣義優(yōu)勢估計(GAE)算法的幫助下估計優(yōu)勢函數(shù),有助于更準確地估計每個行為的收益。(3)優(yōu)化調整:利用優(yōu)勢函數(shù)對策略模型進行優(yōu)化調整,利用參考模型保證更新后的策略不會發(fā)生太大變化,從而保持模型的穩(wěn)定性。
混合專家系統(tǒng)
混合專家(MOE)是預訓練萬億參數(shù)模型的關鍵技術。該模型是在不過分增加計算成本的情況下提高神經網(wǎng)絡模型能力的有效手段。MoE的基本思想是從許多專家子網(wǎng)絡構建一個統(tǒng)一的網(wǎng)絡,其中每個輸入由一個合適的專家子集處理。因此,與標準神經網(wǎng)絡相比,MoE僅調用整個模型的一小部分,從而獲得了如GLaM等語言模型應用程序所示的高效率。GLaM架構中的每個輸入令牌都被動態(tài)路由到64個專家網(wǎng)絡中的兩個進行預測。與密集模型相比,在相同的計算量下,MoE中的條件計算可以大大提高模型參數(shù)。然而,在大規(guī)模集群中高效和有效地訓練MoE仍然是一個挑戰(zhàn)?;旌蠈<蚁到y(tǒng)的思想是目前較好的大型模型落地方式。在過去的十年中,人工智能特別是深度學習技術的發(fā)展積累了許多高質量的模型。將大模型與混合專家系統(tǒng)等高質量模型相結合,將是未來大模型從純數(shù)字經濟向數(shù)字經濟賦能實體經濟轉型的重要途徑。
提示工程
提示工程主要應用于提示詞的開發(fā)和優(yōu)化,幫助用戶將大型語言模型應用于各種場景和研究領域。掌握與cue工程相關的技能將幫助用戶更好地理解大規(guī)模語言模型的功能和局限性。研究人員可以使用線索工程來提高大型語言模型處理復雜任務場景的能力,例如問答和算術推理。開發(fā)人員可以提示工程設計并開發(fā)強大的工程技術,以實現(xiàn)與大型語言模型或其他生態(tài)工具的高效集成。提示工程不僅僅是設計和研發(fā)提示。它包括與大語言模型交互和發(fā)展的各種技能和技術。提示工程在實現(xiàn)與大型語言模型的交互和對接以及理解大型語言模型的能力方面發(fā)揮著重要作用。用戶可以通過提示項目來提高大語言模型的安全性,也可以為大語言模型賦能,比如借助專業(yè)領域知識和外部工具增強大語言模型的能力。
工作原理 編輯本段
大型語言模型通過使用深度學習技術和大量文本數(shù)據(jù)來運行。該模型通?;谵D換器架構,它擅長處理文本輸入等順序數(shù)據(jù)。在訓練過程中,模型學習根據(jù)句子前面的單詞預測下一個單詞。它通過將概率得分歸因于重復的標記單詞(分解為更小的字符序列)來實現(xiàn)這一點。然后,這些標簽被轉換為嵌入,這是上下文的數(shù)字表示。為了確保準確性,這一過程涉及在大量文本語料庫(數(shù)十億頁)上訓練大型語言模型,使其可以通過零樣本和自我監(jiān)督學習來學習語法、語義和概念關系。經過這些訓練數(shù)據(jù)的訓練后,它可以根據(jù)接收到的信息自動預測下一個單詞,并使用它們的知識生成文本。從而生成可用于各種內容生成任務的連貫語言。該模型還可以通過實時工程、實時調優(yōu)、微調等策略來提高模型的性能,這是確保企業(yè)LLM隨時可用且不會使組織承擔不必要的責任或損害組織聲譽的最重要方面之一。
培訓費用 編輯本段
訓練一個通用的大語言模型是非常“燒錢”的。根據(jù)郭盛證券的“ChatGPT需要多大的計算能力”報告,預計GPT-3一次培訓的成本約為140萬美元。對于一些較大的語言模型,訓練成本甚至更高,從200萬美元到1200萬美元不等。以chat GPT 1月平均獨立訪客數(shù)1300萬計算,其對應的芯片需求為3萬多片NVIDIA A100GPU,初始投資成本約為8億美元,每日電費約為5萬美元。如果當前的ChatGPT被部署到谷歌進行的每個搜索中,則需要512,820.51個A100 HGX服務器和總共4,102,568個A100GPUs,僅這些服務器和網(wǎng)絡的資本支出就超過1000億美元。
主要應用 編輯本段
大語言模型在社會科學、自然科學和形式科學中的應用。到2023年,大語言模型已經開始在許多領域商業(yè)化。除了ChatGPT等產品外,主要有以下主流應用:
辦公Copilot類產品:微軟首次嘗試在自己的Office系列軟件中應用大語言模型。通過使用大語言模型,您可以總結word文檔并提出修改和編輯建議,或者您可以總結給定的文章;Excel中的各種復雜操作也可以通過描述直接處理數(shù)據(jù);Microsoft Office PowerPoint可以通過識別需求自動生成顯示內容;Outlook直接使用自然語言生成郵件內容等功能,實現(xiàn)真正的AI秘書。
Github Copilot產品:將大語言模型應用于Github Copilot產品后,我們可以通過對話直接生成各種功能代碼,包括幫助編寫測試用例、解釋代碼片段和調試程序問題。該功能在解放程序員生產力方面取得了革命性的進步,使開發(fā)人員能夠更加關注業(yè)務理解、系統(tǒng)設計和架構設計等更高層次的需求。
教育知識產品:得益于對大語言模型的強大理解和知識儲備,許多公司將模型嵌入到知識產品中進行應用。在chatPDF中嵌入大型語言模型后,它可以幫助經常閱讀論文的研究人員通過問答快速提取信息、理解和總結文章的重要內容,這大大提高了閱讀新論文的效率。對于語言學習者來說,一款名為Call Annie的軟件嵌入到大語言模型中,基本上可以取代英語口語老師的角色,并可以隨時隨地練習英語口語。
搜索引擎和推薦系統(tǒng):大語言模型可以應用于企業(yè)搜索引擎和推薦系統(tǒng)。通過深度學習算法,可以準確理解用戶的搜索意圖,并提供更準確的搜索結果和個性化推薦內容。這有助于改善用戶體驗,增加用戶粘性,并提高企業(yè)的轉化率和銷售額。
計算相關的上下游相關產業(yè):為了跟上大型語言模型的訓練和推理速度,許多公司正在積極探索基于GPU、FPGA和ASIC等硬件的加速制造技術。此外,云計算技術的發(fā)展也為大型語言模型的訓練提供了更多的計算資源。
除了上述領域,大語言模型在算法優(yōu)化、隱私和數(shù)據(jù)安全、模型可解釋性等方面也有應用。大語言模型的諸多應用不斷涌現(xiàn),國內優(yōu)秀的大語言模型代表,如百度文心,也在構建全系統(tǒng)產業(yè)化全景圖。
附件列表
詞條內容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學等領域),建議您咨詢相關領域專業(yè)人士。
如果您認為本詞條還有待完善,請 編輯
上一篇 開放數(shù)據(jù)庫互連 下一篇 Microsoft Edge