完整题目
在知识库增量更新过程中,若文本的 embedding 模型已升级,如何解决旧 embedding 与新模型之间的不一致性问题?
本文目录
原则:隔离不同向量空间
模型版本改变后,向量维度、尺度或几何关系都可能变化。除非模型经过明确的向后兼容训练并验证,否则不能把新查询向量与旧文档向量直接计算相似度,也不能把两版向量混入同一 ANN 索引。
推荐迁移流程
- 版本化:记录 embedding 模型、分词、归一化、维度和距离函数,索引按版本隔离。
- 影子重建:新写入可双写两版,后台按快照批量编码历史文档,并用变更日志补齐迁移期间的增量。
- 双读评估:同一批查询分别访问新旧索引,比较相关性、过滤正确性、延迟和成本,必要时小流量灰度。
- 原子切换与回滚:通过索引别名或路由切换,旧索引保留到观察期结束。
同时搜索两版索引只适合作为明确设计的过渡方案:每个查询必须由对应版本编码,跨空间原始分数需要按版本校准或按名次融合。
旧向量到新空间的映射或向后兼容训练可降低重算压力,但效果取决于配对数据和任务,不能假设一定有损或一定可替代重编码。迁移策略应按数据量、变更速率、算力和停机预算决定,而不是固定数量级阈值。验收应比较 Recall@K、NDCG/MRR、无结果率、P95 延迟和索引新鲜度。