中文模型怎么选
中文检索场景常用 BGE、GTE、M3E、text2vec 等开源系列,维度从 512 到 1024 不等,也有托管接口可选。选型要同时看三件事:在自有语料上的检索效果、向量存储与计算成本、以及是否满足私有化部署要求。榜单分数只作初筛,最终以自建评测集的召回率为准。
常见模型
| 模型 | 维度 | 备注 |
|---|---|---|
| BAAI/bge-small-zh-v1.5 | 512 | 轻量,延迟与存储成本低 |
| BAAI/bge-base-zh-v1.5 | 768 | 常用平衡档 |
| BAAI/bge-large-zh-v1.5 | 1024 | 检索表现较好,资源占用更高 |
| shibing624/text2vec-base-chinese | 768 | 社区常用 |
| moka-ai/m3e-base | 768 | 适合中英混合语料 |
| Alibaba-NLP/gte-large-zh | 1024 | 检索向中文模型 |
选型维度
| 效果 | 以 C-MTEB 等榜单初筛,再用自有问题集测召回率 |
|---|---|
| 输入长度 | 多数中文检索模型在 512 token 量级,决定切片上限 |
| 存储成本 | 维度直接决定向量占用:1024 维比 512 维多一倍空间 |
| 部署条件 | 本地推理需要 GPU 或可接受的 CPU 吞吐;托管接口要考虑数据出域 |
选型步骤
- 先固定一套评测集:问题、正确答案所在切片、标准答案三段式
- 候选模型各跑一遍索引与检索,统计命中率与首位命中率
- 把延迟与显存占用一并记录,避免只看效果忽略可用性
- 中英混合语料优先测多语言表现,单中文语料不必为多语言能力付费
- 确定模型后锁版本号,升级必须配套全量重建索引
使用细节
- 非对称检索:短查询对长文档时,按模型卡要求给查询侧加提示前缀
- 归一化:开启归一化后可用内积替代余弦,减少一次除法运算
- 批大小:本地推理按显存压测后设定,过大容易触发显存溢出
- 长切片:超过模型输入上限的部分会被截断,切片长度要与之对齐
效果以 MTEB、C-MTEB 等榜单与自有评测集为准;BGE-zh v1.5 系列的推荐输入上限在 512 token 量级,切片长度要随之控制。
上线前要确认的事
- 模型权重路径与版本号写进配置,避免不同环境悄悄用了不同版本
- 确认推理设备与并发能力:本地模型在纯 CPU 上吞吐有限,要按在线峰值预估
- 把维度换算成实际存储:向量条数乘以维度乘以单精度字节数,再留索引开销
- 确认许可与商用条款,尤其是要把模型打进交付镜像的场景
- 留好回退路径:新模型效果不达预期时能迅速切回旧模型与旧索引