【Token系列】01 | Token不是詞:GPT如何切分語言的最小單元

文章目錄

  • 01 | Token不是詞:GPT如何切分語言的最小單元?
    • 一、什么是 Token?
    • 二、Token 是怎么來的?——BPE算法原理
      • BPE核心步驟:
    • 三、為什么不直接用詞或字符?
    • 四、Token切分的實際影響
    • 五、中文Token的特殊性
    • 六、Token機制的未來方向
    • 七、總結

01 | Token不是詞:GPT如何切分語言的最小單元?

副標題:深入BPE算法,理解token的非線性結構意義


一、什么是 Token?

在 GPT 這類語言模型中,token 是模型處理語言的基本單位。它不是傳統意義上的“詞”或“字符”,而是更小的、基于統計規律和語義結構的子詞片段

示例:

文本內容Token 切分
ChatGPTChat, G, PT
playingplay, ing
我愛你我, 愛, 你

英文可能被分成多個片段;中文一般一個字一個 token。


二、Token 是怎么來的?——BPE算法原理

GPT采用的BPE(Byte Pair Encoding)是一種子詞分詞算法,原本用于壓縮,現在被用來平衡詞與字符的語義表達。

BPE核心步驟:

  1. 初始化:所有詞拆為單字符;
  2. 統計頻次:找出最常見的字符對;
  3. 合并字符對:變成新的token;
  4. 重復合并,直到構建出固定大小的詞表(如GPT-3為50257個token)。

BPE最終形成的token詞表中,高頻詞可整體保留,低頻詞被拆解重構。


三、為什么不直接用詞或字符?

粒度優點缺點
字符泛化強語義弱
單詞語義強新詞不識別
子詞(Token)平衡泛化與語義實現復雜

token 是字符和詞之間的平衡結構,便于模型學習和泛化。


四、Token切分的實際影響

  • 模型限制:如 GPT-3 最大支持 2048 token,不是 2048 字;
  • API計費:OpenAI 計費基于 token 數,而非字數;
  • 上下文控制:token 越多,占用上下文窗口越快,需控制生成長度。

五、中文Token的特殊性

中文通常一字一 token,但模型會根據語料頻率進行調整:

  • “清華大學” 可能為 [“清”, “華”, “大學”] 或 [“清華”, “大學”];
  • “ChatGPT” 可被切為 [“Chat”, “G”, “PT”],因非高頻復合詞。

六、Token機制的未來方向

  1. Unigram分詞(如T5);
  2. 多語言共享詞表(如mBERT);
  3. 動態tokenization:模型運行時自適應切分。

七、總結

token 不是詞,它是語言模型的語言單位,是語義壓縮與泛化效率之間的產物。理解 token 的切分方式,是深入理解GPT系列語言模型結構的第一步。


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

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

相關文章

如何快速高效學習Python?

