熱門話題
#
Bonk 生態迷因幣展現強韌勢頭
#
有消息稱 Pump.fun 計劃 40 億估值發幣,引發市場猜測
#
Solana 新代幣發射平臺 Boop.Fun 風頭正勁
我終於明白了為什麼重排序器如此強大,一旦我掌握了雙編碼器和交叉編碼器之間的關鍵區別。
我進一步找到了一種使用統一架構結合它們的力量的方法。
讓我來解釋一下:
RAG 是 80% 的檢索和 20% 的生成。因此,如果 RAG 不工作,很可能是檢索問題。
這正是為什麼正確獲取你的檢索架構如此重要——這始於理解這兩種(實際上是三種)編碼方法。
(在閱讀時請參考下面的視覺圖)
1️⃣ 雙編碼器
雙編碼器(向量搜索的支柱)分別處理查詢和文檔。
- 文檔嵌入是預先計算的
- 查詢在搜索時進行嵌入
這使得雙編碼器非常適合初始檢索:
- 極其快速
- 可擴展
- 缺少重要的上下文信息
2️⃣ 交叉編碼器
交叉編碼器採用完全不同的重排序方法。
它們將查詢和每個文檔作為一個單元進行處理。
- 將查詢與文檔結合([CLS] 查詢 [SEP] 文檔 [SEP])
- 一起通過模型運行以實現完全的交叉注意
這使得交叉編碼器非常適合第二階段:
- 捕捉語義關係以提高準確性
- 但對於大型集合來說速度較慢且資源消耗大
現在,如果我們能結合兩者的優點呢!
3️⃣ ColBERT
ColBERT 將交叉編碼器的力量與雙編碼器的可擴展性結合在一起。
- 分別編碼查詢和文檔
- 創建交互矩陣,計算所有查詢-文檔令牌對之間的相似性分數
- 對每個查詢令牌在文檔令牌中取最大分數
- 將最大分數相加以獲得最終匹配分數
_____
這就是總結!
如果你覺得這很有啟發性,請與你的網絡分享。
找到我 → @akshay_pachaar ✔️
獲取更多關於 LLM、AI 代理和機器學習的見解和教程!

46.68K
熱門
排行
收藏