← 返回

什么是 Token

Token 是 LLM 处理文本的基本单位。你可以把它理解成"词的碎片"。

如何分词?

LLM 不会直接处理字符,而是把文本切分成 token。例如:

输入: "Hello world"
Tokens: ["Hello", " world"]
输入: "Hello world"
Tokens: ["Hello", " wor", "ld"]

同一个词在不同模型中可能被切分方式不同,取决于训练时使用的分词器。

常见分词器

分词器 特点 使用模型
BPE 字节对编码,高效 GPT-2, GPT-3, RoBERTa
WordPiece 子词单元 BERT
Unigram 基于语言模型 T5, ALBERT
SentencePiece 语言无关 Llama, Qwen

Token 与汉字

中文通常一个汉字 ≈ 1-2 个 token,英文平均 1 个词 ≈ 1.3 个 token。

"我爱人工智能" → 5 tokens
"Artificial Intelligence" → 2 tokens

特殊 Token

每个模型都有一些特殊用途的 token:

为什么重要?

API 按 token 计费,模型有上下文长度限制(如 128K tokens)。理解 token 帮助你:

实用技巧

减少 Token 消耗:

估算规则:

实用工具

代码示例

import tiktoken

# GPT-4 的分词器
enc = tiktoken.encoding_for_model("gpt-4")

text = "Hello, 世界!"
tokens = enc.encode(text)
print(f"Token 数量: {len(tokens)}")
print(f"Tokens: {tokens}")
print(f"解码: {enc.decode(tokens)}")