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 应用,包括搜索和推荐。
相关
- 项目
- 项目
- 项目
- 项目
- 项目