Skip to content

Token 与 Embedding 极简一问一答

定位| Token 与 Embedding 一分钟速答页。每章固定 10 题,只保留结论、机制、边界与验证关键词;单个回答控制在 10~60 秒。

1. 怎么使用

本页重点| L1 概念 → L2 边界 → L3 原理 → L4 实现 → L5 工程 → L6 架构 → L7 复盘 → 误区、验证、证据强化。不会展开时,再进入正式主题或专项题库。

图:Token 与 Embedding 十题极简脑图

替代文本: Token 与 Embedding从 L1 概念和 L2 边界,依次进入 L3 原理、L4 实现、L5 工程、L6 架构与 L7 项目复盘,再用误区、最小自测和证据边界三题强化。

图表加载中…

读图结论: 掌握 Token 与 Embedding 不能停在定义;先顺着七层链路说清机制与工程,再用误区、自测和证据边界确认没有虚假掌握。

2. 极简一问一答

Q001|Token、Tokenizer、Vocabulary 和 Embedding 分别是什么?

Token 是 Tokenizer 规则下的离散符号,Tokenizer 负责文本与 Token/ID 的转换,Vocabulary 保存 Token 到整数 ID 的映射,Token Embedding 再从可训练矩阵中按 ID 查出连续向量。它们依次解决“怎么切、怎么编号、怎样进入神经网络计算”。

Q002|为什么常用子词 Tokenization,BPE 与 Unigram 有何不同?

整词词表容易过大且仍有生僻词,纯字符覆盖广但序列较长,子词在开放词表、参数量和序列长度之间折中。BPE 通过高频相邻符号合并学习规则,Unigram 从候选子词概率模型中选择切分;固定配置并关闭采样时生产编码通常确定,显式启用 Subword Sampling 或 BPE Dropout 时可以随机。

Q003|Token、Hidden State 和 Sentence Embedding 如何产生与比较?

Token Embedding 是按 Token ID 查出的上下文无关初始向量;Hidden State 是经过模型后依赖上下文的位置表示;Sentence Embedding 可由选定 Hidden State 池化得到,生产检索模型通常还经过对比学习或检索目标训练。给定有效位掩码 m_t,Masked Mean 为 s=Σ_t m_t h_t / max(Σ_t m_t,1);对非零向量 u,v,余弦相似度为 uᵀv/(||u||·||v||)。直接平均输入 Token Embedding 或通用 Hidden State 只能作为待评测基线,不能预设适合语义检索。

Q004|input_ids 如何变成 Transformer 输入?

input_ids∈{0,…,V-1}^{B×n}E∈R^{V×d} 查表得到 X∈R^{B×n×d},再按模型架构加入或融合位置表示;attention_mask 通常是 [B,n],用于阻止 Padding 进入有效注意力或池化。Embedding 参数量为 Vd,ID 必须为整数且与词表、特殊 Token 和模型权重版本一致。

Q005|线上输入或召回质量突然下降,如何排查 Tokenizer 链路?

我会先锁定模型、Tokenizer、词表、特殊 Token、规范化与索引版本,重放固定文本比较 Token ID、原长度、截断方向、Mask 和最终向量,再按语言、字符类型和长度观察分布。若同一文本随 Padding 长度变化,应检查池化是否正确应用 attention_mask;若 ID 一致,再转查 Embedding、池化、归一化和索引。

Q006|Tokenizer、模型和向量索引如何共同版本化?

发布契约应绑定 model_id、Tokenizer/词表与规范化配置哈希、维度、池化、归一化、最大长度和索引版本;新模型必须构建独立索引,用同一标注集验证后双路/灰度切流,并保留原子回退。查询编码只允许访问兼容索引,不能把新旧向量增量混写到同一空间。

Q007|如何设计内部技术文档语义检索?

这是源文档中的示例项目:文档侧保留 ID、版本、章节、租户与 ACL 元数据,使用目标 Embedding 模型的固定 Tokenizer 控制长度并按语义边界切块,再以固定池化和归一化建立版本化索引。检索必须在候选内容进入重排模型、LLM 或响应前执行服务端权限约束;硬租户边界优先采用独立索引或检索前过滤,避免仅在最终结果后置过滤造成泄漏或召回饥饿。查询侧使用同一编码契约并返回原文引用;仓库没有实际索引和评测结果,因此不能声称 Recall、延迟或业务收益。

Q008|这个专题最常见的误区是什么?

常见误区有三类:把 Token 当固定单词,或把 Tokenizer 说成直接生成语义向量;把位置编码当 Tokenizer 输出,池化时计入 Padding,或把 Token Embedding 等同 Sentence Embedding;只改模型名、混写新旧向量,或认为相同维度就代表同一向量空间。

Q009|怎样做最小自测?

最小自测分三步:打印一批文本的 input_ids、Mask 和 [B,n,d] 输出形状;用同一短句比较不同 Padding 长度下的 Masked Pooling 结果;分别解释 Token Embedding、Hidden State 和 Sentence Embedding。

Q010|回答这个专题时,证据边界是什么?

Token 数、最大长度和 Tokenizer 行为必须以目标模型实际配置为准,不能用字符数猜测。

3. 总结

一句话记忆: Token 是 Tokenizer 规则下的离散符号,Tokenizer 负责文本与 Token/ID 的转换,Vocabulary 保存 Token 到整数 ID 的映射,Token Embedding 再从可训练矩阵中按 ID 查出连续向量。

  • Token 是 Tokenizer 规则下的离散符号,Tokenizer 负责文本与 Token/ID 的转换,Vocabulary 保存 Token 到整数 ID 的映射,Token Embedding 再从可训练矩阵中按 ID 查出连续向量。
  • 我会先锁定模型、Tokenizer、词表、特殊 Token、规范化与索引版本,重放固定文本比较 Token ID、原长度、截断方向、Mask 和最终向量,再按语言、字符类型和长度观察分布。
  • 常见误区有三类:把 Token 当固定单词,或把 Tokenizer 说成直接生成语义向量。
  • Token 数、最大长度和 Tokenizer 行为必须以目标模型实际配置为准,不能用字符数猜测。