跳到主内容
@wquguru
精选86MarkTechPost(RSS)模型发布/更新

Perplexity发布pplx-embed-v2:上下文嵌入模型

Perplexity Releases pplx-embed-v2-context-9b-preview: A Contextual Embedding Model That Retrieves Answers and Their Supporting Evidence

原文
发到 X
推荐理由

RAG场景下的关键能力突破,用软标签蒸馏替代传统硬标签的思路值得收藏,建议做检索系统的同学关注其工程落地效果。

Perplexity Research and turbopuffer have released pplx-embed-v2-context-9b-preview, a contextual embedding model for RAG pipelines. Each chunk is embedded with the full document in view. The real change is the training signal. The model learns to retrieve the answer along with the context needed to verify it, not one ‘gold passage.’ P

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

Is it deployable? Yes, as a self-hosted preview. Weights are on Hugging Face under the MIT license. Loading requires transformers>=5.4.0 with trust_remote_code=True. It is not yet on the Perplexity API. The model card notes that weights and interface may change without backward compatibility.

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

Why the gold passage falls short

为什么黄金段落存在不足

RAG systems split long documents into chunks. A chunk often depends on an entity, heading, or definition stated elsewhere. Contextual models address this with late chunking. The document is encoded in one pass, then pooled per chunk.

RAG 系统将长文档拆分为多个分块。一个分块通常依赖于在其他地方陈述的实体、标题或定义。上下文模型通过晚期分块(late chunking)来解决这个问题。文档经过一次编码,然后按分块进行池化。

Training, however, usually marks one gold chunk per query. Every other chunk becomes a negative, including the sentences that make the answer checkable. Perplexity lists 3 more problems. Binary labels give a coarse signal. LLM annotation cost grows linearly with dataset size. Labels are also tied to one chunking strategy.

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

How the training works

训练的工作原理

The teacher is Perplexity’s query-aware context compression model. It reads the query and document together and scores every token.

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

  • Chunk relevance: the mean of the top n token scores inside each chunk.
  • Soft target: a temperature-scaled softmax over chunks in the positive document. Chunks in other documents get zero.
  • Distillation loss: forward KL divergence between teacher and student distributions.
  • Document loss: InfoNCE, where a document scores as its best chunk, inspired by ColBERT’s MaxSim.
  • 分块相关性:每个分块内前 n 个 token 得分的平均值。
  • 软目标:对正样本文档中的分块应用温度缩放的 softmax。其他文档中的分块得分为零。
  • 蒸馏损失:教师分布与学生分布之间的前向 KL 散度。
  • 文档损失:InfoNCE,其中文档得分取其最佳分块的得分,灵感来自 ColBERT 的 MaxSim。

Each batch samples a random chunking strategy. Chunks are separated by a learned <|chunk_sep|> token and mean-pooled. The teacher runs only during training, so inference adds no latency or storage.

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

The model starts from an in-house 9B ColBERT retrieval model. A linear projection outputs 2048 dimensions. Matryoshka training also supports 1024 dimensions. Quantization-aware training enables native int8 embeddings. The release is a model soup of several checkpoints. Training used roughly 430 datasets covering over 50 languages, with no ConTEB data.

该模型基于内部开发的 9B ColBERT 检索模型初始化。线性投影输出 2048 维向量。Matryoshka 训练还支持 1024 维向量。量化感知训练支持原生 int8 嵌入。此次发布是多个检查点的模型汤(model soup)。训练使用了大约 430 个数据集,涵盖 50 多种语言,不包含 ConTEB 数据。

Interactive explainer

交互式解释器

pplx-embed-v2 Contextual Embedding Explainer

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

ctx

How pplx-embed-v2-context retrieves answers and their evidence

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

An interactive walkthrough of Perplexity’s contextual embedding preview: why isolated chunks fail, how teacher distillation replaces the single gold passage, and what the reported numbers mean.

Perplexity 上下文嵌入预览的交互式指南:为何孤立片段会失败、教师蒸馏如何取代单一黄金段落,以及报告数据的含义。

01Why context 02How it trains 03Reported results 04Storage math

01 为什么需要上下文 02 训练方式 03 报告结果 04 存储计算

Three lease files share the sentence “Monthly rent is …”. Only one belongs to 5 Park Avenue. Switch modes and run retrieval.

