CLAX: Fast and Flexible Neural Click Models in JAX
Philipp Hager, Onno Zoeter, Maarten de Rijke
TL;DR
CLAX addresses the scalability gap in training classic probabilistic graphical model (PGM) click models by replacing EM with direct gradient-based optimization of the marginal log-likelihood in a JAX-based, modular framework. It demonstrates substantial speedups and scalable training on datasets with billions of sessions, while supporting embeddings, neural modules, and mixture models that can surpass traditional two-tower baselines in ranking. The work provides a comprehensive API, numerical-stability techniques, and embedding-compression strategies to enable end-to-end optimization at scale. Overall, CLAX delivers a practical, extensible tool for practitioners and researchers to develop and deploy advanced, interpretable click models in large-scale information retrieval settings.
Abstract
CLAX is a JAX-based library that implements classic click models using modern gradient-based optimization. While neural click models have emerged over the past decade, complex click models based on probabilistic graphical models (PGMs) have not systematically adopted gradient-based optimization, preventing practitioners from leveraging modern deep learning frameworks while preserving the interpretability of classic models. CLAX addresses this gap by replacing EM-based optimization with direct gradient-based optimization in a numerically stable manner. The framework's modular design enables the integration of any component, from embeddings and deep networks to custom modules, into classic click models for end-to-end optimization. We demonstrate CLAX's efficiency by running experiments on the full Baidu-ULTR dataset comprising over a billion user sessions in $\approx$ 2 hours on a single GPU, orders of magnitude faster than traditional EM approaches. CLAX implements ten classic click models, serving both industry practitioners seeking to understand user behavior and improve ranking performance at scale and researchers developing new click models. CLAX is available at: https://github.com/philipphager/clax
