AI 基础入门
LLM 分词(Tokenization)详解
Token 是 LLM 处理的原子单位——不是完整单词,而是子词片段。理解 token 有助于编写更好的提示词并控制 API 成本。
TL;DR: Token 是 LLM 处理的原子单位——不是完整单词,而是子词片段。理解 token 有助于编写更好的提示词并控制 API 成本。
什么是 Token?
Token 是一段文字——英文中大约 3-4 个字符。"ChatGPT" 是 3 个 token:"Chat"、"G"、"PT"。像 "the" 这样的常见词是 1 个 token;生僻词可能被分割成多个。大多数 LLM 按 token 计费。
tokentokenizerBPE
为什么不直接用单词?
基于单词的分词在处理生僻词、拼写错误和不同语言时会遇到困难。子词分词(如 GPT 使用的字节对编码 BPE)通过构建常见字符序列词汇表来处理任何文本。
Byte-Pair EncodingBPEvocabularysubword
Token 与上下文窗口
每个 LLM 都有以 token 为单位的最大上下文窗口——GPT-4o 是 128K,Claude 3.5 Sonnet 是 200K。你的提示词和模型的回复都会消耗这个预算。
context windowcontext length128K200K
实用 Token 技巧
使用 OpenAIToolsHub Token 计数器工具在发送大型提示词前估算成本。经验法则:1,000 个 token ≈ 750 个英文单词。非英语文本(尤其是中日韩字符)通常每个字符约 1 个 token。