AI专业术语
MRL
Matryoshka Representation Learning
套娃表示学习 · 一个嵌入,任意维度
NLP模型训练模型推理
MRL
- 定义
- MRL(Matryoshka Representation Learning)是AI领域的专业术语。MRL 让嵌入模型在训练时就把最重要的信息塞进向量的前几维,使用时可以按需截断维度而几乎不损失语义。
最后更新:2026-03-29
什么是MRL?
MRL 让嵌入模型在训练时就把最重要的信息塞进向量的前几维,使用时可以按需截断维度而几乎不损失语义。OpenAI 的 text-embedding-3 系列正是靠 MRL 实现了「同一模型输出不同维度嵌入」的能力,用户可以用更短的向量换取更快的检索速度和更低的存储成本。
- 核心思想:强制模型把关键信息编码在向量的前 N 维
- OpenAI text-embedding-3 系列的底层训练技术
- 向量检索延迟最高可降低 80%,精度损失极小
MRL详解
MRL 由 Kusupati 等人在 NeurIPS 2022 上提出。传统嵌入模型输出固定维度(如 1536 维),无法灵活适配不同算力和存储预算。MRL 在训练时对多个前缀长度同时计算损失,迫使模型将最具区分力的语义信息集中在向量前部。推理时只需截取前 d 维即可得到有效表示,无需重新训练。这一特性被 OpenAI 用于 text-embedding-3-small/large,允许开发者在 256 到 3072 维之间自由选择。实际应用中,先用低维向量做粗筛、再用全维向量做精排的「漏斗检索」策略,可在几乎不损失召回率的前提下大幅降低计算开销。
公式提示
训练损失 = Σ L(前 d_i 维的嵌入),d_i ∈ {8, 16, 32, …, D};推理时截取前 d 维即可。
MRL的应用场景
正式定义
一种表示学习训练范式,使单个嵌入模型产出的向量可在不同维度截断后仍保持有效语义表示。
应用场景
- 大规模向量检索中降低存储和延迟成本
- 多级漏斗检索:低维粗筛 + 全维精排
- 边缘设备上部署轻量嵌入
常见误区
- MRL 不是压缩算法,而是一种训练策略——推理时无额外计算开销
- 截断维度越多精度越低,不是「随便截都一样好」
实际案例
📌 OpenAI text-embedding-3-large 弹性维度
该模型默认输出 3072 维,但开发者可指定 256 或 1024 维。Supabase 实测显示,将维度从 3072 降至 256 后,检索速度提升数倍,召回率仅下降约 2%。
MRL的参考来源
- 论文Matryoshka Representation LearningKusupati et al. · 2022-05
- 社区
关于MRL的常见问题
- MRL 和量化压缩有什么区别
- 量化是降低每个维度的数值精度(如 float32→int8),MRL 是减少维度数量。两者可叠加使用,进一步压缩向量体积。
- 哪些模型支持 MRL
- OpenAI text-embedding-3 系列、Nomic Embed、部分 Sentence Transformers 模型已原生支持 MRL,可直接指定输出维度。