Skip to content
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

Support for various metadata store backends [need feedback and review] #45

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

sergey-serebryakov
Copy link
Contributor

In current implementation, the ML metadata (MLMD) metadata store was tightly coupled with CMF. Our experiments and standalone proof-of-concept implementations have demonstrated that it is possible to use other platforms, such as MLflow to store pipeline metadata (though, not as efficiently as with MLMD store, but in certain cases when a team or organization has already setup the ML metadata management service, they can start tracking their pipeline metadata using that existing service).

The idea is relatively straightforward - take MLMD related collection of functions and wrap them into a class (MlmdStore). Then functions that are used by Cmf become public interface for MlmdStore, and respectively, become API that Cmf requires from arbitrary metadata backend in the future.

This commit moves existing MLMD functionality into cmflib.metadata.mlmd_store module.

At this point, the implementation is merely a draft for the proposed idea. We are collecting feedback and suggestions.

In current implementation, the ML metadata (MLMD) metadata store was tightly coupled with CMF. Our experiments and standalone proof-of-concept implementations have demonstrated that it is possible to use other platforms, such as MLflow to store pipeline metadata (though, not as efficiently as with MLMD store, but in certain cases when a team or organization has already setup the ML metadata management service, they can start tracking their pipeline metadata using that existing service).

The idea is relatively straightforward - take MLMD related collection of functions and wrap them into a class (MlmdStore). Then functions that are used by `Cmf` become public interface for MlmdStore, and respectively, become API that Cmf requires from arbitrary metadata backend in the future.

This commit moves existing MLMD functionality into `cmflib.metadata.mlmd_store` module.
@annmary-roy
Copy link
Contributor

This PR should also address CMF running in the debug mode, where the backend can be a console , and we do a dry run and no hard changes like commits and branches .

Fixing conflicts in `cmflib/cmf.py`.
@sergey-serebryakov sergey-serebryakov changed the title Support for various metadata store backends [WIP - need feedback and review] Support for various metadata store backends [need feedback and review] Jun 27, 2023
@sergey-serebryakov sergey-serebryakov marked this pull request as draft June 27, 2023 21:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants