实际上,向量数据库本身并没有规定必须是 768 维。向量数据库是一个通用的存储和检索系统,可以支持从几十维到几千维不等的任意向量维度。

768 维之所以在向量数据库的讨论、教程和实际应用中频繁出现,是因为主流的文本嵌入模型(Embedding Models)——特别是以 BERT-base 为代表的自然语言处理模型——默认输出的向量维度就是 768。

这个数字并不是随意决定的,而是由深度学习模型的设计逻辑和硬件计算效率共同决定的:

1. 多头注意力机制的数学对齐 在 Transformer 架构中,多头注意力机制(Multi-Head Attention)会将特征维度均分给多个“注意力头”。以经典的 BERT-base 模型为例,它设计了 12 个注意力头。为了让每个头分到的维度是规整的整数,总维度必须能被 12 整除。 768 除以 12 刚好等于 64。而 64 是 2 的幂次方($2^6$),这在计算机硬件(尤其是 GPU)进行矩阵乘法时,极有利于内存对齐和并行计算效率。

2. 表达能力与计算成本的平衡 在 2018 年 BERT 模型发布时,研究人员需要在模型的表达能力(语义丰富度)和计算资源之间寻找平衡。

  • 512 维(早期 Transformer 常用的维度)在面对复杂的通用语义时,表达能力略显不足。

  • 1024 维(如 BERT-large,16 个头×\times 64 维)虽然表达效果更好,但参数量和计算延迟大幅增加。

  • 768 维作为一个中间值,既能提供足够精确的语义表征,又将计算开销控制在当时硬件可承受的范围内。

3. 生态惯性与事实标准的形成 由于 BERT 在自然语言处理领域的开创性地位,后续大量微调模型(如用于句向量生成的 Sentence-BERT、RoBERTa 等)都继承了 768 维的架构。当开发者使用这些模型将文本转化为向量并存入向量数据库时,数据库中便充斥着 768 维的数据。这使得 768 维成为了语义搜索和检索增强生成(RAG)领域一个事实上的经典标准。

随着技术的发展,现在的向量数据库同样运行着许多其他维度的向量。例如,轻量级模型常用 384 维(如 all-MiniLM-L6-v2)以追求极速检索;而 OpenAI 的 text-embedding-ada-002text-embedding-3-small 默认输出 1536 维,大语言模型(LLM)的中间层甚至会达到 4096 维或更高。