大語言模型 (LLM) 背景
🍹大語言模型 (Large Language Model) 是一種人工智能模型, 它們通常包含數千億甚至更多的參數,并在大規模數據集上進行訓練。大語言模型可以處理多種自然語言任務,如文本分類、問答、翻譯、對話等等。
- 自然語言模型的發展經歷了從概率模型到神經網絡模型,再到大型語言模型的過程。在這個過程中,關鍵技術的發展推動了模型的演進和性能的提升。
- LLM通常建立在Transformer架構之上,這種架構使用了多頭注意力機制,能夠處理長距離的依賴關系。這些模型通過堆疊多個注意力層來提高其處理復雜語言任務的能力。
- 隨著模型參數數量的增加,LLM展現出了小模型所不具備的特殊能力,如上下文學習能力和逐步推理能力。這些能力的涌現使得LLM在多項任務中取得了顯著的效果提升。
- LLM的訓練過程通常包括預訓練和微調兩個階段。在預訓練階段,模型在大量無標簽數據上學習語言的一般性規律;在微調階段,模型通過有標簽數據進行調優,以適應特定的下游任務。
- LLM的應用產生了深遠的影響,例如ChatGPT等模型展現出了強大的人機對話能力和任務求解能力,這對整個AI研究社區產生了重大影響。
- 盡管LLM在多方面展現出了強大的能力,但同時也帶來了一些風險和挑戰,如生成不當內容、偏見放大等問題,這些都需要研究者在模型設計和訓練過程中予以重視和解決。
🍹語言模型發展的三個階段 :
- 第一階段 :設計一系列的自監督訓練目標(MLM、NSP等),設計新穎的模型架構(Transformer),遵循Pre-training和Fine-tuning范式。典型代表是BERT、GPT、XLNet等;
- 第二階段 :逐步擴大模型參數和訓練語料規模,探索不同類型的架構。典型代表是BART、T5、GPT-3等;
- 第三階段 :走向AIGC(Artificial Intelligent Generated Content)時代,模型參數規模步入千萬億,模型架構為自回歸架構,大模型走向對話式、生成式、多模態時代,更加注重與人類交互進行對齊,實現可靠、安全、無毒的模型。典型代表是InstructionGPT、ChatGPT、Bard、GPT-4等。
語言模型通俗理解:用來計算一個句子的概率的模型,也就是判斷一句話是否是人話的概率 。
標準定義:對于某個句子序列, 如S = {W1, W2, W3, …, Wn}, 語言模型就是計算該序列發生的概率,如果給定的詞序列符合語用習慣, 則給出高概率, 否則給出低概率。
🥂讓我們通過一些具體的例子來理解語言模型如何計算句子的概率,并判斷一句話是否符合自然語言的語用習慣。
假設有一個非常簡單的語言模型,它基于詞頻來計算句子的概率。這個模型會統計每個單詞在大量文本中出現的次數,然后用這些頻率來估計概率。例如,如果單詞 “the” 在訓練集中出現了非常多次,那么 P(the) 就會很高。對于句子 “The quick brown fox jumps over the lazy dog,” 模型會計算每個單詞的概率,并將它們相乘得到整個句子的概率 P(S)。 P(S)=P(The)×P(quick)×P(brown)×…timesP(dog)
更復雜的語言模型,如n-gram模型,不僅考慮單個單詞的頻率,還考慮單詞序列的頻率。例如,一個bi-gram模型會考慮像 “quick brown” 這樣的詞對在文本中共同出現的頻率。這樣,它可以捕捉到一些單詞之間的概率依賴關系,比如 “quick” 后面很可能會跟著 “brown”。 P(S)=P(The)×P(quick∣The)×P(brown∣quick)×…×P(dog)
現代語言模型,如基于Transformer的模型,使用深度學習來捕捉更加復雜的語言結構。這些模型可以處理長距離的依賴關系,并且能夠根據上下文來預測下一個單詞。例如,如果你輸入了 “The cat is on the”, 模型可能會預測下一個單詞是 “mat”,因為它學會了 “on the mat” 是一個常見的短語。
基于語言模型技術的發展,可以將語言模型分為四種類型:
- 基于規則和統計的語言模型
- 神經語言模型
- 預訓練語言模型
- 大語言模型
- 基于規則和統計的語言模型: 早期的語音識別系統多采用這種語言模型,它通過計算詞序列出現的概率來評估句子的合理性。N-gram模型就是一種典型的基于統計的語言模型,它利用大量文本數據來計算單詞序列出現的頻率。
- 神經語言模型:隨著深度學習的發展,神經語言模型(Neural Language Model, NLM)開始興起。這類模型通常使用神經網絡結構,如前饋神經網絡(FeedForward Neural Network LM)、循環神經網絡(RNN LM)等,能夠捕捉到更為復雜的語言模式和上下文信息。
- 預訓練語言模型:預訓練語言模型(Pre-trained Language Model, PLM)是在大規模數據集上進行無監督預訓練的模型,然后再針對特定任務進行微調。BERT(Bidirectional Encoder Representations from Transformers)就是一個著名的預訓練語言模型,它通過預訓練獲得豐富的語義表示,適用于多種自然語言處理任務。
- 大語言模型:大規模語言模型(Large Language Model, LLM)通常擁有數十億到數萬億個參數,能夠處理各種自然語言處理任務,如自然語言生成、文本分類、文本摘要、機器翻譯、語音識別等。這些模型基于深度學習技術,使用互聯網上的海量文本數據進行訓練,具有強大的語言理解和生成能力。
N-gram
N-gram是一種基于統計的語言模型算法,用于預測下一個詞或字符出現的概率💡。
N-gram模型的核心思想是將文本分割成連續的n個詞(或字符)的序列,這些序列被稱為grams。然后,模型統計這些n-grams在文本中出現的頻率,以此作為預測下一個詞或字符出現概率的依據。這里的n是一個正整數,表示詞組中詞的個數。例如,在句子“我喜歡學習自然語言處理”中,1-gram(unigram)是單個詞,如“我”、“喜歡”、“學習”等;2-gram(bigram)是兩個連續的詞,如“我喜歡”、“喜歡學習”等;而3-gram(trigram)則是三個連續的詞,如“我喜歡學習”、“喜歡學習自然”等。為了解決參數空間過大問題,引入馬爾科夫假設:隨意一個詞出現的概率只與它前面出現的有限的一個或者幾個詞有關。
- 如果一個詞的出現與它周圍的詞是獨立的,那么我們就稱之為unigram也就是一元語言模型:P(S) = P(W_1)P(W_2)…*P(W_n)
- 如果一個詞的出現僅依賴于它前面出現的一個詞,那么我們就稱之為bigram:P(S) = P(W_1)*P(W_2|W_1)P(W_3|W_2)…*P(W_n|W_{n-1})
- 如果一個詞的出現僅依賴于它前面出現的兩個詞,那么我們就稱之為trigram:P(S) = P(W_1)*P(W_2|W_1)P(W_3|W_2,W_1)…*P(W_n|W_{n-1},W_{n-2})
在實踐中用的最多的就是bigram和trigram,接下來以bigram語言模型為例,理解其工作原理:
首先我們準備一個語料庫(數據集),為了計算對應的二元模型的參數,即P(Wi|Wi?1),我們要先計數即C(Wi?1,Wi),然后計數 C(Wi?1) , 再用除法可得到概率。
根據給定的計數結果,我們可以計算bigram語言模型的參數。首先,我們需要將計數結果轉換為概率形式,計算一個句子的概率 :
N-gram語言模型的特點:
- 優點:采用極大似然估計, 參數易訓練; 完全包含了前n-1個詞的全部信息; 可解釋性強, 直觀易理解。
- 缺點:缺乏長期以來,只能建模到前n-1個詞; 隨著n的增大,參數空間呈指數增長。數據稀疏,難免會出現OOV問題; 單純的基于統計頻次,泛化能力差。
神經網絡語言模型
伴隨著神經網絡技術的發展,人們開始嘗試使用神經網絡來建立語言模型進而解決N-gram語言模型存在的問題。
- 模型的輸入:wt?n+1,…,wt?2,wt?1就是前n-1個詞。現在需要根據這已知的n-1個詞預測下一個詞wt。C(w)表示w所對應的詞向量。
- 網絡的第一層(輸入層)是將C(wt?n+1),…,C(wt?2),C(wt?1)這n-1個向量首尾拼接起來形成一個(n?1)?m大小的向量,記作x。
- 網絡的第二層(隱藏層)就如同普通的神經網絡,直接使用一個全連接層, 通過全連接層后再使用tanh這個激活函數進行處理。
- 網絡的第三層(輸出層)一共有V個節點 (V 代表語料的詞匯),本質上這個輸出層也是一個全連接層。每個輸出節點yi表示下一個詞語為 i 的未歸一化log 概率。最后使用 softmax 激活函數將輸出值y進行歸一化。得到最大概率值,就是我們需要預測的結果。
基于Transformer的預訓練語言模型
基于Transformer的預訓練語言模型(T-PTLM)是自然語言處理領域的一大創新,它們通過在大量無標注文本數據上進行預訓練來學習通用的語言表征,并能夠將這些知識遷移到各種下游任務中,以下是一些重要的T-PTLM及其特點:
- GPT(Generative Pre-training Transformer) :GPT是一種生成型預訓練語言模型,它使用Transformer架構從大規模語料庫中學習語言的內在結構和語義信息。GPT的核心思想是自回歸建模,即通過逐詞預測下一個詞的方式來生成整個句子或文本。
- BERT(Bidirectional Encoder Representations from Transformers) :BERT是一個雙向的Transformer編碼器,它通過預訓練任務(如遮蔽語言模型和下一句預測)來捕捉文本中的上下文信息。BERT模型在多種NLP任務中取得了顯著的性能提升。
- XLNet:XLNet是一種改進的自回歸模型,它在GPT的基礎上引入了Transformer-XL中的相對位置編碼和段級重復機制,旨在克服GPT在長距離依賴學習和復制機制上的不足。
大語言模型
隨著對預訓練語言模型研究的開展,人們逐漸發現可能存在一種標度定律,隨著預訓練模型參數的指數級提升,其語言模型性能也會線性上升。2020年,OpenAI發布了參數量高達1750億的GPT-3,首次展示了大語言模型的性能。
大語言模型的特點💡:
- 優點:具備了能與人類溝通聊天的能力,甚至具備了使用插件進行自動信息檢索的能力。
- 缺點:參數量大,算力(進行模型訓練和推理所需的計算能力)要求高、生成部分有害的、有偏見的內容等等。
語言模型的評估指標
BLEU
BLEU (Bilingual Evaluation Understudy) 是一種廣泛使用的評估機器翻譯系統輸出質量的指標。它通過比較機器翻譯的結果和一組參考翻譯(通常由人工翻譯或被認為是準確的翻譯)來計算翻譯的準確性。BLEU算法實際上就是在判斷兩個句子的相似程度.,BLEU 的分數取值范圍是 0~1,分數越接近1,說明翻譯的質量越高。
在實際應用中,通常會計算BLEU-1到BLEU-4的值,并對它們進行加權平均以得到一個綜合的BLEU分數。這樣做的原因是不同的n-gram級別能夠捕捉翻譯質量的不同方面:BLEU-1更側重于詞匯的準確性,而BLEU-2、BLEU-3和BLEU-4則能夠更好地衡量句子的流暢性和結構一致性。
candidate: {it, is, a, nice, day, today} reference: {today, is, a, nice, day} ?? 其中{today, is, a, nice, day}匹配,所以匹配度為5/6
candidate: {it is, is a, a nice, nice day, day today} reference: {today is, is a, a nice, nice day} ?? 其中{is a, a nice, nice day}匹配,所以匹配度為3/5
candidate: {it is a, is a nice, a nice day, nice day today} reference: {today is a, is a nice, a nice day} ?? 其中{is a nice, a nice day}匹配,所以匹配度為2/4
- candidate: the the the the
- reference: The cat is standing on the ground
如果按照1-gram的方法進行匹配,則匹配度為1,顯然是不合理的,所以計算某個詞的出現次數進行改進。
ROUGE
ROUGE(Recall-Oriented Understudy for Gisting Evaluation)是一種評估自動文本摘要或機器翻譯輸出質量的指標,它通過比較生成的摘要與一組參考摘要(通常由人工創建)之間的相似度來衡量。與BLEU類似,ROUGE也使用n-gram的概念,但它們的計算方式和側重點有所不同。
ROUGE指標通常報告為召回率,因為它更關注生成摘要中包含多少參考摘要的信息,而BLEU則更注重精確率,即生成摘要的準確性。
ROUGE分為四種方法:ROUGE-N, ROUGE-L, ROUGE-W, ROUGE-S。
- ROUGE-N (ROUGE-n) : 計算生成摘要中n-gram(連續的n個單詞)在參考摘要中出現的頻率。ROUGE-N通常用于計算Unigram(N=1),Bigram(N=2)和Trigram(N=3)。
- ROUGE-L (ROUGE-L) : 基于最長公共子序列(Longest Common Subsequence, LCS)的方法,計算生成摘要與參考摘要之間的LCS長度與參考摘要長度的比例。
- ROUGE-W (ROUGE-W) : 基于最長公共子串(Longest Common Substring, LCS)的方法,計算生成摘要與參考摘要之間的LCS數量與參考摘要中的單詞總數之比。
- ROUGE-S (ROUGE-S) : 基于序列的匹配,允許間隔性的詞匹配,而不是連續的n-gram匹配。
困惑度PPL
困惑度(Perplexity)是衡量概率模型預測樣本的好壞程度的一種指標。在自然語言處理中,它常用于評估語言模型的性能。困惑度越低,表示模型的預測能力越好。
PPL=exp(?fraclog(P(X))N), 其中,P(X) 是模型對整個數據集的概率分布的連乘積,N 是數據集中的總詞數。困惑度能夠衡量語言模型對文本的生成能力,即模型預測單詞序列的概率分布的準確性~
如何系統的去學習大模型LLM ?
作為一名熱心腸的互聯網老兵,我意識到有很多經驗和知識值得分享給大家,也可以通過我們的能力和經驗解答大家在人工智能學習中的很多困惑,所以在工作繁忙的情況下還是堅持各種整理和分享。
但苦于知識傳播途徑有限,很多互聯網行業朋友無法獲得正確的資料得到學習提升,故此將并將重要的 AI大模型資料
包括AI大模型入門學習思維導圖、精品AI大模型學習書籍手冊、視頻教程、實戰學習等錄播視頻免費分享出來。
所有資料 ?? ,朋友們如果有需要全套 《LLM大模型入門+進階學習資源包》,掃碼獲取~
👉CSDN大禮包🎁:全網最全《LLM大模型入門+進階學習資源包》免費分享(安全鏈接,放心點擊)👈
?
一、全套AGI大模型學習路線
AI大模型時代的學習之旅:從基礎到前沿,掌握人工智能的核心技能!
二、640套AI大模型報告合集
這套包含640份報告的合集,涵蓋了AI大模型的理論研究、技術實現、行業應用等多個方面。無論您是科研人員、工程師,還是對AI大模型感興趣的愛好者,這套報告合集都將為您提供寶貴的信息和啟示。
三、AI大模型經典PDF籍
隨著人工智能技術的飛速發展,AI大模型已經成為了當今科技領域的一大熱點。這些大型預訓練模型,如GPT-3、BERT、XLNet等,以其強大的語言理解和生成能力,正在改變我們對人工智能的認識。 那以下這些PDF籍就是非常不錯的學習資源。
四、AI大模型商業化落地方案
階段1:AI大模型時代的基礎理解
- 目標:了解AI大模型的基本概念、發展歷程和核心原理。
- 內容:
- L1.1 人工智能簡述與大模型起源
- L1.2 大模型與通用人工智能
- L1.3 GPT模型的發展歷程
- L1.4 模型工程
- L1.4.1 知識大模型
- L1.4.2 生產大模型
- L1.4.3 模型工程方法論
- L1.4.4 模型工程實踐 - L1.5 GPT應用案例
階段2:AI大模型API應用開發工程
- 目標:掌握AI大模型API的使用和開發,以及相關的編程技能。
- 內容:
- L2.1 API接口
- L2.1.1 OpenAI API接口
- L2.1.2 Python接口接入
- L2.1.3 BOT工具類框架
- L2.1.4 代碼示例 - L2.2 Prompt框架
- L2.2.1 什么是Prompt
- L2.2.2 Prompt框架應用現狀
- L2.2.3 基于GPTAS的Prompt框架
- L2.2.4 Prompt框架與Thought
- L2.2.5 Prompt框架與提示詞 - L2.3 流水線工程
- L2.3.1 流水線工程的概念
- L2.3.2 流水線工程的優點
- L2.3.3 流水線工程的應用 - L2.4 總結與展望
- L2.1 API接口
階段3:AI大模型應用架構實踐
- 目標:深入理解AI大模型的應用架構,并能夠進行私有化部署。
- 內容:
- L3.1 Agent模型框架
- L3.1.1 Agent模型框架的設計理念
- L3.1.2 Agent模型框架的核心組件
- L3.1.3 Agent模型框架的實現細節 - L3.2 MetaGPT
- L3.2.1 MetaGPT的基本概念
- L3.2.2 MetaGPT的工作原理
- L3.2.3 MetaGPT的應用場景 - L3.3 ChatGLM
- L3.3.1 ChatGLM的特點
- L3.3.2 ChatGLM的開發環境
- L3.3.3 ChatGLM的使用示例 - L3.4 LLAMA
- L3.4.1 LLAMA的特點
- L3.4.2 LLAMA的開發環境
- L3.4.3 LLAMA的使用示例 - L3.5 其他大模型介紹
- L3.1 Agent模型框架
階段4:AI大模型私有化部署
- 目標:掌握多種AI大模型的私有化部署,包括多模態和特定領域模型。
- 內容:
- L4.1 模型私有化部署概述
- L4.2 模型私有化部署的關鍵技術
- L4.3 模型私有化部署的實施步驟
- L4.4 模型私有化部署的應用場景
學習計劃:
- 階段1:1-2個月,建立AI大模型的基礎知識體系。
- 階段2:2-3個月,專注于API應用開發能力的提升。
- 階段3:3-4個月,深入實踐AI大模型的應用架構和私有化部署。
- 階段4:4-5個月,專注于高級模型的應用和部署。
這份完整版的所有 ?? 大模型 LLM 學習資料已經上傳CSDN,朋友們如果需要可以微信掃描下方CSDN官方認證二維碼免費領取【保證100%免費
】
全套 《LLM大模型入門+進階學習資源包》↓↓↓ 獲取~
👉CSDN大禮包🎁:全網最全《LLM大模型入門+進階學習資源包》免費分享(安全鏈接,放心點擊)👈
?