大模型处理文本的第一步:分词 —— 为什么 “汉字“ 和 “token“ 不是一回事
前言几乎所有用过 ChatGPT、DeepSeek、Kimi 的人都见过 token 这个词 ——API 按 token 计费、上下文窗口按 token 计算。但 token 到底是什么为什么它不是 字也不是 词本文从底层机制出发做一次全面的拆解。一、模型为什么 看不懂 文字大语言模型LLM本质上是一个巨型数字运算机器。Transformer 的全部计算 —— 矩阵乘法、注意力机制、位置编码 —— 都只作用于整数和浮点数。一段文本从输入模型到产生输出要经过这样一条流水线原始文本 → 规范化(Normalization) → 分词(Tokenization) → 查表得到 token ID → Embedding 层把 ID 转成向量 → Transformer 逐层计算 → 输出 token ID → 反向解码回文本所以严格说第一步是分词Tokenization而分词的本质是把连续的字符序列切成一个个 词元token并为每个 token 映射到一个整数 ID。模型从头到尾只见到一串整数 ID一个汉字都不认识。下面逐层拆开讲。二、Token 到底从哪里来BPE 的底层逻辑现代大模型GPT、LLaMA、Qwen 等几乎全部使用BPEByte Pair Encoding字节对编码或其变体BBPE、SentencePiece、Unigram来构建词表。1. 训练过程贪心合并假设词表初始只有 256 个字节0x00–0xFF。BPE 在海量语料上反复做一件事统计所有相邻符号对的频率把最高频的那一对合并成一个新符号加入词表重复几十万次直到词表达到目标大小常见 32k、50k、100k、15 万以上。举例语料里t, h总是挨着出现就把它俩合并成th接着th, e又高频出现再合并成the。关键洞察哪些序列会成为 token完全取决于 什么在语料中出现得最多。词表里的几万十几万个 条目是训练语料频率分布的直接产物。2. 推理过程查表 回退来了新文本后分词器做反向操作从左到右贪心查找词表里最长能匹配的子串。匹配不上时字节级 BPE 还有个保底机制 —— 退回到单字节再两两合并编码。这就是为什么英文常见词the、of、intelligent都是 1 个 token但长而罕见的词如uncharacteristically会被切成un、character、istic、ally等多个 token不同语言、不同领域的常见度不同切法就完全不同。三、为什么 汉字 和 token 不是一回事这是本文的核心。两者混淆的根源是人们把 token 当成 字 或 词 的近义词实际上它是词表中一个整数条目的代号与 字 没有任何天然对应关系。1. 一个汉字可能恰好是一个 token—— 纯属巧合中文语料在互联网上极其庞大所以高频汉字的、是、我、在、国、人……在 BPE 训练时自然被合并成独立 token。这造成一种错觉一个汉字 一个 token。实际上这只是统计规律的巧合不是设计保证。高频字是 1 个 token低频字可能切成 23 个甚至更多 token。2. 低频汉字会被拆成字节汉字用 UTF‑8 编码时占 3 个字节。如果一个生僻字如 犇 鬰 从未在训练语料中出现过足够次数词表里没有它的完整条目分词器只能退回字节级编码一个字会被表示成 23 个 字节 token。也就是说一个汉字 ≠ 1 个 token它可能是 1 个也可能是 3 个甚至跨汉字的组合被切进同一个 token。3. Token 边界可以落在任何位置因为是 最长匹配 频率驱动token 边界与语义边界经常错位英文ChatGPT可能被切成ChatGPT—— 既不是字也不是词数字123456789常按 3 位一段切成多个 token中文词组训练语料中高频的双字 / 多字组合如 中国 人工智能 可能被合并成一个 token—— 这时是多个汉字 1 个 token标点、空格、换行、emoji各自都是独立的 token。token 是统计单元不是语言单元。这就是为什么下面这条恒等式几乎总是错的token 数 ≈ 字数 ❌4. 字 与 字 在模型眼中也不同汉字 指语义上的字符Unicode 码点但底层还有字形渲染、归一化全角 / 半角、简体 / 繁体被视为不同码点等层次。模型看到的连 汉字 都不是是字节序列 → 词表条目的映射结果。繁体 國 和简体 国 在多数词表里就是不同 token虽然人眼看来 是同一个字。四、从 ID 到向量模型真正 吃 的东西拿到 token ID 后Embedding 层做一个简单的查表操作向量 Embedding矩阵[ID] 矩阵规模 词表大小 × 隐藏维度如 151k × 4096这个查出来的高维向量再叠加位置编码才进入 Transformer 的自注意力计算。所以模型不认识 中 这个字它只认识某个 ID如 49374这个索引在 Embedding 矩阵里对应的那行向量两个不同的 token 即使字形相同如全角 中 vs 半角 中ID 不同向量也完全不同模型眼中的它们毫无关系词表是每个模型专属的Qwen、DeepSeek、GPT‑4 的词表互不相同同一个句子在不同模型里切出来的 token 序列、数量都不一样。五、这个区别为什么重要四个实际后果1. 计费与上下文长度都按 token 算。API 价格、上下文窗口128k 等全部以 token 计数。中文通常 1 个汉字约 12 个 token英文 1 个 token 约 0.75 个单词 —— 所以中文使用成本普遍高于英文用户的直觉。2. 模型在 token 边界 上是笨拙的。模型无法可靠地 数汉字、反转字符串、数标点 —— 因为这些操作需要在字节 / 字符层面处理而模型只在 token 层面做注意力计算。strawberry里有几个r曾难倒一大片模型根源就在此。3. Prompt 设计要顺应 token 分布。高频表达模型 更熟练生造词、混合语言、无空格英文黏连、异常大小写都会让 token 化变得不可预测影响输出稳定性。4. 语言之间不平等是词表造成的。英语等高频语言 1 个 token 携带的信息量大某些小语种一个字需要多个 token同样的信息量要花更多算力和钱 —— 这是技术结构带来的隐性偏差而非模型 歧视。六、总结大模型处理文本的第一步是分词用 BPE 等算法把文本切成语料频率驱动下的离散单元token映射为整数 ID再查 Embedding 表变成向量。汉字 是人类语言里的字符概念token 是词表里一个条目的整数索引 —— 一个汉字可能是 1 个 token可能是 3 个字节 token多个汉字也可能合并成 1 个 token。二者唯一的关系是统计上的偶尔重合不是概念上的对应。

