Purpose
AryColBring is the package’s sparse collaborative-filtering model family. It is designed for implicit interaction matrices and uses native numerical kernels for high-throughput training/inference paths.
Supported objectives
The current configuration supports:
logisticwarpbprwarp-kos
These objectives are appropriate for different implicit-feedback ranking behaviors.
Public import
from cooprecsys.models.arycolbring import AryColBring
Do not copy the repository filesystem path (src/...) into the Python import statement.
Native implementation
The high-throughput kernels live under:
src/cooprecsys/models/arycolbring/CLproximity/
The same packaging principle used for Ary2Tower applies: compile native code in the CI build matrix and validate the installed wheel rather than treating local binary artifacts as portable.
Conceptual training flow
sparse interaction matrix
|
v
index / representation preparation
|
v
native training kernel
|
+--> logistic / BPR / WARP / WARP-kOS
|
v
user-item representation
|
v
prediction / ranking
Practical considerations
Sparse data
Use sparse matrices for interaction-heavy workloads. This keeps memory use manageable and matches the model’s computational assumptions.
Threading
Native/OpenMP paths can use multiple CPU threads. Tune thread counts against the actual host rather than blindly setting the maximum available CPU count.
Evaluation
The repository retains evaluation support under eval/ plus test coverage for training/inference utilities.
Relationship to Ary2Tower
AryColBring is a sparse collaborative-filtering model. Ary2Tower instead learns continuous user/item tower representations and has its own top-N serving contract and residual fallback. They are complementary rather than interchangeable implementations of the same algorithm.