-
Notifications
You must be signed in to change notification settings - Fork 1.1k
feat: Added Model Metadata support in Registry #5365
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
base: master
Are you sure you want to change the base?
Conversation
|
||
import "google/protobuf/timestamp.proto"; | ||
|
||
message ModelMetadata { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we follow Model Registry or MLFlow's schema? Can we?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would prefer ml flow tbh
Let me suggest a different approach if I may.. If I understand correctly, this would essentially be part of feast only to enable proper model-feature lineage, right? I think introducing a separate proto object (with all that it entails, rbac and so on) might be an overkill for a non-essential bit of information. Also in my experience it's highly likely users will very often neglect documenting models in feast, especially when this much effort is necessary. Can't we instead go for a lighter integration by simply introducing a field (a string or maybe something a bit more complicated) in |
@tokoko what do you think about MLFlow here? |
Do we have to make a choice? I would either go with an open-text string that user is free to fill however it likes or with a |
I see your point, adding a simple reference field to FeatureService is a practical solution that solves the immediate need with minimal implementation and maintenance overhead. For many users, especially those not deeply invested in formal model management infra, this lightweight feature service linkage might be more than sufficient. But, this approach might not scale well for users who have large teams and needs tighter integrations with model training pipelines or registries. I had a thought of FeatureService is fundamentally a construct for combining and serving a set of features, often composed from multiple FeatureViews, and can be reused across multiple models. Users might tweak a few features between models, or reuse the same FeatureService across different experiments. Thus, feature service might look like a workaround as the primary location to store model-specific metadata.
That’s a fair concern. But one of the key advantages of having a structured ModelMetadata proto is that it opens the door for automation. Metadata could be auto-populated as part of model training or deployment pipelines, It will also allow users to reference specific training runs. Having a dedicated ModelMetadata, even if lightweight or |
Signed-off-by: ntkathole <nikhilkathole2683@gmail.com>
thank you for tagging me, if it's of any help here is an entry point for KF MR references, with the caveat we're effectively getting away from Google MLMD dependency (getting away transparently for the user). |
What this PR does / why we need it:
Store model-related metadata (e.g., model name, features used, project name, timestamp) inside the registry, alongside other Feast objects (like Feature-views, Features, etc.).
This will allow users to link features to models and visualize the relationships between them, which will enable user to answer questions like -
Misc
Next followup steps: