嵌入模型选型(Embedding Model Selection)
AI TERM术语词条Embedding Model Selection
术语释义
嵌入模型选型决定检索的上限:先按语言、领域与长度筛候选,再用自己的数据算命中率挑出最终那一个。
嵌入模型负责把文本变成向量,检索质量很大程度上在选模型这一步就定了。很多团队把精力花在调生成模型上,却沿用默认的嵌入模型,结果召回一直上不去。选型要看的维度比想象中多:语言覆盖、可处理的最大长度、向量维度、是否要求指令前缀,以及能不能本地部署。
选型怎么下手
- 先定语言与领域:中文语料优先选中文或多语言表现好的模型,专业领域要用领域数据实测。
- 看长度限制:超过模型上限的文本会被截断,长文档要么换模型要么先切分。
- 维度换成本:维度越高存储与检索越贵,高维不一定比低维效果好,要一起算账。
- 用自有数据评测:构造几十条查询与正确片段的对应关系,算命中率与排名,比公开榜单可靠。
- 换模型要重建索引:不同模型的向量空间不通用,替换后必须全量重算。
关键机制
嵌入模型把一段文本压缩成一个定长向量,训练目标是让语义相近的文本在向量空间里距离更近。检索时把查询也编码成向量,用余弦相似度或点积找最近的若干条。这个过程决定了两个特性:一是信息被压缩,长文本里的细节会被平均掉,所以长文档通常要切分成段落再编码;二是模型对输入格式敏感,有些模型要求查询与文档分别加不同的指令前缀,用错前缀会让相似度整体失真。
和相近概念的差别
- 与生成模型:生成模型负责组织答案,嵌入模型负责把候选材料捞出来,两者独立选型。
- 与关键词检索:关键词擅长精确匹配术语,嵌入擅长语义相近的表述,实际系统常把两者混合。
- 与重排序模型:重排序对召回的少量结果做精细打分,前提是召回阶段没有漏掉正确片段。
- 与向量数据库:数据库负责存储与近似最近邻搜索,不决定语义质量。
常见坑与限制
- 查询与文档要对称处理:用不同模型或不同前缀约定会让相似度失真,务必按模型要求处理。
- 公开榜单只能当门槛:榜单分数依赖它自己的评测集,与你的语料分布可能相差很远。
- 固化版本信息:把模型名称与版本写进索引元数据,否则后续混用会让检索结果莫名变差。
- 切分策略同样关键:切得太碎会丢上下文,切得太大又稀释语义,要和模型长度上限一起定。
选型的顺序建议是先用自有语料构造小规模评测集,再拿几个候选模型跑一遍命中率,最后才比较维度、部署方式与成本。先测再选,比先选再调便宜得多。