Open viswa-nvidia opened 2 years ago
@benfred , please add the tickets related to this epic here
@EvenOldridge @benfred , is Batch prediction in NVTabular section required for 22.04 ?
For the serving part. My understanding is that, for both Implicit and LightFM, the way to serve these at scale is similar to the two tower / bi-encoder design of the DLRM example we have.
Where the item embeddings are stored in a approximate-nearest neighbour search index. And we search through this space using a user embedding. (for user->item recommendations).
The difference from the DLRM example, is in how the user embedding is computed at serving time.
Computing the User Embedding:
It seems that one of the main questions is where do we store the user/item/feature embeddings for fast lookup at serving time. Ideally with support for versioning (for migrating to new model version) / updating (for new users and items).
For vector/embedding based item->user, user->user, item->item recommendations. two main components are:
We could start with a similar approach to the nearest neighbour implementation we have now. A first pass at this could be to store the user/feature embeddings as static data inside Triton. Albeit with similar challenges to having the item embeddings index stored as file(s) inside Triton (updating, and scaling to large numbers of items/users). Or they could be managed in a database outside Triton.
@benfred / @oliverholworthy , please fill up the problem, goal and constraints section in the description. You may have provided this in the comments. Please summarise it there. Let me know if you are facing any difficulties.
@oliverholworthy , I have added 22.07 in the description to specify that the task is in scope for 22.07. If it needs to be moved out to future release, please specify
I've updated the description to make it clearer which tasks are in scope for 22.07. I think we can achieve a self-contained operator for Implicit for the upcoming release.
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:
Constraints:
Systems
Blocking issues
Starting Point:
Merlin-models
wrap Implicit and lightFM in High-level model API:
NVTabular
N/A
Merlin-systems
Examples and Docs (To happen in 22.09)