一句话定义:嵌入维度(AI 词典:Embedding">Embedding Dimension)指模型把一段文本、一张图片转换成向量后,这个向量里包含多少个数字。768 维,就是用 768 个小数排成一队来代表“苹果”这个词。
打个比方:给一道菜写评语,你可以只打 3 项分(咸、甜、辣),也可以列 768 项(从锅气到摆盘的每个细节)。维度就是这张评分表的项数。项数少,两道差别很大的菜很容易被打成同分;项数多,区分得细,但填表的成本也上去了。而且这些项之间往往并不独立:第 300 项和第 512 项可能高度相关,真正提供的新信息远少于名字上的那个数字。
那 768、1024、3072 差在哪?差在能装下多少可区分的方向。维度越高,理论上能表达越细腻的语义差别,也能塞下更多概念而不至于互相挤占。但高维有个反直觉之处:维度越高,空间越空旷,任意两个随机向量的距离会趋于接近,也就是常说的“维度灾难”。所以从 768 提到 3072,效果提升往往远小于数字上的四倍,某些任务上甚至因为训练不充分而变差。
更现实的是成本。向量条数不变时,存储和内存基本随维度线性增长:100 万条向量,768 维按单精度浮点估算约 3 GB,3072 维约 12 GB;向量库的索引构建、内存驻留、相似度计算也跟着涨。检索延迟和机器开销,最后都会回到账单上。
几个容易混淆的邻居:
| 概念 | 说的是什么 | 常见误解 |
|---|---|---|
| 嵌入维度 | 一条向量的“宽度” | 越大越聪明 |
| 向量条数 | 库里存了多少条向量 | 和维度混为一谈 |
| 模型参数量 | 模型本身的体量 | 和输出长度画等号 |
| 上下文长度 | 一次能看多少 token | 以为和维度相关 |
还有两点值得注意。嵌入维度不等于模型的隐藏层维度,有的模型会额外做一层投影。也有模型采用“套娃式”表示(Matryoshka Representation Learning),训练时就让前若干维单独可用,你可以直接截断到 256 维而几乎不掉点,这在省成本上很实用。
对从业者,三条实际建议:选型别只盯着维度数字,要看你自己的业务数据上的检索评测结果;换嵌入模型等于换坐标系,旧索引必须重建,维度对不上会直接报错;先算存储和延迟,再谈精度,降维和量化常常是性价比最高的一步。
对普通人:维度就是 AI 描述一件事时用了多少个数字。数字多不等于理解深,就像评分表长不等于评委懂菜。具体模型的维度取值,以官方文档为准。
