Splade_PP_en_v1项目介绍
项目概述
Splade_PP_en_v1是一个独立实现的SPLADE++模型,旨在为工业应用场景优化稀疏表示检索。该项目基于两项重要研究成果:Naver的"From Distillation to Hard Negative Sampling: Making Sparse Neural IR Models More Effective"论文和Google的SparseEmbed研究。
稀疏表示的优势
稀疏表示结合了传统词袋模型和神经网络密集表示的优点:
- 保持了词袋模型的高效性和可解释性
- 克服了词汇不匹配问题
- 实现了自动的查询和文档扩展
- 比密集表示更节省资源
项目特点
-
FLOPS优化:采用严格的FLOPS调度和token预算,文档长度限制为128,查询长度限制为24。
-
初始化权重:使用原始bert-base-uncased,无需特定语料库预训练。
-
性能表现:在ID数据上MRR@10达到37.22,OOD数据上达到48.7,检索延迟仅为47.27ms。
-
工业应用:证明SPLADE++模型适用于单CPU检索场景,打破了之前的认知。
-
模型分离:考虑到查询时推理延迟,项目提供独立的文档和查询模型。
技术细节
- 使用transformers库实现
- 支持文档扩展和稀疏表示
- 采用知识蒸馏技术
- 针对段落检索任务优化
应用场景
该模型特别适合需要平衡检索效果和效率的工业场景,如:
- 大规模文档检索系统
- 实时搜索应用
- 资源受限的检索环境
未来展望
项目团队计划进一步优化模型性能,并开发更多工具以支持在不同领域的应用。查询模型也将很快发布,以完善整个检索流程。
Splade_PP_en_v1项目展示了稀疏表示在信息检索领域的潜力,为构建高效可解释的检索系统提供了新的思路。