NVIDIA-Merlin / NVIDIA-Merlin/Merlin
[RMP] Add support for ranking models in PyTorch
Open
@EvenOldridge is already working on this.
Since Jul 3, 2023.
roadmap
- Dominant language
- Python
- Stars
- 907
- Forks
- 129
- PR merge metrics
- No merged PRs in 30d
Description
Problem:
Goal:
Add support for ranking models in PyTorch.
New Functionality
- Models
- Support Ranking Models
- Systems
- Make sure torch ranking models can be served
Starting Point:
Implement base-classes of block-API in PyTorch
People: @marcromeyn
Currently the block-API is T4Rec is using a similar design to Keras to allow for modules that lazily initialize their variables. We would like to deprecate this in favor of a native way to achieve the same thing that could launched recently.
- https://github.com/NVIDIA-Merlin/models/pull/1087
- https://github.com/NVIDIA-Merlin/models/pull/1088
- https://github.com/NVIDIA-Merlin/models/pull/1090
- https://github.com/NVIDIA-Merlin/models/pull/1091
- https://github.com/NVIDIA-Merlin/models/pull/1092
- https://github.com/NVIDIA-Merlin/models/pull/1095
- https://github.com/NVIDIA-Merlin/models/pull/1109
- https://github.com/NVIDIA-Merlin/models/pull/1112
- https://github.com/NVIDIA-Merlin/models/pull/1096
Input-blocks
People: @marcromeyn
- Implement
Continuous&EmbeddingTables - Implement
TabularInputBlock - https://github.com/NVIDIA-Merlin/models/pull/1112
- https://github.com/NVIDIA-Merlin/models/pull/1149
- Add support for sequential-features in input-blocks
- Do performance testing of holding multiple features in a single embedding-table
Output-blocks
People: @edknv & @marcromeyn
- https://github.com/NVIDIA-Merlin/models/pull/1099
- https://github.com/NVIDIA-Merlin/models/pull/1115
- https://github.com/NVIDIA-Merlin/models/pull/1158
- Port TabularOutputBlock (for multi-task learning)
- https://github.com/NVIDIA-Merlin/models/pull/1173
Blocks
- https://github.com/NVIDIA-Merlin/models/pull/1093
- https://github.com/NVIDIA-Merlin/models/pull/1172
- https://github.com/NVIDIA-Merlin/models/pull/1162
Models
- https://github.com/NVIDIA-Merlin/models/pull/1171
- Add DCNModel
- Export Model with Input / Output Schemas (Serve in Systems Ensemble)
- Ensure model outputs are compatible with Triton (tensor or NamedTuple instead of dict)
Examples
- Getting Started from #1159
- Serving Ranking Model with Systems (similar to Serving Ranking Models With Merlin Systems (TF) )
- multi-task model (multiple model named outputs)
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.