-
Notifications
You must be signed in to change notification settings - Fork 118
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[RMP] Support pre-trained vector embeddings as input features into a model via the dataloader #211
Comments
Ok, this issue now makes much more sense to me 🙂 I created a PR NVIDIA-Merlin/models#508 but I think this is just a tiny step on this. Not sure what would be the logical next step here. I certainly need to continue to bring myself up to speed with |
I'm honestly not entirely sure either! I captured this issue because I heard you were already working on it, but it's mostly a placeholder for a discussion on the scope of what we'd want to do and where that falls in terms of our team priorities. I don't think we've had that conversation yet, and I'm not entirely sure how/where it would happen either (given time zones etc.) |
I put your face on it less to signal that you're responsible for the whole thing (I don't think you are), and more to signal that you'd be the person who is already doing relevant work and probably would have worthwhile thoughts about what we ought to be able to do with pre-trained embeddings. |
Thank you very much @karlhigley for these thoughts, they are very helpful! 🙂 Makes a lot of sense. JUst wanted to reference NVIDIA-Merlin/models#508 -- we now have a use case for using pretrained embeddings, but don't have a good way of freezing them I believe. Would be very good to have this option as this is what likely most users would want. |
@EvenOldridge @karlhigley we now have an example for using pre-trained embeddings in MMs, and have a way of freezing them. fyi. |
#471 has details on the customer request side. |
@EvenOldridge yes we need this for TF4Rec. And I created this ticket NVIDIA-Merlin/Transformers4Rec#475 for that. |
@EvenOldridge If I'm understanding correctly, it sounds like the underlying customer request involves the dataloaders, the T4R library itself, and Merlin Systems (but not NVT.) Would it make sense to scope this issue more tightly to the customer request and punt additional features to a subsequent issue? |
It also sounds like the customer request necessarily involves having PyTorch serving for T4R worked out. Assuming that the (known-to-be-slow) Python serving isn't sufficient, sounds like we'll need to work out the issues with Torchscript serving. |
To my best knowledge, TensorFlow has a warm start mechanism as a similar function. I think they have a meaningful design; maybe we can be inspired by it: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/training/warm_starting_util.py#L419 |
ToDo: How to integrate pre-trained embedding in schema file (tagging) and is used in architecture definition |
Adding |
I am not sure, if the main ticket is uptodate. In some meetings, we say, that the feature is almost done but there are many Tickets not checked (finished). I looked into pre-trained embedding functionality of the dataloader and tried to provide a simple example for a I did only looked at the TensorFlow side and haven't tested the PyTorch side (assuming it works the same)? Open ToDos (from my point of view):
I will explain more my assumptions and proposed open ToDos:
BUGs:
Session-Based Bug:
|
@sararb to update this ticket |
Tasks
Problem:
Customers need a way to load embeddings that have been pretrained or trained from separate models into the model.
See #471
Goal:
Enable dataloading of separate embedding tables without having to add these embeddings into the interaction data during training. For serving those embeddings need to be provided in the request to the model. The feature must be ueseable in production setting
Constraints:
Supporting pre-trained vector embeddings as features would provide baseline support for multi-modal use cases that rely on outside models to generate image/text embeddings.
NVTabular
Is this part of this RMP ticket?
Core
Dataloader
Transformers4Rec
These features under T4R will not be in scope for this RMP ticket. The development will happen in Models.
PR implementing pre-trained support in T4Rec: NVIDIA-Merlin/Transformers4Rec#690
Related PR: NVIDIA-Merlin/Transformers4Rec#690
Models (TF API)
PR #1083 implementing pre-trained support in MM
BroadcastFeatures
support expanding 2D pre-trained embeddings (contextual features) to concat with 3D sequence features models#1073Merlin Systems
Examples
Documentation
The text was updated successfully, but these errors were encountered: