ai產品經理必會知識點!一文讀懂,LLM大語言模型的工作原理。

ai產品經理必會知識點!一文讀懂,LLM大語言模型的工作原理。

文章圖片

ai產品經理必會知識點!一文讀懂,LLM大語言模型的工作原理。

文章圖片

ai產品經理必會知識點!一文讀懂,LLM大語言模型的工作原理。

文章圖片

ai產品經理必會知識點!一文讀懂,LLM大語言模型的工作原理。

文章圖片

ai產品經理必會知識點!一文讀懂,LLM大語言模型的工作原理。

文章圖片

大家好 , 我是喜歡研究AI的一枚產品經理
平時主要從事與AI、大模型、智能座艙等相關工作 。 在這里 , 我會持續跟大家分享AI相關的前沿技術、產品體驗、個人心得等有營養有價值的信息
另外 , 我還超愛自駕游~


導語:
從前年爆火的GPT , 到今年過年期間驚嘆世人的DeepSeek , 如今 , AI、人工智能、大模型這些詞匯對于大家來說不但不陌生 , 反而從各種各樣的AI應用和產品中 , 我們已經有了切身的體會 。
但是 , 除了用過和會用 , 有多少人真正了解LLM的本質究竟是什么?它的工作原理究竟是怎么運行的?
可能這個問題對于普通人來說 , duck不必知其所以然 , 但對于想要從事ai行業 , 尤其是ai產品經理和ai工程師的伙伴們 , 這個可是必備知識點!
這篇文章 , 我想從非純底層技術的角度 , 而是從整體框架層 , 從產品經理的視角 , 通過舉例和圖示 , 盡量言簡意賅的闡述LLM的本質 。 因此我將通過10張圖和三部分內容 , 統計與概率、大模型推理預測機制、temperature(溫度參數)入手 , 讓不懂技術的你 , 也能了解LLM的工作原理 。
好了 , 接下來 , 我們就看圖說話 。


一、統計與概率LLM的本質是基于統計模式學習語言的模型 , 所以理解什么是數據總體(海量的文本語料庫)、如何計算基本事件(如某個詞出現)的概率 , 是理解LLM工作原理的第一步 。 它建立了“概率描述偏好/可能性”的直觀感受 。
所以 , 開篇我會用網球和足球來舉例子 , 先讓大家理解概率分布和統計的思維 。
圖1
上圖是一個共14人的運動隊 , 圖中的Population可以理解為總體、總人數 , 即總人數是14人 。
然后 , 其中有人喜歡網球、有人喜歡足球 , 有人同時喜歡兩者 , 但是也有人兩個都不喜歡 。 對應到圖中 , 喜歡網球的人是綠色圈圈 , 共4人;喜歡足球??的人是藍色圈圈 , 共5人;既喜歡網球又喜歡足球的是黃色圈圈 , 共3人;兩者都不喜歡的是粉色圈圈 , 共2人;一共是4+5+3+2=14人 。
繼續看圖 , 右上方2x2的表格 , 用來直觀的進行數學統計 , 即:
?網球 & ?足球:3人 (即A∩B)
?網球 & ?足球:4人
?網球 & ?足球:5人
?網球 & ?足球:2人
那么基于表格所示 , 可以統計基本概率:
  • P(A):喜歡網球的概率 = 喜歡網球的人數(7) / 總人數(14) = 7/14
  • P(B):喜歡足球的概率 = 喜歡足球的人數(8) / 總人數(14) = 8/14


圖2
上面這張條件概率圖 , 是建立在第一張基本概率圖的基礎上來的 , 這里我們引入一個新的 , 但是非常關鍵的概念——條件概率 P(A|B) , 這直接關系到LLM如何根據上下文預測下一個詞!
延續圖1 , 這張圖2我們先了解一個概念:聯合概率 P(A∩B) , 意思就是既喜歡網球也喜歡足球的概率 = 同時喜歡兩者的人數(3) / 總人數(14) = 3/14 。
那緊接著就是條件概率 P(A|B) , 就是在已知某人喜歡足球(事件B發生)的條件下 , ta也喜歡網球(事件A發生)的概率 。
條件概率計算公式: P(A|B) = P(A∩B) / P(B) , 代入數值: P(A|B) = (3/14) / (8/14) = 3/8 , 意思是如果你在人群中隨機拉出來一個喜歡足球的人(8人) , 這其中有3人同時也喜歡網球 。 所以 , 在這個“喜歡足球”的小圈子里 , 喜歡網球的比例是3/8 。 這就是條件概率的意義——它限定了樣本空間(只在喜歡足球的人里面考慮) 。
那么回到LLM , LLM預測下一個詞的核心機制就是計算條件概率!理解了這個概念后 , 馬上看下圖圖3 , 給定前面的詞語序列(“The boy went to the”) , 計算下一個詞是“Playground”、“Park”、“School”等的概率 P(下一個詞 | 前面的上下文) 。 這里LLM對于下一個詞的預測 , 就跟圖2展示的 P(A|B) 計算原理一模一樣 , 即事件B是“前面的上下文” , 事件A是“可能的下一個候選詞” 。


