NVIDIA-Merlin / NVIDIA-Merlin/Merlin
[RMP] Support for simple ML/CF Models (like Implicit) in Merlin Models and Systems
Open
Nobody has claimed this yet.
roadmap
- Dominant language
- Python
- Stars
- 907
- Forks
- 129
- PR merge metrics
- No merged PRs in 30d
Description
Problem:
Latent factor models enable discovery of the underlying structure between interactions and items. These approaches have been popular over the years to leverage implicit feedback data. Customers who are using simple models via Implicit and LightFM want to be able to deploy those models within the Merlin ecosystem.
Goal:
- Provide training support for implicit and lightfm based models in Merlin Models
- Provide inference support for implicit based models in Merlin Systems
- NVIDIA-Merlin/systems#200
Constraints:
Systems
- Serve Implicit/LightFM as a self-contained op with everything required to serve within the exported triton model directory
Requires installing the python package in the tritonserver environment where it will run.
Decomposing the serving of these into different operators (retrieval with nearest neighbour search through embedding space)
Blocking issues
- Inference is blocked w/ issues on serialization of model w/ Implicit
Starting Point:
Merlin-models
wrap Implicit and lightFM in High-level model API:
- https://github.com/NVIDIA-Merlin/models/pull/218
- https://github.com/NVIDIA-Merlin/models/pull/219
Note: 218 and 219 only builds the models. It doesn't take care of serving. It doesn't have the example. - https://github.com/NVIDIA-Merlin/models/issues/410
Note: Scope currently unclear (@oliverholworthy )
NVTabular
N/A
Merlin-systems
- NVIDIA-Merlin/systems#35
- Implicit operator (self-contained)
https://github.com/NVIDIA-Merlin/systems/pull/134 - NVIDIA-Merlin/Merlin#457
- Implicit operator (self-contained)
Examples and Docs (To happen in 22.09)
- https://github.com/NVIDIA-Merlin/models/issues/561
- NVIDIA-Merlin/models#577
- NVIDIA-Merlin/models#576
- NVIDIA-Merlin/models#578
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.