三份租赁文件都包含句子“月租金为……”。其中只有一份属于第五大道5号。切换模式并运行检索。

QUERYWhen does 5 Park Avenue’s lease end and what is the current rent?

查询:第五大道5号的租约何时到期?当前租金是多少?

Isolated sentencesContextual (late chunking)

孤立句子 vs. 上下文(晚期分块)

Run retrieval

运行检索

Pick a mode and press Run retrieval.

选择一种模式并按下“运行检索”。

Illustrative example modeled on the lease scenario in Perplexity’s post. Scores are for explanation only, not model outputs.

基于 Perplexity 帖子中租赁场景的示例。分数仅用于解释,并非模型输出。

A context compression model acts as teacher. It scores every token for the query. Those scores are pooled per chunk (mean of the top n tokens) and turned into a soft target, instead of a one-hot gold label.

一个上下文压缩模型充当教师角色。它对每个 token 针对查询进行打分。这些分数按分块聚合(取前 n 个 token 的平均值)并转化为软目标,而非独热编码的黄金标签。

Chunk boundaries:

分块边界:

Sentences2-sentence chunks

句子 2句一组

Temperature0.25 Animate

温度 0.25 动画

1 Teacher scores tokens2 Top-n mean per chunk3 Softmax target4 Student matches via KL

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

Gold-chunk label (one-hot)

黄金分块标签(独热编码)

Teacher target (soft, from token scores)

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

Change the boundaries: the same token scores re-aggregate without re-annotation. That is the “flexible chunk boundaries” property Perplexity describes. Token scores here are illustrative.

改变边界:相同的 token 分数在不重新标注的情况下重新聚合。这就是 Perplexity 所描述的“灵活分块边界”特性。此处的 token 分数仅为示意。

context-bench (2,099 queries, 38,894 documents, 2,458,072 sentence chunks, exhaustive ranking). Numbers below are as reported by Perplexity at K = 10.

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

pplx-embed-v2-context-9b-previewvoyage-context-4 (derived from reported gap)

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

Replay

回放

Voyage values are computed as Perplexity’s figure minus the stated gap (14.4 and 5.0 points). Other Voyage metrics appear only in Perplexity’s chart and are not shown here.

Voyage 的值计算方式为 Perplexity 的数值减去 stated gap(分别为 14.4 和 5.0 分)。其他 Voyage 指标仅出现在 Perplexity 的图表中,此处未显示。

Contextual embeddings store one vector per chunk, same as a normal chunk index. Cost depends on vector size. Perplexity reports that 1024-dim int8 (1 KB) slightly exceeds voyage-context-4 at 2048-dim float32 (8 KB) on its chunk-retrieval suite.

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

Chunks 100,000 1,000,000 2,458,072 (context-bench) 10,000,000 100,000,000

分块 100,000 1,000,000 2,458,072(context-bench) 10,000,000 100,000,000

1024-d2048-d

1024-d 2048-d

int8float32

int8 float32

0

vector storage (vectors only, not full index)

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

Bytes per vector

每个向量的字节数

–

vs 2048-d float32

vs 2048维 float32

–

Chunk-size sensitivity (64 to 512 tokens)

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

81.0% to 79.9%

从 81.0% 降至 79.9%

Bytes = dimensions x bytes per value. Sensitivity is mean nDCG@10 across 74 MTEB tasks, as reported by Perplexity.

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

Sources: Perplexity Research · Model card Built by Marktechpost

来源:Perplexity Research · 模型卡片 由 Marktechpost 构建

context-bench: a new benchmark

context-bench:一个新基准

context-bench is built and privately held by turbopuffer to limit training contamination. It holds 2,099 queries over 38,894 documents in 21 domains. Sentence chunking yields 2,458,072 chunks. Median target document length is roughly 6,100 tokens. Queries test 12 contextual capabilities, from pronoun resolution to table structure. Perplexity says the model was submitted blind.

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

Metrics are Document@K, Answer@K, Evidence Recall@K, and All-Evidence@K. Every model is ranked exhaustively against all chunks, so index settings play no role.

指标包括 Document@K、Answer@K、Evidence Recall@K 和 All-Evidence@K。每个模型都与所有分块进行穷尽式排名比较,因此索引设置不起作用。

Results

