Perplexity Research 和 turbopuffer 发布了 pplx-embed-v2-context-9b-preview,一个用于 RAG 管线的上下文嵌入模型。每个分块在嵌入时都能看到完整文档。真正的变化在于训练信号。模型学习的是检索答案以及验证答案所需的上下文,而不是单一的“黄金段落”。P

它能部署吗?可以,作为自托管的预览版。权重已在 Hugging Face 上以 MIT 许可证发布。加载需要 transformers>=5.4.0 并设置 trust_remote_code=True。它尚未上线 Perplexity API。模型卡指出,权重和接口可能会发生变化,且不保证向后兼容。

为什么黄金段落不够用

RAG 系统将长文档切分成多个分块。一个分块往往依赖于文档其他位置声明的实体、标题或定义。上下文模型通过延迟分块来解决这个问题。文档一次性编码,然后按分块进行池化。

然而,训练通常为每个查询标记一个黄金分块。其他所有分块都成为负样本,包括那些使答案可被验证的句子。Perplexity 还列出了另外 3 个问题。二元标签给出的信号过于粗糙。LLM 标注成本随数据集规模线性增长。标签还与某一种分块策略绑定。

训练是如何进行的

教师模型是 Perplexity 的查询感知上下文压缩模型。它同时读取查询和文档,并为每个 token 打分。

分块相关性:每个分块内部得分最高的 n 个 token 分数的均值。

软目标:对正样本文档内各分块做温度缩放的 softmax。其他文档中的分块得分为零。

蒸馏损失:教师分布与学生分布之间的前向 KL 散度。

文档损失:InfoNCE,其中文档的得分取其最佳分块的得分,灵感来自 ColBERT 的 MaxSim。

每个批次随机采样一种分块策略。分块之间用学习得到的 <|chunk_sep|> token 分隔,并进行均值池化。教师模型仅在训练时运行,因此推理不会增加延迟或存储。

该模型基于内部的 9B ColBERT 检索模型。一个线性投影输出 2048 维。Matryoshka 训练也支持 1024 维。量化感知训练实现了原生 int8 嵌入。此次发布是多个检查点的模型汤。训练使用了约 430 个数据集,覆盖 50 多种语言,未使用 ConTEB 数据。

交互式讲解器

pplx-embed-v2 上下文嵌入讲解器

ctx

pplx-embed-v2-context 如何检索答案及其证据

对 Perplexity 上下文嵌入预览的交互式演示:为什么孤立的文本块会失败,教师蒸馏如何取代单一金标段落,以及所报告的数字意味着什么。

01 为什么需要上下文

02 如何训练

03 报告的结果

04 存储计算

三个租约文件都包含句子“Monthly rent is …”。只有一个属于 5 Park Avenue。切换模式并运行检索。

查询:5 Park Avenue 的租约何时到期,当前租金是多少?

孤立句子 上下文式(后期分块)

运行检索

选择一个模式,然后按“运行检索”。

基于 Perplexity 博文中租约场景建模的示例。分数仅用于说明,并非模型输出。

一个上下文压缩模型充当教师。它为查询对每个 token 打分。这些分数按文本块进行池化(前 n 个 token 的均值),并转化为软目标,而不是独热金标标签。

文本块边界:

句子 2 句文本块

温度 0.25

动画演示

1 教师为 token 打分 2 每个文本块取前 n 均值 3 Softmax 目标 4 学生通过 KL 匹配

金标文本块标签(独热)

教师目标(软目标,来自 token 分数)

更改边界:相同的 token 分数无需重新标注即可重新聚合。这就是 Perplexity 所描述的“灵活文本块边界”特性。此处的 token 分数仅用于说明。

context-bench(2,099 个查询,38,894 篇文档,2,458,072 个句子文本块,穷举排序)。以下数字为 Perplexity 在 K = 10 时报告的结果。

pplx-embed-v2-context-9b-preview voyage-context-4(根据报告的差距推导)

重放

Voyage 的数值按 Perplexity 的数据减去所述差距(14.4 和 5.0 个百分点)计算。其他 Voyage 指标仅出现在 Perplexity 的图表中,此处未展示。

