给大模型外挂知识库的时候,绝大多数工程事故都不是模型不会答,而是检索阶段就送错了切片。一段抽离了主语的租约金额、一条缺少前置免责声明的条款,大模型哪怕推理能力再强,也只能断章取义。Perplexity Research 与向量基础设施厂商 turbopuffer 联合开源的 pplx-embed-v2-context-9b-preview,试图在检索的第一公里扭转这种局面。

该模型目前已按 MIT 协议开源在 Hugging Face,本地加载需要 transformers>=5.4.0 并开启 trust_remote_code=True。虽然 Perplexity 官方 API 暂未上线该端点,且声明当前权重与接口属于预览版、后续可能不保持向后兼容,但其核心训练逻辑展现了一种跳出常规的工程取舍。

检索范式对比:单一切片与证据链蒸馏 传统 RAG:单黄金切片匹配 • 训练目标:非 0 即 1 的硬标签(One-hot) • 语义割裂:仅命中含答案短句,丢失前置定义 • 负例误伤:支撑验证的证据块被判为负样本 后果:生成端极易断章取义并引发事实幻觉 pplx-embed-v2:证据链软分布 • 训练目标:Token 级 Teacher 给出软概率分布 • 上下文整编:文档全貌下切片,保留代词归属 • 证据联动:单次检索同时召回答案与验证上下文 收益:单切片单稠密向量,无需在线多向量交互

蒸馏 Token:把证据链压进单个向量

长文档切分是向量检索的常态,但切分往往会粉碎上下文。虽然业内此前提出了整篇编码再池化的 Late Chunking 思路,但监督信号通常依然是二元的:只有包含最终答案的单一切片算正例,其他所有切片一律按负例处理。这直接导致负责解释背景、限定条件和提供佐证的上下文切片在训练中受到抑制。

模型通过嵌套降维与量化,将检索向量压缩至1KB(剖面示意)
模型通过嵌套降维与量化,将检索向量压缩至1KB(剖面示意)

Perplexity 的解法不是在推理阶段加装臃肿的交互结构,而是把交互能力留在训练期。模型底层基于内部的 9B ColBERT 检索底盘开发,实际开源权重规整为 8B 参数。在训练时,官方使用自研的查询感知上下文压缩模型担任 Teacher,通读查询与整篇文档并为每一个 Token 打分。切片相关度则由切片内得分最高的前 n 个 Token 均值决定,再经过带温度系数的 Softmax 转化为软标签分布。

Student 模型通过前向 KL 散度拟合 Teacher 分布,并辅以受到 ColBERT MaxSim 启发的 InfoNCE 文档损失。这套机制训练使用了覆盖超过 50 种语言的约 430 个公开与内部数据集,且未掺入评测基准数据。更关键的是,推理期完全不需要 Teacher 介入,也不需要部署学术界延迟偏高的多向量晚期交互(Late Interaction),每个 Chunk 最终依旧对应单个稠密向量。

向量维度与存储开销也做了收敛设计。该模型原生输出 2048 维,通过 Matryoshka 嵌套表示支持降维至 1024 维。配合原生 INT8 量化,1024 维向量单条存储占用仅约 1 KB,2048 维约为 2 KB。

把证明过程压进向量检索,本质上是用昂贵的离线计算置换在线确定性。

context-bench 评测与隐蔽的工程门槛

为了验证同时召回答案与证据的能力,turbopuffer 设立了私有基准 context-bench,涵盖 21 个领域的 2,099 个查询、38,894 篇文档以及 2,458,072 个句子切片,文档长度中位数约为 6,100 个 Token。由于该基准闭源维护,评测采取全量切片硬排,规避了索引算法对分数的干扰。

专用编码接口彼此分立,尚未兼容主流推理部署框架
专用编码接口彼此分立,尚未兼容主流推理部署框架
context-bench 核心检索指标与存储规格 45.5% Answer@10 召回 超 Voyage 14.4 个点 40.6% Evidence@10 召回 超 Voyage 5.0 个点 1 KB 1024维 INT8 体积 略胜 8KB FP32 表现 8B/9B 编码器底座规模 显存与索引吞吐挑战

在 K=10 时,pplx-embed-v2 取得 45.5% 的答案召回率与 40.6% 的证据召回率,完整证据链召回率为 31.1%,Document@10 为 61.6%(Document@1 为 15.2%)。Perplexity 公布的对比显示,其在切片检索测试中,以 1024 维 INT8 的极小体积微弱胜过了 2048 维 Float32 的 voyage-context-4。

但在亮眼数字之下,真实的工程落地并不轻松。模型在输入结构上要求严格按顺序嵌套切片数组,文档与查询必须分别调用 encode() 与 encode_queries(),完全不兼容传统平铺纯文本的嵌入接口。同时,主流推理生态尚未跟进这一范式,Hugging Face 的 Text Embeddings Inference(TEI)至今仍挂着关于专用上下文嵌入端点的未决议题 Issue #866。


算力账本:用离线重索引买在线确定性

Perplexity 常被调侃为只是搜索聚合的前端包装层,但这次底层模型的演进说明,团队正在试图掌握 RAG 基础设施的定价权。

文档改动一字即需全篇重编码,带来沉重的全量计算账单
文档改动一字即需全篇重编码,带来沉重的全量计算账单

长文本生成模型的上下文窗口动辄几十万 Token,但调用成本和注意力衰减问题并未彻底解决。把信息验证工作前置到检索层,通过 1KB 的量化向量同时捞出事实与其背后的逻辑链,能大幅减轻生成端的幻觉压力与重排模型的推理负荷。

  • 风险.8B/9B 级别的编码器在离线吞吐上极为沉重,且由于整篇联合编码机制,只要文档局部修改一个字,就必须全篇重新切片与重新编码,在动态企业知识库下会带来沉重的增量计算税。

这项技术将多向量重排的精度蒸馏进了单向量存储中,路线选择足够务实。但对于广大企业工程团队而言,在享受轻量向量存储的红利之前,先得算清楚冷启动建库与全量重索引的显卡账单。