结果

  • context-bench at K = 10: 45.5% answer recall, 40.6% evidence recall, 31.1% all-evidence recall.
  • Document recall: 15.2% at K = 1 and 61.6% at K = 10.
  • vs voyage-context-4: ahead by 14.4 points on answer recall and 5.0 on evidence recall at K = 10.
  • ConTEB: highest average nDCG@10 among models shown. pplx-embed-context-v1-4B wins NarrativeQA, and Nemotron-3-Embed-8B wins COVID-QA.
  • General retrieval: best average on query-to-chunk tasks. Slightly behind voyage-context-4 on query-to-document.
  • Storage: 1024-dim int8 (1 KB per vector) slightly beats voyage-context-4 at 2048-dim float32 (8 KB).
  • Chunk size: average score moves from 81.0% to 79.9% between 64 and 512 tokens.
  • context-bench 在 K = 10 时:答案召回率 45.5%,证据召回率 40.6%,全部证据召回率 31.1%。
  • 文档召回率:K = 1 时为 15.2%,K = 10 时为 61.6%。
  • vs 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%。

Comparison with the closest competitors

与最接近的竞争者对比

Featurepplx-embed-v2-context-9b-previewvoyage-context-4pplx-embed-context-v1-4BNemotron-3-Embed-8B
Chunk embeddingsContextualContextualContextualIndependent per chunk
AccessOpen weights, MITHosted API (Voyage, MongoDB Atlas)Open weights, MIT; Perplexity APIOpen weights, OpenMDW-1.1
Parameters9B per blog (Hugging Face lists 8B)Not disclosed (MoE backbone)4BAbout 8B
Dimensions2048, 10242048, 1024, 512, 2562560 (Matryoshka)4096, sliceable
Quantized outputNative int8int8, uint8, binary, ubinaryint8, binaryFloat
ContextEvaluated up to 32,768 tokens32K per request; 120K with auto-chunking32K32,768
Auto-chunkingNoYesNoNo
PriceSelf-host$0.12 per 1M tokens; first 200M freeSelf-host or APISelf-host
特性pplx-embed-v2-context-9b-previewvoyage-context-4pplx-embed-context-v1-4BNemotron-3-Embed-8B
分块嵌入上下文相关上下文相关上下文相关每个分块独立
访问权限开源权重,MIT 协议托管 API(Voyage, MongoDB Atlas)开源权重,MIT 协议;Perplexity API开源权重,OpenMDW-1.1
参数量每博客 9B(Hugging Face 列为 8B)未披露(MoE 骨干网络)4B约 8B
维度2048, 10242048, 1024, 512, 2562560(Matryoshka)4096,可切片
量化输出原生 int8int8, uint8, binary, ubinaryint8, binaryFloat
上下文评估上限 32,768 个 token每次请求 32K;自动分块可达 120K32K32,768
自动分块否是否否
价格自托管$0.12 / 1M tokens;前 200M 免费自托管或 API自托管

Sources: Voyage docs, model cards linked above. Checked September 30, 2026.

来源:Voyage 文档、上述链接的模型卡片。核查日期为 2026 年 9 月 30 日。

Key Takeaways

关键要点

  • A token-level teacher replaces the single gold-chunk label.
  • The model retrieves answers plus supporting evidence in one chunk index.
  • context-bench Answer@10 is 45.5%, 14.4 points above voyage-context-4.
  • Open MIT weights ship today; Perplexity API access is still pending.
  • Token 级别的教师模型取代了单一的黄金块标签。
  • 模型在一个块索引中检索答案及支持性证据。
  • context-bench Answer@10 为 45.5%,比 voyage-context-4 高出 14.4 个百分点。
  • Open MIT 权重今日发布;Perplexity API 访问权限仍在等待中。

Check out the technical details and model weights. All credit goes to the researcher of this project. Also, feel free to follow us on Twitter and don’t forget to join our 150k+ML SubReddit and Subscribe to our Newsletter. Wait! are you on telegram? now you can join us on telegram as well.

查看技术细节和模型权重。所有功劳归于本项目的研究者。也欢迎在 Twitter 上关注我们,别忘了加入我们拥有 15 万+成员的 ML SubReddit,并订阅我们的新闻通讯。等等!你在 Telegram 上吗?现在你也可以加入我们的 Telegram 群组。

更进一步:量化金融体系

看懂新闻只是起点——沿量化金融路径,把它变成能交付的工程能力

进入量化体系 →

相似阅读

关联信息,但可能不是同一事件