上下文嵌入为每个分块存储一个向量,与普通分块索引相同。成本取决于向量大小。Perplexity 报告称,在其分块检索套件上,1024 维 int8(1 KB)略优于 2048 维 float32(8 KB)的 voyage-context-4。

分块

100,000

1,000,000

2,458,072(context-bench)

10,000,000

100,000,000

1024 维2048 维

int8float32

0

向量存储(仅向量,非完整索引)

每个向量的字节数

&#8211;

对比 2048 维 float32

&#8211;

分块大小敏感性(64 至 512 token)

81.0% 至 79.9%

字节数 = 维度 x 每个值的字节数。敏感性为 74 个 MTEB 任务上的平均 nDCG@10,由 Perplexity 报告。

来源:Perplexity Research · 模型卡

由 Marktechpost 构建

context-bench:一个新基准测试

context-bench 由 turbopuffer 构建并私有持有,以限制训练污染。它包含 21 个领域、38,894 篇文档上的 2,099 条查询。句子分块产生 2,458,072 个分块。目标文档长度中位数约为 6,100 token。查询测试 12 项上下文能力,从代词消解到表格结构。Perplexity 称该模型是盲测提交的。

指标为 Document@K、Answer@K、Evidence Recall@K 和 All-Evidence@K。每个模型都与所有分块进行穷举排序,因此索引设置不起作用。

结果

context-bench 在 K = 10 时:45.5% 答案召回率,40.6% 证据召回率,31.1% 全证据召回率。

文档召回率:K = 1 时为 15.2%,K = 10 时为 61.6%。

对比 voyage-context-4:在 K = 10 时,答案召回率领先 14.4 个百分点,证据召回率领先 5.0 个百分点。

ConTEB:所示模型中平均 nDCG@10 最高。pplx-embed-context-v1-4B 在 NarrativeQA 上获胜,Nemotron-3-Embed-8B 在 COVID-QA 上获胜。

通用检索:在查询到分块任务上平均最佳。在查询到文档上略落后于 voyage-context-4。

存储:1024 维 int8(每个向量 1 KB)略优于 2048 维 float32(8 KB)的 voyage-context-4。

分块大小:在 64 至 512 token 之间,平均得分从 81.0% 变为 79.9%。

与最接近的竞品对比

Featurepplx-embed-v2-context-9b-previewvoyage-context-4pplx-embed-context-v1-4BNemotron-3-Embed-8BChunk embeddingsContextualContextualContextualIndependent per chunkAccessOpen weights, MITHosted API (Voyage, MongoDB Atlas)Open weights, MIT; Perplexity APIOpen weights, OpenMDW-1.1Parameters9B per blog (Hugging Face lists 8B)Not disclosed (MoE backbone)4BAbout 8BDimensions2048, 10242048, 1024, 512, 2562560 (Matryoshka)4096, sliceableQuantized outputNative int8int8, uint8, binary, ubinaryint8, binaryFloatContextEvaluated up to 32,768 tokens32K per request; 120K with auto-chunking32K32,768Auto-chunkingNoYesNoNoPriceSelf-host$0.12 per 1M tokens; first 200M freeSelf-host or APISelf-host

来源:Voyage 文档、上方链接的模型卡。核查于 2026 年 9 月 30 日。

关键要点

一个 token 级别的教师模型取代了单一的金标准 chunk 标签。

该模型在一个 chunk 索引中同时检索答案及其支撑证据。

context-bench Answer@10 为 45.5%,比 voyage-context-4 高出 14.4 个百分点。

MIT 开源权重今日发布;Perplexity API 访问仍在等待中。

查看技术细节和模型权重。所有功劳归于本项目的研究人员。另外,欢迎在 Twitter 上关注我们,别忘了加入我们拥有 150k+ 成员的 ML SubReddit 并订阅我们的 Newsletter。等等!你在用 telegram 吗?现在你也可以在 telegram 上加入我们了。

需要与我们合作推广你的 GitHub Repo 或 Hugging Face 页面或产品发布或网络研讨会等?联系我们

文章 Perplexity Releases pplx-embed-v2-context-9b-preview: A Contextual Embedding Model That Retrieves Answers and Their Supporting Evidence 首发于 MarkTechPost。