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