一句话理解

Embedding 就是把文字、图片、用户、商品等信息,转换成一串数字向量,让模型可以用数学方式理解它们的语义关系。

也可以简单理解为:

Embedding = 语义坐标

就像地图上每个城市都有经纬度,Embedding 是把一句话、一个词、一个文档放到一个“语义地图”里。

北京 → [116.4, 39.9]
上海 → [121.5, 31.2]

Embedding 做的事情类似:

“买车”       → [0.21, -0.55, 0.73, ...]
“汽车报价”   → [0.24, -0.51, 0.70, ...]
“今天吃什么” → [-0.66, 0.12, -0.30, ...]

“买车”和“汽车报价”的向量更接近,说明它们语义更相关;“买车”和“今天吃什么”距离更远,说明语义差异更大。

为什么需要 Embedding?

因为大模型本质上只能计算数字,不能直接计算文字。

所以文字进入模型前,一般会经历两步:

文字
↓
Tokenization:把文字切成 token
↓
Embedding:把 token 变成向量
↓
Transformer:继续计算上下文关系
↓
输出结果

例如:

“我想买车”

先经过 Tokenization,变成 token:

[“我”, “想”, “买”, “车”]

或者在模型内部表现为 token id:

[1024, 5689, 2333, 998]

然后每个 token id 会被映射成一个向量: