发布时间:2026年6月21日
模型:LFM2.5-Embedding-350M / LFM2.5-ColBERT-350M
来源:Liquid AI
一、一句话定位
Liquid AI 发布了两款 350M 参数的检索模型,共享同一个 LFM2.5 双向编码器 backbone,但走了完全不同的技术路线——一个快(Embedding),一个准(ColBERT)。两者都支持 11 种语言跨语言检索,且都能在笔记本 CPU 上跑到 10ms 以内的延迟。
二、两种路线:你面对的不是"两个模型",而是"两种哲学"
Embedding(Dense Bi-Encoder)
原理:把查询和文档各自压成一个 1024 维的向量,用余弦相似度匹配。
优点:
- 索引极小(每文档 1 个向量)
- 查询延迟极低(7.3ms @ M4 Max)
- 适合大规模召回
缺点:
- 信息压缩损失大——整个文档的语义被"坍缩"成一个点
- 对细粒度匹配(如特定术语、数字、产品型号)不敏感
ColBERT(Late Interaction)
原理:查询和文档的每个 token 都生成 128 维向量,查询时通过 MaxSim 做 token 级细粒度匹配。
优点:
- 保留 token 级交互信息,匹配精度更高
- 天然适合做 reranker(无需建索引,直接对候选列表重排序)
- 对跨语言场景更友好(token 级对齐比句子级更容易)
缺点:
- 索引大(每文档 N 个向量,N=token 数)
- 查询延迟稍高(8.2ms 缓存文档 / 34.3ms 实时编码 @ M4 Max)
关键区别表
| 维度 | Embedding | ColBERT |
|---|---|---|
| 表示粒度 | 文档级(1 个向量) | Token 级(每 token 1 个向量) |
| 匹配方式 | 向量点积/余弦 | MaxSim(token 级最大相似度聚合) |
| 索引大小 | 极小 | 较大(但可接受) |
| 查询延迟 | 7.3ms | 8.2ms(缓存)/ 34.3ms(实时) |
| 最佳场景 | 大规模召回、低成本 | 高精度检索、Rerank |
| 跨语言 | 支持 | 支持(且更自然) |
三、架构:从因果解码器到双向编码器
LFM2.5 系列原本是因果语言模型(自回归生成),要做检索必须改成双向编码器:
- 因果注意力掩码 → 双向注意力掩码:每个 token 都能看到左右上下文
- 因果卷积 → 非因果卷积:局部信息混合不再只依赖"过去"
- 输出层改造:
- Embedding 版:CLS pooling → 1024 维向量
- ColBERT 版:保留每 token 的 128 维向量
backbone 结构:17 层 = 10 卷积 + 6 注意力 + 1 pooling/dense
四、训练:三阶段配方
两款模型共享同样的三阶段训练流程:
-
大规模对比预训练(英语)
- 用对比学习让模型学会"相关文档距离近、不相关距离远"
-
多语言/跨语言蒸馏
- 从一个更强的 teacher 模型蒸馏到 11 种语言
- Embedding 版比 ColBERT 版用了更多跨语言数据(因为 ColBERT 的 token 级交互本身就有跨语言优势)
-
难负例微调
- 挖掘"看起来相关但实际不相关"的 hard negatives
- 提升模型区分细粒度语义差异的能力
五、性能:小模型打败大模型
NanoBEIR 多语言检索(NDCG@10)
| 模型 | 类型 | 参数量 | 分数 |
|---|---|---|---|
| LFM2.5-ColBERT-350M | Late Interaction | 350M | 0.605 🥇 |
| LFM2.5-Embedding-350M | Dense | 350M | 0.577 🥈 |
| Qwen3-Embedding-0.6B | Dense | 600M | 0.556 |
| LFM2-ColBERT-350M | Late Interaction | 350M | 0.540 |
| GTE-Multilingual-Base | Dense | ? | 0.528 |
MKQA-11 跨语言 QA(Recall@20)
| 模型 | 分数 |
|---|---|
| LFM2.5-ColBERT-350M | 0.694 🥇 |
| LFM2.5-Embedding-350M | 0.691 🥈 |
| Qwen3-Embedding-0.6B | 0.638 |
| LFM2-ColBERT-350M | 0.646 |
关键结论:
- 350M 的 LFM2.5 击败了 600M 的 Qwen3-Embedding
- ColBERT 在检索精度上领先,但 Embedding 在跨语言 QA 上几乎追平(0.691 vs 0.694)
- 相比上一代 LFM2-ColBERT,新版从 0.540 → 0.605,提升显著
六、延迟与部署:真正的"边缘友好"
| 场景 | 延迟(M4 Max, FP16) |
|---|---|
| Embedding 查询(文档已缓存) | 7.3ms |
| ColBERT 查询+MaxSim(文档已缓存) | 8.2ms |
| ColBERT 查询+编码+MaxSim(文档未缓存) | 34.3ms |
| Embedding 查询(H100, FP16) | 1.5ms |
| ColBERT 查询(H100, FP16) | 1.0ms |
- GGUF 格式:支持 llama.cpp,可在 CPU/笔记本/边缘设备运行
- 文档长度:512 tokens(调优目标)
- 查询长度:32 tokens(ColBERT 上限)
七、实际选型指南
选 Embedding 的场景
- 索引成本敏感(百万级文档)
- 延迟极度敏感(<10ms 硬性要求)
- 先做大规模召回,再交给下游 reranker
- 资源受限的边缘设备
选 ColBERT 的场景
- 对准确率要求高(法律、医疗、技术支持)
- 需要 token 级细粒度匹配(产品型号、代码片段、特定术语)
- 直接做端到端检索(不打算加 reranker)
- 需要做 reranker(对已有召回结果重排序)
混合架构(推荐)
查询 → Embedding 快速召回 top-100 → ColBERT 精确 rerank top-10 → LLM 生成
这是生产环境最常见的架构:Embedding 负责"快速筛掉明显不相关的",ColBERT 负责"在候选里找到最精准的"。
八、关键洞察
- 小模型可以很强:350M 参数击败 600M,说明架构设计和训练配方比参数量更重要
- ColBERT 不是 Reranker 的替代品:它既可以独立检索,也可以做 reranker——"晚交互"架构的灵活性
- 跨语言是天然优势:token 级匹配比句子级更容易跨越语言边界("巴黎"和 "Paris"在 token 空间可能更接近)
- LFM2 backbone 的效率:Liquid AI 声称速度媲美 2.3 倍更小的模型,这来自 LFM2 的混合架构(卷积+注意力)
九、局限
- 短上下文:文档调优到 512 tokens,不适合长文档检索
- 查询长度限制:ColBERT 查询上限 32 tokens,长查询需要截断或分段
- 无重训练:当前不支持在自己的数据上继续训练(只能微调)
- 中文支持:虽然声称支持,但 11 语言列表里没有明确列出中文(原始 LFM2-ColBERT 支持中文,新版可能延续)
参考链接
- Liquid AI 博客:https://www.liquid.ai/blog/
- Hugging Face:https://huggingface.co/LiquidAI
- LFM2.5-Embedding-350M:https://huggingface.co/LiquidAI/LFM2.5-Embedding-350M
- LFM2.5-ColBERT-350M:https://huggingface.co/LiquidAI/LFM2.5-ColBERT-350M
- ColBERT 原始论文:https://arxiv.org/abs/2004.12832
#LiquidAI #LFM2.5 #Embedding #ColBERT #RAG #向量检索 #多语言检索 #跨语言搜索 #知识库 #AI搜索 #Agent #大模型应用 #开源模型 #本地部署 #LLM #小凯
讨论回复
加载中...正在加载回复...
推荐
智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。