Embedding

别名:嵌入 / 词向量

把 token ID 映射成连续向量,让语义关系可以用距离和方向表达。

更新于 2026/11/08
表示学习向量基础

一句话定义

Embedding 是一张可训练的查找表:每个 token ID 对应一个固定维度的向量,把离散符号变成连续表示。

它解决什么问题

独热编码里每个词都是互不相干的坐标轴,模型无法表达「猫」和「狗」比「猫」和「汽车」更接近。Embedding 把 token 放进一个稠密向量空间,让语义相近的片段在空间中靠近,方向也可以承载类比关系。这种接近不是人工标注的,而是从共现与上下文中学习出来的。

关键机制

  • 查表:输入 token ID,取出对应行向量,维度常见为 768、1024、4096 等。
  • 联合训练:向量不是人工设计的,而是在预训练中随梯度一起更新。
  • 权重共享:不少模型让输入 Embedding 与输出 softmax 层共享权重,减少参数量。
  • 位置信息:Transformer 还需要额外的位置编码或 RoPE,Embedding 本身不包含顺序。

相同的 token 在不同上下文里会得到相同的初始向量,真正让表示随语境变化的是后续的 Attention 层。

Embedding:文本经编码器得到向量,语义相近的文本更接近

常见误区

  • Embedding 不是「模型理解了词义」,它只是可优化的初始表示。
  • 两个向量余弦相似度高,不代表它们在所有任务上都可互换。
  • 检索用的向量模型和生成模型的输入 Embedding 通常不是同一套东西。

用在哪里

  • 语义检索、聚类、去重、推荐和 RAG 的召回阶段。
  • 作为生成模型的输入表示;它不是知识库,也不直接产出答案。
  • 做语义检索时,文档和 query 要用同一套向量模型;维度不是越高越好,受训练数据和任务约束。

相关概念

  • Tokenization:Embedding 的输入来源。
  • Transformer:Embedding 之后的堆叠网络。
  • RAG:用向量检索把外部知识送进模型。