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

Investigate ClusterStorageContainer from kserve #254

Closed
lampajr opened this issue Dec 20, 2023 · 4 comments
Closed

Investigate ClusterStorageContainer from kserve #254

lampajr opened this issue Dec 20, 2023 · 4 comments
Assignees
Labels
chore Project management or other issues that are not a bug or feature request

Comments

@lampajr
Copy link
Contributor

lampajr commented Dec 20, 2023

Investigate/explore the ClusterStorageContainer capability that kserve introduced in the latest release.

Idea behind this exploration:

  • Provide a custom storage-initializer that will match URI format like model-registry:// [1]
  • This custom image "understands" the URI-specific format and it will fetch model registry data in order to retrieve the correct indexed modelArtifact - the URI should contains required information to retrieve it.
  • Download the model using already existing kserve functionalities (the custom image will a wrapper of the existing one that understands the model registry URI format that we can define)
  • In this way the InferenceService that will use model registry could be something like (already supported by kserve):
apiVersion: "serving.kserve.io/v1beta1"
kind: "InferenceService"
metadata:
  name: "onnx-model"
spec:
  predictor:
    model:
      modelFormat:
        name: onnx
      storageUri: "model-registry://........"

[1] https://kserve.github.io/website/latest/modelserving/storage/storagecontainers/

@lampajr lampajr added the chore Project management or other issues that are not a bug or feature request label Dec 20, 2023
@lampajr lampajr self-assigned this Dec 20, 2023
@lampajr
Copy link
Contributor Author

lampajr commented Dec 21, 2023

As first iteration I was able to create a custom storage initializer that interacts with the deployed model registry, this was we could create InferenceService using a custom storageUri with a model registry specific format like model-registry://.

Created https://github.com/lampajr/model-registry-storage-initializer that showcase the usage of the initializer with a simple Quickstart based on a plain Kserve installation.

Next step: try to demonstrate the integration with the ODH platform.

@lampajr
Copy link
Contributor Author

lampajr commented Jan 3, 2024

I generalized the implementation of this custom storage initializer to make usage of the model registry REST interface such that any model registry (which is compliant with the openapi spec) is suitable to be adopted.

@lampajr
Copy link
Contributor Author

lampajr commented Jan 3, 2024

Keeping track of this exploration on Kserve repo as well: kserve/kserve#3343

@lampajr
Copy link
Contributor Author

lampajr commented Jan 11, 2024

Additional findings:

  • The feature works well on Kserve deployments, this model-registry-storage-initializer works for public available models.
  • The feature seems NOT supported in ModelMesh deployments, opened new issue in modelmesh-serving to keep track of this.

As I the feasibility on Kserve side is proven using the created custom storage initializer image I would close this issue as the exploration/experimentation can be considered succeeded for now.

Opened a different issue for the ModelMesh exploration Created issue to further investigate similar enhancement for ModelMesh deployments https://github.com/opendatahub-io/model-registry/issues/262

@lampajr lampajr closed this as completed Jan 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore Project management or other issues that are not a bug or feature request
Projects
Development

No branches or pull requests

1 participant