8. 模型如何读写数据(Tokenizer 与 Token)

大模型并不能直接理解:

  • 中文
  • 英文
  • 图片
  • 字符串

模型真正处理的是:

数字(IDs)

因此:

所有文本都必须先转换成 Token(分词)。


1. 什么是 Token(分词)

模型处理文本的方法通常叫:

Tokenization(分词)

Tokenizer(分词器)会把文本切分成:

  • 单词
  • 子词
  • 字符
  • 符号

然后再映射成:

Token ID(数字编号)


2. 为什么 Tokenizer 很重要

对于 LLM 来说:

Tokenizer 决定了模型如何理解世界。

模型看到的不是:

复制代码
hello world

而是:

复制代码
[15496, 995]

这些数字。


3. 词表(Vocabulary)

所有 Token 的集合叫:

Vocabulary(词表)

例如:

  • GPT-3 大约有 5 万多个 Token
  • Llama、Qwen、DeepSeek 都有自己的词表

每个 Token 都对应一个唯一 ID。

例如:

Token ID
hello 15496
world 995

4. 模型如何处理文本(完整流程)

整个流程如下:

复制代码
graph LR

A[Text 文本] --> B[Tokenizer 分词器]

B --> C[Tokens Token IDs]

C --> D[LLM 模型]

D --> E[预测下一个 Token]

E --> F[Detokenizer 解码]

F --> G[生成文本]

5. 本质:文字 → 数字 → 概率 → 文字

模型本质上一直在做:

复制代码
文本
→ Token ID
→ 概率计算
→ 下一个 Token ID
→ 文本

6. 一个完整例子

例如输入:

复制代码
I love AI

第一步:Tokenizer 分词

可能变成:

复制代码
["I", " love", " AI"]

第二步:映射成 Token ID

复制代码
[40, 1842, 9552]

第三步:输入模型

模型开始预测:

复制代码
下一个 token 是什么?

例如预测:

复制代码
"!" 的概率最高

第四步:输出 Token

复制代码
[0]

第五步:解码成文本

最终输出:

复制代码
I love AI!

7. Tokenization 的问题

Tokenizer 并不总是"符合人类直觉"。


8. Strawberry 为什么数不清 r

经典问题:

复制代码
strawberry 中有几个 r?

人类很容易知道:

复制代码
3 个 r

但很多语言模型会答错。


9. 原因:Tokenizer 切分方式

因为模型可能把:

复制代码
strawberry

切分成:

复制代码
["straw", "berry"]

模型处理的是:

  • token
  • 而不是字符

因此它并不真正"看到":

复制代码
r r r

10. 不同 Tokenizer 的差异

不同模型使用不同分词器。

例如:

  • BERT
  • T5
  • GPT
  • DeepSeek
  • Qwen

它们:

  • 分词规则不同
  • 空格处理不同
  • 中文切分不同

示例:空格处理

GPT 系列常见:

复制代码
" hello"

和:

复制代码
"hello"

是不同 Token。

因为:

空格本身也是信息。


11. Tokenizer 的核心本质

Tokenizer 本质上是在做:

文本 → 数字映射

即:

复制代码
word → token id

例如:

单词 Token ID
cat 1024
dog 5321

12. Embedding(嵌入层)

Token ID 还不能直接输入模型。

因为模型只能处理:

向量(Vector)

因此需要:

Embedding Layer(嵌入层)


13. Embedding 的作用

Embedding 会把:

复制代码
Token ID

转换成:

复制代码
高维向量

例如:

复制代码
1024 → [0.12, -0.98, ...]

14. 完整输入流程

复制代码
graph LR

A[文本 Text]
--> B[Tokenizer]

B --> C[Token IDs]

C --> D[Embedding Layer]

D --> E[向量 Vectors]

E --> F[Transformer LLM]

F --> G[下一个 Token 概率]

15. 模型输出是什么

模型输出的并不是单词。

而是:

整个词表上的概率分布。

例如:

Token 概率
vanilla 0.7
chocolate 0.2
strawberry 0.1

16. Temperature(温度)

Temperature 用于控制:

输出的随机性。


17. 温度低:更确定

例如:

复制代码
temperature = 0

模型会选择:

概率最高的 Token。


示例

问题:

复制代码
冰淇淋有什么口味?

模型可能总是回答:

复制代码
香草味

因为它概率最高。


18. 温度高:更随机

例如:

复制代码
temperature = 2

模型采样更平均。

可能输出:

  • 香草
  • 草莓
  • 巧克力
  • 抹茶
  • 芒果

并且结果更多样化。


19. Token Sampling(采样)

模型预测完概率后,

需要一种方法:

从概率分布中选出下一个 Token。


20. Beam Search(束搜索)

Beam Search 是一种经典解码算法。

它会:

同时保留多个高概率候选路径。

而不是只选一个。


简化理解

不是:

复制代码
只走一条路

而是:

复制代码
同时探索多条可能路径

最后选择整体概率最高的句子。


21. Batch 与 Padding

训练时通常不是一次只输入一句话。

而是:

Batch(批量训练)

例如:

复制代码
句子1:I love AI
句子2:Hello

22. 问题:长度不同

模型要求:

同一个 Batch 长度一致。

因此需要:

Padding(填充)


23. Padding 示例

例如:

复制代码
句子1:
[I, love, AI]

句子2:
[Hello]

Padding 后:

复制代码
[I, love, AI]
[Hello, PAD, PAD]

这样长度统一:

复制代码
长度 = 3

24. Padding Token 的作用

PAD Token 本身:

  • 不代表真实内容
  • 只是占位符

训练时通常会:

Mask 掉 PAD 的损失计算。


25. 如何加载 Tokenizer

通常使用:

HuggingFace Transformers


示例代码

复制代码
from transformers import AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained(model_name)

26. 不同模型 Tokenizer 不兼容

例如:

  • BERT Tokenizer
  • T5 Tokenizer
  • DeepSeek Tokenizer

它们:

  • Token ID 不同
  • 词表不同
  • 空格规则不同

因此:

Tokenizer 和模型必须配套使用。


27. Tokenizer 是否需要重新训练

通常情况下:

后训练不会修改 Tokenizer。

因为:

  • Embedding 已经训练好了
  • 修改词表代价很大

因此:

大多数 SFT / RL 都直接复用原词表。


28. 什么情况下需要修改词表

如果进入专业领域:

例如:

  • 法律
  • 医学
  • 生物学

可能存在大量:

  • 专业术语
  • 长字符串
  • 特殊符号

这时可能需要:

扩展 Vocabulary(词表)。


29. 修改词表的影响

词表变化后:

Embedding Layer 也必须同步扩展。

因为:

复制代码
Embedding 大小
=
Vocabulary Size

例如:

复制代码
50,000 tokens
→ embedding matrix:
[50000 × hidden_size]

如果新增 Token:

复制代码
50,100 tokens

Embedding 层也必须变成:

复制代码
[50100 × hidden_size]

30. 一句话总结

Tokenizer:

决定模型如何理解文本。

Embedding:

把 Token 转换成向量。

LLM:

在 Token 概率空间中预测下一个 Token。

最终:

大模型本质上只是一个"预测下一个 Token 的概率机器"。

相关推荐
王莎莎-MinerU1 小时前
Agent 时代,科学数据 API 需要重新设计
大数据·前端·数据库·人工智能·个人开发
jghhh011 小时前
MATLAB蒙特卡罗方法求解伊辛模型
数据库·人工智能·matlab
superantwmhsxx1 小时前
Seedance 2.0 初探:从文生视频到可控创作的 AI 视频工作流
人工智能·计算机视觉·音视频
Wch1G0z8A1 小时前
Slickflow.AI 基于 Harness 工程规范的多智能体交互过程实现
人工智能·交互
企服AI产品测评局1 小时前
AI Agent实测:Agent Store现成应用如何重塑企业自动化?
运维·人工智能·ai·chatgpt·自动化
智塑未来1 小时前
如何选择RFID软硬件系统供应商:采购决策的关键判断维度
大数据·人工智能
w1wi1 小时前
【兼职】边学边练的AI网站
java·人工智能·ai·ai编程·ai写作
学地理的小胖砸1 小时前
【批量处理tiff文件生成jpg缩略图】
数据库·人工智能·python
暗夜猎手-大魔王1 小时前
转载--Hermes Agent 03 | 工具系统全解析:从注册到执行的完整链路
人工智能