如何快速高效學習Python? How to Fastly and Effectively Learn Python Programming? By JacksonML 1. Python年輕嗎? Python自1991年誕生到現在,已經經歷了三十四年或者更長時間了。畢竟,Python之父 – 吉多范羅蘇姆先生(Gu…

NAT穿透

NAT是 Net Address Traslation的縮寫,即網絡地址轉換 NAT部署在網絡出口的位置。位于內網和公網之間,是連接內挖個主機和公網的橋梁,雙向流量都必須經過NAT,裝有NAT軟件的路由器叫NAT路由器,NAT路由器擁有公網Ip NAT解…

搜索引擎的高級語法

文章目錄 精確搜索:雙引號站內搜索:site通配符搜索:*減號縮小范圍:-文檔搜索:filetypeURL搜索: inurl標題搜索:intitle正文搜索:intext參考鏈接 精確搜索:雙引號 “ ” …

RAG vs 微調:大模型知識更新的最優解之爭

一、技術本質:知識注入的兩條路徑 在大模型應用落地的實踐中,RAG(檢索增強生成)與微調(Fine-tuning)已成為知識更新的兩大核心技術路徑。二者的本質差異在于是否對模型參數進行修改: 維度RAG微…

解釋器體系結構風格-筆記

解釋器(Interpreter)是一種軟件設計模式或體系結構風格,主要用于為語言(或表達式)定義其語法、語義,并通過解釋器來解析和執行語言中的表達式。解釋器體系結構風格廣泛應用于編程語言、腳本語言、規則引擎、…

瀏覽器f12可以搜索接口的入參 和返回內容

瀏覽器f12可以搜索接口的入參 和返回內容

vue3+element-push 實現input框粘貼圖片或文本,圖片上傳。

vue3element-push 實現input框粘貼圖片或文本&#xff0c;圖片上傳。 <el-inputstyle"height: 100px; width: 100%"paste.capture.prevent"pasting"v-model"textMsg"placeholder"請輸入"/>// 展示上傳的列表--可不要<divsty…

高效使用DeepSeek對“情境+ 對象 +問題“型課題進行開題!

目錄 思路"情境 對象 問題"型 課題選題的類型有哪些呢&#xff1f;這要從課題題目的構成說起。通過對歷年來國家社會科學基金立項項目進行分析&#xff0c;小編發現&#xff0c;課題選題類型非常豐富&#xff0c;但一般是圍繞限定詞、研究對象和研究問題進行不同的組…

cursor改Goland操作習慣

步驟1&#xff1a;設置主題 步驟2&#xff1a;安裝最新go插件 步驟3&#xff1a;安裝最新go版本 需要使用最新版本go1.24.1,設置玩環境變量&#xff0c;需要關閉cursor進程再打開 步驟4&#xff1a;安裝go相關工具 Command Shift P安裝完成后需要把go版本設置回自己項目合…

4.1.1 類的序列化與反序列化(XmlSerializer)

本文介紹XML序列化和反序列化操作 本例子中被序列化的類(Devices)中有一個List,其元素類型為&#xff1a;DigitalInputInfo. 序列化以及反序列化都很簡單&#xff1a; 序列化&#xff1a;即把類的對象輸出到文件中。 StreamWriter streamWriter new StreamWriter(filePath); …

OpenCV中的圖像旋轉方法詳解

文章目錄 引言1. 簡單的旋轉&#xff1a;cv2.rotate()2. 任意角度旋轉&#xff1a;cv2.getRotationMatrix2D() cv2.warpAffine()結論 引言 在計算機視覺和圖像處理領域&#xff0c;圖像旋轉是一項基礎而重要的操作。OpenCV作為最流行的計算機視覺庫之一&#xff0c;提供了多種…

C/C++ | 靜態修飾符static

文章目錄 概述一、定義介紹二、功能作用(一)static修飾全局變量(二)static修飾局部變量(三)static修飾成員變量(四)static修飾全局函數(五)static修飾成員函數三、代碼實例(一)static初始化被多次調用概述 本節詳細介紹了static修飾符的原理及用法。包括在變量、函數、類內等…

canvas畫板!隨意畫!!

希望你天天開心 代碼&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>繪畫板</title…

Elasticsearch 使用reindex進行數據同步或索引重構

1、批量復制優化 POST _reindex {"source": {"index": "source","size": 5000},"dest": {"index": "dest"} }2、提高scroll的并行度優化 POST _reindex?slices5&refresh {"source": {…

Debian 12.10 root 登錄失敗,兩步解決!

大家好&#xff0c;這里是 DBA學習之路&#xff0c;專注于提升數據庫運維效率。 前言 今天看到 debian 正式發布 12.10&#xff0c;安裝完成后發現無法登錄 root 用戶&#xff1a; 這里我一開始懷疑是 root 密碼錯了&#xff0c;所以改了一下 root 密碼&#xff0c;忘記 root …

systemctl 命令詳解與常見問題解決

在 Linux 系統中&#xff0c;service 命令和 chkconfig 命令一直用于管理服務&#xff0c;但隨著 systemd 的引入&#xff0c;systemctl 命令逐漸成為主流。systemctl 命令不僅功能強大&#xff0c;而且使用簡單。本文將詳細介紹 systemctl 命令的作用以及常見問題的解決方法。…

【爬蟲】DrissionPage-獲取douyim用戶下的視頻

之前看過DrissionPage&#xff0c;覺得很厲害&#xff0c;比selenium簡單&#xff0c;適合新手。因為盲目跟風逆向&#xff0c;今天看了一個DrissionPage案例直播&#xff0c;學習一下&#xff0c;真香哈。 DrissionPage官網&#xff1a;&#x1f6f0;? 概述 | DrissionPage官…

中國礦業大學iGMAS分析中心介紹

一、關于GNSS和iGMAS 在浩瀚的太空中&#xff0c;全球衛星導航系統&#xff08;GNSS&#xff09;構建起精準定位的時空基準。IGMAS——國際GNSS監測評估系統&#xff0c;是由中國倡導并主導建設的全球GNSS監測網絡&#xff0c;旨在提供高精度、高可靠的導航、定位與授時服務。 …

清理HiNas(海納斯) Docker日志并限制日志大小

我在一個機頂盒的HiNas系統上跑Octoprint的docker版本&#xff0c;每隔一段時間盒子空間就被占完了&#xff0c;運行df -h之后&#xff0c;顯示/dev/root Use 100%。 Filesystem Size Used Avail Use% Mounted on /dev/root 6.6G 6.6G 0 100% / devtmpfs …

RK3588芯片NPU的使用:yolov8-pose例子圖片檢測在安卓系統部署與源碼深度解析(rknn api)

一、本文的目標 將yolo8-pose例子適配安卓端,提供選擇圖片后進行姿態識別功能。通過項目學習源碼和rknn api。二、開發環境說明 主機系統:Windows 11目標設備:搭載RK3588芯片的安卓開發板核心工具:Android Studio Koala | 2024.1.1 Patch 2,NDK 27.0三、適配(遷移)安卓 …