训练 Vela Embedding 和 Reranker
使用 Vela Embedding 高效找到相关文档,再用 Vela Reranker 改善少量候选的排序。两者均从共享的 Vela Encoder适配而来,并支持选择编码器深度和输出维度。
直接使用已发布模型,请参阅嵌入和重排序。
Embedding:双编码器
Embedding 分别将查询和文档编码为归一化向量。预先计算文档向量,再用余弦相似度或点积与查询比较。
使用查询与正例文档,以及有效的负例训练。如果应用还需要比较请求、对相关文本分组或识别重复提问,可以加入语义相似度或释义样本。覆盖索引实际使用的语言和领域。
Reranker:交叉编码器
Reranker 联合读取查询和候选文档,输出相关性分数。它用于检索系统已返回的候选。
训练时提供完整候选列表和相关性标注。从检索系统挖掘难负例,有助于区分看似相关但不正确的结果。未标注相关性的文档应与已确认负例分开。分数用于排序,不代表文档正确的概率。
选择深度、维度和上下文
| 设置 | 可选值 | 权衡 |
|---|---|---|
| 编码器深度 | 3、6、11、22 层 | 更少层数减少编码器计算 |
| 维度 | 64、128、256、512、768 | 更小的嵌入向量降低索引存储和比较成本 |
| 输入上限 | 最多 32,768 tokens | 更长输入需要更多内存和时间 |
训练会监督全部 20 种深度与维度组合。Reranker 为每种组合提供已训练的评分 head;降低维度不会跳过编码器层。评测时选择实际准备部署的组合。
Embedding 的查询和索引文档必须使用相同模型 revision、深度和维度。改变这些设置后重建索引。Reranker 的预算包含查询、文档和特殊 tokens 的总长度。