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

Provide ModelRegistry Custom Storage Initializer #24

Closed
lampajr opened this issue Feb 28, 2024 · 1 comment · Fixed by #25
Closed

Provide ModelRegistry Custom Storage Initializer #24

lampajr opened this issue Feb 28, 2024 · 1 comment · Fixed by #25

Comments

@lampajr
Copy link
Member

lampajr commented Feb 28, 2024

Is your feature request related to a problem? Please describe.
As follow up of the KServe ClusterStorageContainer [0] exploration [1] I would suggest to include a ModelRegistry specific storage initializer as part of this repository.

Benefits:

  • Showcase the model registry usage and motivation
  • Encourages the adoption of model registry
  • Make the model serving through model registry easier

Limitations:

  • Feature not supported for model-mesh deployments [2]

NOTE: the linked PoC was just a starting point, therefore there might be further improvements required, e.g., managing private locations.

[0] https://kserve.github.io/website/0.11/modelserving/storage/storagecontainers/
[1] https://github.com/lampajr/model-registry-storage-initializer
[2] kserve/modelmesh-serving#471

Describe the solution you'd like
Provide a Model Registry Custom Storage Initializer container image that would allow users to serve ML models using model-registry custom URI formats like:

apiVersion: "serving.kserve.io/v1beta1"
kind: "InferenceService"
metadata:
  name: "iris-model"
spec:
  predictor:
    model:
      modelFormat:
        name: sklearn
      storageUri: "model-registry://iris/v1"

The proposed implementation (based on the PoC) would manage URIs with this format: model-registry://${REGISTERD_MODEL_NAME}/${MODEL_VERSION_NAME}.

In order to make the new custom storage initializer image available, cluster admins should create a ClusterStorageContainer CR like the following one:

apiVersion: "serving.kserve.io/v1alpha1"
kind: ClusterStorageContainer
metadata:
  name: abc
spec:
  container:
    name: storage-initializer
    image: abc/model-registry-storage-initializer:latest
    resources:
      requests:
        memory: 100Mi
        cpu: 100m
      limits:
        memory: 1Gi
        cpu: "1"
  supportedUriFormats:
    - prefix: model-registry://

Describe alternatives you've considered
n/a

Additional context
n/a

@lampajr
Copy link
Member Author

lampajr commented Feb 28, 2024

As an example of possible implementation I opened this draft #25

tarilabs pushed a commit to tarilabs/model-registry that referenced this issue Mar 18, 2024
[pull] main from kubeflow:main
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant