LLM(大語言模型)的工作原理 圖文講解

目錄

1. 條件概率:上下文預測的基礎

2. LLM 是如何“看著上下文寫出下一個詞”的?

補充說明(重要)

📌 Step 1: 輸入處理

📌 Step 2: 概率計算

📌 Step 3: 決策選擇

🤔 一個有趣的細節:為什么 ChatGPT 有時“拼字很差”?

3. 溫度 (Temperature) 的妙用

4. 小結:LLM 的核心運作機制


1. 條件概率:上下文預測的基礎

“條件概率” 是理解 LLM 的第一步,也是預測邏輯的底層支撐。換句話說,模型是在已知上下文的基礎上預測下一個詞出現的概率,這是一個“給定 A,求 B”的問題,即 P(下一個詞 | 上下文)。在 LLM 中,上下文越豐富,模型對后續詞語的預測就越精準。

在深入探討 LLM之前,我們必須理解條件概率。 讓我們考慮一個包含 14 個人的群體:其中一些人喜歡網球(7人)其中一些人喜歡足球(8人)有些喜歡網球和足球(3人) 有些全部都不喜歡(2人)。如下圖所示。

????

那么條件概率是什么呢?這是在另一個事件發生的情況下,某事件發生的概率度量。 如果事件是 A 和 B,我們表示為 P(A|B)。 這讀作"給定 B 的 A 的概率"。

這里:

  • A:喜歡籃球

  • B:喜歡足球

  • P(A∣B):已知喜歡足球的前提下,喜歡籃球的概率

舉例說明:如果我們正在預測今天是否會下雨(事件 A),知道天是多云的(事件 B)可能會影響我們的預測(下雨概率增大)。 由于多云時下雨的可能性更大,我們會說條件概率 P(A|B)很高。 這就是條件概率!

2. LLM 是如何“看著上下文寫出下一個詞”的?

LLM 從海量文本中學習一個高維的“詞序列概率分布”,其內部參數(以巨大的權重矩陣形式存在)就是訓練的成果,它讓模型能夠評估在不同上下文中、每個詞出現的概率。

那么,這個如何應用于像 GPT-4 這樣的 LLMs這些模型的任務是預測序列中的下一個詞。 這是一個條件概率的問題:在已知之前出現過的詞的情況下,哪個詞最有可能成為下一個詞?

為了預測下一個詞,模型會根據之前的詞(上下文)計算每個可能下一個詞的條件概率。 條件概率最高的詞被選為預測結果。

LLM 學習一個高維的詞序列概率分布。 而這個分布的參數就是訓練好的權重! 訓練或者說預訓練是監督式的。

補充說明(重要)

在前面我們提到,LLM 的任務就是“根據上下文預測下一個詞”。但更準確地說,LLM 的工作原理是:
👉 模型會把輸入文本轉化為一系列 token,然后基于上下文重復預測下一個 token 的概率分布。

📌 Step 1: 輸入處理

  • 文本會先經過 分詞器(Tokenizer) 轉換成 token 序列;

  • 每個 token 會被映射為數字 ID,再轉為向量輸入模型。

舉例:

  • "Learning new things is fun!" → 被分詞后,每個常見的單詞通常會變成一個 token;

  • "prompting" 這樣的長單詞,會被拆解為多個 token:"prom""pt""ing"

因此,LLM 實際上預測的不是一個完整的單詞,而是一個個 token。

📌 Step 2: 概率計算

  • 模型通過 自注意力機制(Self-Attention),結合上下文信息,計算出每個 token 作為下一個輸出的條件概率

  • 舉例:在 "I love machine" 之后,模型會評估 "learning""apple""gun" 等 token 出現的概率,通常 "learning" 的概率最高。

📌 Step 3: 決策選擇

  • 如果模型每次都選擇概率最高的 token,輸出可能會“死板”且容易重復;

  • 因此在實際生成時,會引入 溫度(Temperature) 參數和 采樣(Sampling)策略,讓結果既合理又有一定多樣性。

🤔 一個有趣的細節:為什么 ChatGPT 有時“拼字很差”?

當你讓 ChatGPT 顛倒 "lollipop" 的字母時,它可能會輸出錯誤。
原因是:

  • 分詞器將 "lollipop" 分解為三個 token:"l""oll""ipop"

  • 模型處理的單位是 token,而不是單個字母,自然就難以逐字母反轉。

? 小技巧:
如果你寫成 "l - o - l - l - i - p - o - p",分詞器會把它們分解為單個字母 token,
這樣 ChatGPT 就能逐字處理,從而更容易得到正確的結果。

3. 溫度 (Temperature) 的妙用

但是有一個問題? 如果我們總是選擇概率最高的詞,最終會得到重復的輸出,使 LLM幾乎毫無用處,并扼殺它們的創造力。 這就是溫度(Temperature)發揮作用的地方。

然而,過高的溫度值會產生亂碼。

所以,LLM不是選擇最佳詞元(為了簡化,我們可以將詞元視為單詞),而是對預測進行"采樣"。 所以即使“詞元 1”得分最高,也可能不會被選擇,因為我們正在進行采樣。

現在,溫度在 softmax 函數中引入了以下調整,進而影響了采樣過程:

讓我們來看一個代碼示例!

在低溫下,概率集中在最可能的標記周圍,導致生成幾乎貪婪的結果。

在高溫下,概率變得更加均勻,產生高度隨機和隨機的輸出。

4. 小結:LLM 的核心運作機制

核心概念通俗類比 / 理解技術要點及作用
條件概率看天氣圖預測是否下雨模型預測下一個詞的可能性,依賴上下文
概率模型訓練出的“大腦”,幫你判斷哪個詞最可能出現權重矩陣構成預測核心,來自大規模語料預訓練
溫度控制+采樣?留有余地,不死板,讓生成更“有痕跡”或“有趣”控制輸出“保守”或“多樣性”之間的平衡

?原文鏈接:Akshay 🚀 on X: "How LLMs work, clearly explained:" / X

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/93779.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/93779.shtml
英文地址,請注明出處:http://en.pswp.cn/web/93779.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python netifaces 庫詳解:跨平臺網絡接口與 IP 地址管理

一、前言 在現代網絡編程中,獲取本機的網絡接口信息和 IP 配置是非常常見的需求。 例如: 開發一個需要選擇合適網卡的 網絡服務;在多網卡環境下實現 流量路由與控制;在系統診斷工具中展示 IP/MAC 地址、子網掩碼、默認網關&#x…

HTML應用指南:利用POST請求獲取上海黃金交易所金價數據

上海黃金交易所(SGE)作為中國唯一經國務院批準、專門從事黃金等貴金屬交易的國家級市場平臺,自成立以來始終秉持“公開、公平、公正”的原則,致力于構建規范、高效、透明的貴金屬交易市場體系。交易所通過完善的交易機制、嚴格的風…

C++常見面試題-1.C++基礎

一、C 基礎 1.1 語言特性與區別C 與 C 的主要區別是什么?C 為何被稱為 “帶類的 C”? 主要區別:C 引入了面向對象編程(OOP)特性(類、繼承、多態等),而 C 是過程式編程語言&#xff1…

Tomcat里catalina.sh詳解

在 Tomcat 中,catalina.sh(Linux/macOS)或 catalina.bat(Windows)是 核心的啟動和關閉腳本,用于控制 Tomcat 服務器的運行。它是 Tomcat 的“主控腳本”,負責設置環境變量、啟動/關閉 JVM 進程&…

STM32之MCU和GPIO

一、單片機MCU 1.1 單片機和嵌入式 嵌入式系統 以計算機為核心,tips:計算機【處理單元,內存 硬盤】 可以控制的外部設備,傳感器,電機,繼電器 嵌入式開發 數據源--> 處理器(CPU MCU MPU) --> 執行器 …

22_基于深度學習的桃子成熟度檢測系統(yolo11、yolov8、yolov5+UI界面+Python項目源碼+模型+標注好的數據集)

目錄 項目介紹🎯 功能展示🌟 一、環境安裝🎆 環境配置說明📘 安裝指南說明🎥 環境安裝教學視頻 🌟 二、數據集介紹🌟 三、系統環境(框架/依賴庫)說明🧱 系統環…

數據結構:二叉樹oj練習

在講今天的題目之前,我們還需要講一下二叉樹的以下特點: 對任意一顆二叉樹,如果度為0的節點個數是n0,度為2的節點個數是n2,則有n0n21. 證明:二叉樹總的節點個數是n,那么有nn0n1n2 二叉樹的度為…

RabbitMQ高級特性——TTL、死信隊列、延遲隊列、事務、消息分發

目錄 一、TTL 1.1設置消息的TTL 1.2設置隊列的TTL 1.3兩者之間的區別 二、死信隊列 2.1死信的概念 2.2死信產生的條件: 2.3死信隊列的實現 死信隊列的工作原理 2.4常??試題 三、延遲隊列 3.1概念 3.2應用場景 3.3RabbitMQ 實現延遲隊列的核心原理 1…

神經網絡設計中關于BN歸一化(Normalization)的討論

在神經網絡的結構中,我們常常可以看見歸一化(Normalization)如BN的出現,無論是模型的backbone或者是neck的設計都與它有著重大的關系。 因此引發了我對它的思考,接下來我將從 是什么(知識領域,誕…

MacOS 安全機制與“文件已損壞”排查完整指南

1. 背景說明macOS 為了保護系統安全,內置了多個安全機制:機制作用是否影響第三方 AppSIP (System Integrity Protection)保護系統關鍵文件/目錄不被篡改高風險 App/驅動可能受限Gatekeeper限制未簽名/未認證 App 運行阻止“未知開發者” App文件隔離屬性…

package.json文件中的devDependencies和dependencies對象有什么區別?

前端項目的package.json文件中,dependencies和devDependencies對象都用于指定項目所依賴的軟件包,但它們在項目的開發和生產環境中的使用有所不同。1.dependencies:dependencies是指定項目在生產環境中運行所需要的依賴項。這些依賴項通常包括…

【最新版】CRMEB Pro版v3.4系統源碼全開源+PC端+uniapp前端+搭建教程

一.系統介紹 crmebPro版 v3.4正式發布,智能任務推送、動態標簽管理、商城AI生產力,煥然一新,不負期待!頁面DIY設計功能全面升級,組件更豐富,樣式設計更全面;移動端商家管理,讓商城管…

AI 浪潮下 IT 從業者的職業展望:替代之惑與轉型之道

一、引言1.1 科技變革的浪潮:AI 崛起與 IT 行業震蕩在當今科技飛速發展的時代,人工智能(AI)無疑是最具影響力的變革力量之一。從實驗室的前沿研究到廣泛的商業應用,AI 以驚人的速度滲透到各個領域,徹底改變…

DSP音頻算法移植優化工程師實戰

以下以音頻FIR濾波器算法為例,完整演示從MATLAB原型 → Python驗證 → TI DSP C語言移植優化的全流程,包含關鍵代碼和優化技巧:關鍵優化技術解析: 內存訪問優化使用#pragma DATA_ALIGN確保64位對齊(滿足LDDW指令要求&a…

Spark 運行流程核心組件(三)任務執行

一、啟動模式 1、standalone資源申請:Driver向Master申請Executor資源Executor啟動:Master調度Worker啟動Executor注冊通信:Executor直接向Driver注冊 2、YARNDriver向YARN ResourceManager(RM)申請AM容器RM分配NodeManager(NM)啟動AM&#x…

rabbitmq發送的延遲消息時間過長就立即消費了

RabbitMQ延遲消息在設置過長時間后被立即消費的問題,通常與以下原因有關: TTL限制問題 RabbitMQ對消息TTL(Time To Live)有32位整數限制(0-4294967295毫秒),約49.7天。超過該值的延遲時間會導致消息立即被消費解決方案:確保設置的…

kafka的pull的依據

1. 每次 pull() 是否必須在提交上一批消息的 offset 之后?絕對不需要! 提交 offset 和調用 poll() (拉取消息) 是兩個完全獨立的行為。消費者可以連續調用 poll() 多次,期間完全不提交任何 offset。 這是 Kafka 消費者的正常工作模式。提交 o…

學習嵌入式的第二十一天——數據結構——鏈表

單向鏈表特點:存儲的內存空間不連續 。為了彌補順序存儲存劣勢。優勢 插入,刪除 O(1) 動態存儲 ,在程序運行期間決定大小。劣勢: 不能隨機訪問 O(N) 節點-> 數據域指針域 順序表(數組) 只有數據域鏈表的操作代碼&#xff1…

Rust Web 全棧開發(十三):發布

Rust Web 全棧開發(十三):發布Rust Web 全棧開發(十三):發布發布 teacher_service發布 svr測試 teacher_service 和 svr發布 wasm-client測試 wasm-clientRust Web 全棧開發(十三)&a…

Zephyr 中的 bt_le_per_adv_set_data 函數的介紹和應用方法

目錄 概述 1 函數接口介紹 1.1 函數原型 1.2 功能詳解 2 使用方法 2.1 創建流程 2.1.1 創建擴展廣播實例 2.1.2 設置周期性廣播數據 2.1.3 配置周期性廣播參數 2.1.4 啟動廣播 2.2 主流程函數 2.3 關鍵配置 (prj.conf) 3 高級用法 3.1 大數據分片傳輸 3.2 動態數…