google/rax

Rax is a Learning-to-Rank library written in JAX.

解決的問題

Rax 是一個專為學習排序(LTR)問題設計的函式庫,其目標是根據搜尋查詢等上下文,優化文件或推薦項目等項目清單的相對順序。它提供處理與標準分類或回歸不同的排序特定目標所需的工具。

工作原理

基於 JAX 建構,Rax 提供一組純函數式的排序損失與指標實作。它允許使用者計算 NDCG 和 MRR 等指標,並應用 softmax 或成對邏輯損失等排序損失。它也包含專用的轉換,例如 approx_t12n,可將非可微分的排序指標轉換為可微分的損失,進而於 JAX 中實現梯度優化。

適用對象

此函式庫適用於在搜尋引擎、推薦系統、問答系統與對話系統等領域工作的開發人員與研究人員,這些領域中結果的順序至關重要。

主要特色

  • JAX 原生:完全相容 JAX 轉換,且為純函數式。
  • 排序專用工具:提供即用型的損失實作(例如 softmax_loss)與指標實作(例如 ndcg_metric)。
  • 可微分指標:能將非可微分指標轉換為可微分損失。
  • 廣泛應用:支援多種 LTR 應用,包括搜尋與推薦。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案