二、LLM推理預測機制圖3
圖3 , 這張圖非常形象地說明了LLM在做什么 。 它接收了一段文字(上下文“the boy went to the”) , 然后就像一個極其熟悉語言規律的“概率預測機” , 嘗試推測接下來最應該出現什么詞 。 (后面出來的這些詞 , 是通過向量計算得出來的 , 這個概念 , 大家也可以翻看我之前的另一篇文章) , 這就是圖2條件概率在實際語言任務中的直接應用 。
具體來拆解分析下圖3 , 從左到右看 。
首先 , 圖中綠色字體寫明了“Previous words (Context)”——即已有的、輸入給LLM的文本序列:“The boy went to the” 。
然后 , LLM的任務就是基于這個“上下文” , 預測接下來最有可能出現的單詞是什么 。 圖中展示了幾個可能的下一個詞作為例子:“Cafe”、“Hospital”、“Playground”、“Park”、“School” 。
注意: LLM不會給出一個“最可能”的答案(如“School”) , 它會為所有可能的單詞(這里方便舉例只寫了幾個 , 實際可能是成千上萬個?。 ┘撲鬩桓齦怕?P(單詞 | 'The boy went to the') 。
圖4
【ai產品經理必會知識點!一文讀懂,LLM大語言模型的工作原理?!?/strong>這張圖圖4 , 就具體化展示了LLM的預測過程 , 它如何為每個可能的詞輸出一個概率值 , 并形成概率分布 , 以及初始的選擇策略——選概率最高的 。
我們分步來看圖4的過程:
  • 輸入: 就是圖3的上下文“The boy went to the” 。
  • 模型: 大腦圖標代表模型本身 。
  • 輸出: 概率分布 , 這是核心!LLM為詞匯表(所有它學過的詞)里的每個詞計算出一個概率值 , 數值在0到1之間 , 并且所有詞的概率總和為1 。
  • 可視化: 圖中展示了5個代表性候選詞及其計算出的示例概率:Playground(0.4) School(0.3) Park(0.15) Cafe(0.1) Hospital(0.05) 。
  • 初始策略(Greedy Search): 圖片右下角底部用紫色小字備注了“word with highest probability is chosen(選擇概率最高的單詞)” 。 這種情況下 , 會輸出“Playground”(概率0.4是最高的) 。 這是一種最直接、最確定性的選擇方式 。
圖5
圖1 - 圖4 , 其實已經把LLM的工作過程展示完了 , 但是 , 那只是最理想化、最簡化的描述 。 所以圖5 , 要繼續給大家說明LLM是如何自我“學習”并改進預測能力的——通過計算預測錯誤并進行反向傳播調整 , 可以理解為“強化學習、獎勵機制”這類概念 。
圖片標題“Loss calculation”是損失計算的意思 , 它的作用就是讓模型有自我學習、修正和優化的內部機制 , 那對于用戶來說 , 就是越用這個模型 , 感覺它越聰明 。
所以 , 這張圖就是跟大家解釋 , 不是說LLM預測出來下一個詞是什么 , 就直接輸出了 , 它還會通過其他的計算 , 進行進一步的判斷 , 然后才會輸出最終結果 。 并且 , 在這個“預測->計算損失->微調內部參數->再預測”的過程中 , 大模型也完成了“自我提升” 。
因此 , 這張圖里涉及到對數、交叉熵這些數學計算 , 可能很多人不懂 , 但你只要理解上面的解釋也ok的 。
還是分步解釋下上圖里面各種公式計算的過程:
  • 輸入: 仍然是上下文“The boy went to the” 。
  • 預測: “LLM”模型輸出了每個詞的概率分布(與圖4一樣) 。
  • 真實值 (Ground Truth): 在訓練階段 , 我們知道這個上下文之后實際上出現的詞是什么 。 圖中假設正確答案是“Playground” , 所以“Playground”位置是1 , 其余詞位置都是0 (圖中列出只有這幾個詞 , 實際詞匯表所有位置都要看) 。
  • 計算損失(Loss): 我們需要衡量模型的預測值(P(Playground)=0.4)與真實值(Playground=1)之間的差距 。
  • 損失函數公式: Loss = -log(P(正確答案對應的概率))
  • 代入: Loss = -log(P('Playground' | 'The boy went to the')) = -log(0.4) ≈ -(-0.916) ≈ 0.916(log是自然對數 , log(0.4) ≈ -0.916) 。
  • 損失的意義: 預測概率越高(越接近1) , 損失值越低(越接近0) 。 預測概率越低(越接近0) , 損失值急劇升高 。 模型在訓練中會不斷嘗試最小化整個訓練數據的平均損失 。 通過計算損失并應用反向傳播算法調整LLM內部的參數(神經網絡的權重) , 模型就能逐漸提高預測的準確性 。


三、Temperature溫度調控LLM的預測隨機性圖6
好了 , 上面5張圖基本概述完了LLM的工作流程 。 從圖6開始 , 再引入一個關鍵詞“Temperature溫度” , 它是影響LLM的一個關鍵參數!換句話說 , 同樣一個大模型 , 給它輸入同一個問題 , 但是Temperature的不同 , 會導致LLM的輸出結果天壤之別 。
可能有很多實踐過大模型的朋友會了解 , 就是我們通過扣子或dify這類平臺 , 去調試大模型的時候 , 一般頁面上都會有一個Temperature的可自定義參數 , 這個參數你設置的越小 , 它輸出的結果就越“中規中矩和刻板” , 你設置的參數值越大 , 它輸出的結果就越“有創意或天馬行空” , 這就是Temperature的作用 。
上圖6和下圖7 , 就是一個對比 , 通過code的形式 , 跟大家展示低溫和高溫 , 對于LLM輸出結果的影響 。
  • 上圖6 , temperature=0.1**50(這個值極其接近0)
  • 給模型相同的輸入(提示語“Continue this: In 2013 ...”)
  • 輸出: 連續運行了兩次 , 兩次輸出的文本完全一模一樣——“The world was captivated by the birth of Prince George...” 。
  • 結果說明: 圖中黑色粗體字標注“Temperature close to zero”和“Identical response” 。 低溫會極大程度地尖銳化輸出概率分布(放大最高概率項 , 抑制其他項) 。 當溫度趨近0時 , 模型實際上變成了只選擇可能性最大的下一個詞(類似圖4的Greedy Search策略) 。 這使得生成文本高度確定、一致且相對保守(重復輸入可能稍有波動 , 但極低溫下波動極?。 ?。
圖7
看完圖6 , 繼續看圖7↑ 顯然 , 圖7中T的值大于1 , 那么它的輸出將會是高度隨機的 , 完全無規律 。
  • 上圖7 , 與圖6相似的代碼 , 但設置了一個很高的溫度 temperature=2
  • 同樣的輸入(“Continue this: In 2013 ...”)
  • 輸出: 圖中打印出的內容是一長串完全混亂、沒有語義連貫性的字符、無意義詞和符號組合(...infection-your PSD surgicalPYTHON**...)
  • 結果說明: 圖中黑色粗體字標注“Random output” , 就是說高溫會平滑化輸出概率分布 , 讓原本低概率的詞獲得相對更高的機會被選中 。 當溫度非常高時 , 所有詞的概率幾乎變得均勻 , 模型變成了完全隨機的字符生成器 , 丟失了所有上下文相關性和語義信息 。 輸出的就是近乎噪聲的亂碼 。
圖8
這張圖 , 重點在于sampling , 采樣!就是說 , LLM在生成文本時(推理階段) , 是如何利用概率分布進行采樣(Sampling) 來獲得隨機但有控制的輸出 , 而非總是選擇最高概率詞 。
這張圖 , 進一步概述了LLM非常重要的一個工作機制:基于模型的概率分布進行采樣 。 與圖4只選最高概率詞(Greedy)和圖6低溫(接近Greedy)不同 , 采樣是文本生成(如聊天、創作)中自然引入隨機性和創造性的方式 。
上圖8 , 從左到右 , 我們依次來看:
  • 最左側輸出層(Output layer): 模型輸出的原始分數 , 每個可能的下一個詞(Token)對應一個分數(Logits) 。 Logits: 這些分數本身數值范圍沒有限制 。 Softmax層: 將Logits轉換成合法的概率分布(所有值在0-1之間 , 總和為1) , 每個Token對應的Softmax轉換后的概率值(Token 1:0.86 Token 2:0.00等) 。
  • 圖片右側黃色小字“Sample from this distribution” , 是說從該分布中采樣 。
  • 采樣: 不是簡單地挑選概率最高的Token(Token 1:86%) , 而是根據每個Token的概率值大小 , 隨機地選擇下一個Token 。 例如 , 一個概率為50%的詞 , 被選中的可能性就是50%;一個概率為1%的詞 , 被選中的可能性就是1% 。 這使得輸出具有多樣性 。
圖9
圖9 , 是用數學公式展示了溫度T是如何改變Softmax計算結果的 。 這張圖重在展示圖6、7、8背后的底層數學原理 。 溫度 , 通過一個數學變換(縮放Logits) , 控制了Softmax輸出的概率分布的集中度(Sharpness)/均勻度(Uniformity) 。
這張圖 , 以及最后一張圖10 , 不理解沒關系 , 也可以不看 , 只是為了補充背后的數學原理 。
  • 核心:Logits , 模型輸出的原始分數 。
  • 傳統Softmax: 公式 σ(z)_i = e^{z_i / Σ_j e^{z_je^{z_i: 某個詞i原始分數的指數 。 Σ_j e^{z_j: 所有詞原始分數指數的總和 。 結果:原始分數大的詞獲得較高概率 。
  • 溫度調整Softmax: 公式 σ(z T)_i = e^{(z_i / T) / Σ_j e^{(z_j / T)變化點: 每個原始分數 z_i 在計算前都除以溫度 T (z_i / T) 。
  • 溫度T的作用:T小 (接近0): z_i / T 值會被放大 。 最大值被放大的程度遠大于其他值 , 導致e^{(最大值/T)變得極大 。 最終概率分布變得尖銳(一個詞概率接近1 , 其余接近0) 。 這就是圖6(低溫)確定性的數學來源 。 T大 (>>1): z_i / T 值被縮小 。 所有原始分數的差距被壓縮 。 最終概率分布變得平滑、均勻 。 這就是圖7(高溫)亂碼和圖8中低概率詞有機會被采樣的數學來源 。

最后這張圖 , 就用具體的數值計算例子 , 直觀地驗證圖9理論 , 同時也形象再現了圖6和圖7的效果 。 通過它可看到溫度這個單一參數如何通過在Softmax公式里縮放原始分數 , 來控制模型輸出的“冒險/保守”程度 。
  • 輸入數組a = [1 2 3 4
    , 這可以看作4個詞的Logits(原始分數) 。
  • 計算1:原始Softmax(a) , 結果是[0.03 0.09 0.24 0.64
    。 最大值4對應的概率0.64顯著高于其他值 , 分布較尖銳 。
  • 計算2:低溫 (T=0.01)下的Softmax(a/T):a/T = [1/0.01=100 2/0.01=200 3/0.01=300 4/0.01=400
    。 Softmax結果:[5.12e-131 1.38e-087 3.72e-044 **1.00e+000**
    ≈ [0 0 0 1
    。 結果:概率分布極其尖銳!原始最高值4對應概率幾乎是1 , 其他詞概率幾乎為0 。對應圖6的確定性輸出 。
  • 計算3:高溫 (T=1e9)下的Softmax(a/T):a/T = [1e-9 2e-9 3e-9 4e-9
    。 所有值都變得非常小且彼此接近 。 Softmax結果:[0.25 0.25 0.25 0.25
    。 結果:概率分布幾乎完全均勻! 每個詞的概率都是25% , 失去了Logits提供的偏好信息 。 對應圖7的亂碼和高度隨機性 。


好了 , 以上就是本文的全部內容了 , 如果喜歡或者覺得對你有點用處 , 歡迎點贊分享
AI產品經理|智能座艙產品經理|奶爸|自駕游愛好者|科技數碼愛好者|給自己打工!
??體驗分享AI前沿技術與產品|記錄分享個人學習與心得|情緒價值傳播|鏈接同行者!

    推薦閱讀