lightonai/pylate

Late Interaction Models Training & Retrieval

解决的问题

PyLate 简化了训练、部署和使用后期交互模型(特别是 ColBERT)的过程,这些模型通常需要复杂的设置来进行微调和高效检索。它提供了一个统一的库,可以从大多数预训练语言模型构建 ColBERT 模型,并优化从训练到高速搜索的工作流程。

工作原理

PyLate 基于 Sentence Transformers 构建,并集成了多个专用组件:

  • 训练:支持对比学习(可选 GradCache 以处理大批次)以及从更强的教师模型进行知识蒸馏。
  • 索引:利用 FastPLAID、WARP 和 TACHIOM 等高效后端压缩 token 向量,实现亚 200ms 延迟的检索。
  • 检索与重排序:提供工具将查询和文档编码为 token 级嵌入,并执行全索引搜索或对少量文档进行直接重排序。

适用人群

希望利用后期交互架构实现交叉编码器的精度与双编码器的速度的开发者和研究人员,专注于信息检索(IR)和 RAG 流水线。

主要亮点

  • 灵活训练:支持单 GPU 和多 GPU 微调,采用对比损失和蒸馏损失。
  • 广泛模型支持:可将大多数预训练语言模型转换为 ColBERT 风格的后期交互模型。
  • 高效搜索:集成多个高性能索引后端(PLAID、WARP、TACHIOM),实现可扩展的检索。
  • Hugging Face 集成:无缝对接 Hugging Face Datasets,支持三元组和蒸馏训练。

相关

  • 项目
  • 项目
  • 项目
  • Dispatch
  • Dispatch