相关新闻

SpringBoot2+Vue3+MyBatis-Plus校园失物招领系统全栈开发实战复盘

SpringBoot2+Vue3+MyBatis-Plus校园失物招领系统全栈开发实战复盘

做校园失物招领系统这个需求,前前后后我至少经手过三四个版本。从最早的 JSPServlet,到后来的 SSM,再到这次用 SpringBoot2 Vue3 MyBatis-Plus MySQL8.0 重写,每次都有新的体会。说实话,这类系统在高校里属于“小但…

2026/10/11 4:21:10 阅读更多 →
Spring Boot + Vue 全栈实战:蘑菇百科信息管理系统开发详解

Spring Boot + Vue 全栈实战:蘑菇百科信息管理系统开发详解

1. 项目定位与核心功能拆解1.1 这个蘑菇百科到底能做什么先把这个项目说清楚。所谓“蘑菇百科”,本质是一个面向科普场景的蘑菇信息检索与管理系统。它解决的实际问题很朴素:蘑菇种类太多、外观相似度又高,光靠翻图鉴或者问人,效率…

2026/10/11 4:21:10 阅读更多 →
智能体动手时代:从能说到能做,AI操作层的工程落地

智能体动手时代:从能说到能做,AI操作层的工程落地

1. 标题解构:为什么“智能体开始动手”是本周真正的分水岭“智能体开始‘动手’之后”——这句看似口语化的标题,实则是对当前AI产业演进阶段最精准的切片式描述。它不是在说模型参数又涨了多少,也不是在比谁家API响应快了200毫秒&#xff0c…

2026/10/11 4:20:09 阅读更多 →

最新新闻

JPEG修复工具源码解析:损坏类型、诊断与批量修复实战

JPEG修复工具源码解析:损坏类型、诊断与批量修复实战

简介:JPEG修复工具介绍代码包是一份适合图像处理工作者与软件开发者参考的源码资源,重点解决 JPEG 文件损坏、RAW 照片丢失恢复等常见问题。其中 JPEG-Repair 组件用于处理损坏的 JPEG 标头、无效标记以及坏扇区引起的读取异常,JpegDigger 组…

2026/10/11 4:57:28 阅读更多 →
Seata 四种事务模式详解:从 XA、AT、TCC 到 Saga

Seata 四种事务模式详解:从 XA、AT、TCC 到 Saga

背景知识分布式事务模式没有唯一标准分类,但按一致性强度和实现机制,通常可以归为四大类:强一致协调型:2PC、3PC、XA业务补偿型:TCC、Saga、AT(本地事务改进 2PC)消息最终一致型:本地…

2026/10/11 4:57:28 阅读更多 →
如何筛选西安物业洗地机厂家现货?自邦源头工厂采购避坑建议

如何筛选西安物业洗地机厂家现货?自邦源头工厂采购避坑建议

西安物业洗地机厂家现货筛选指南:自邦等品牌采购避坑与决策参考在寻找西安物业洗地机厂家现货的过程中,许多物业管理负责人和保洁承包商常面临信息不对称、参数复杂以及售后响应不确定等挑战。本文并非基于商业排名的官方推荐,而是结合公开的…

2026/10/11 4:57:28 阅读更多 →
CVE-2018-5767环境复现

CVE-2018-5767环境复现

欢迎来看我的博客原文εεε(~ ̄▽ ̄)~ CVE-2018-5767环境复现 | T0_D9 本文主要是根据《IoT从入门到入土》(3)--BooFuzz的简单使用,以CVE-2018-5767为例 | Cyberangels Blog 该篇文章进行复现,具体环境大都使用的为相同版本 因…

2026/10/11 4:57:28 阅读更多 →
AI 数字员工的 5 大工作场景:为什么很多企业只用了其中的 10%?

AI 数字员工的 5 大工作场景:为什么很多企业只用了其中的 10%?

AI 数字员工的 5 大工作场景:为什么很多企业只用了其中的 10%? 这是《AI数字员工系统设计与企业自动化实战》日志连载第 9 篇 作者:老高AI实战前沿 深度聚焦:企业AI落地实战、AI-Workforce、AI数字员工实战、企业Agent组织设计、企…

2026/10/11 4:57:28 阅读更多 →
你不知道的 Claude Code:架构、治理与工程实践

你不知道的 Claude Code:架构、治理与工程实践

写在前面:本文基于我近半年持续落地 Claude Code 的真实踩坑经验,前后两个账号每月投入 40 刀,算是交了不少学费。最开始我也只是把 Claude Code 当成普通聊天机器人来使用,但是很快就发现各种问题:会话上下文越来越杂…

2026/10/11 4:56:27 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →