Skip to content

Serve a model from a registry: add OCI and Existing ModelCache sources #512

Open

Description

@dennis-upbound

ModelCache.spec.source is enum: [HuggingFace] (definition.yaml:38), so the only way to serve a model is to have it on HuggingFace. A customer whose weights are already in Artifact Registry, ECR or their own registry has to push them to HuggingFace first, and a customer who has already staged weights onto a volume has no way to point Modelplane at it.

Both are the normal case for anyone with a model they did not download, and the second is the only answer available in an air-gapped fleet.

#505 proposes the shape in design/modelcache-sources.md. Four sources, each with a different thing that mounts it:

source what the user names what mounts it what the cluster needs
HuggingFace a repository ID a volume Modelplane stages a ReadWriteMany storage class
OCI a container image holding the weights the kubelet, as an image volume Kubernetes 1.36
OCI a model artifact the model CSI driver Kubernetes 1.25
PersistentVolumeClaim a claim the user filled a persistentVolumeClaim volume the claim bound on the cluster

The work is larger than the enum. Modelplane resolves a reference to find which kind of artifact it is; each cluster entry carries a mount contract of volumes, volumeMounts and env that the consumer copies into the pod without learning the source; InferenceCluster.status.cache gains imageVolumes so a cluster can say whether it can mount one; and compose-model-replica reads the contract rather than assuming a PVC.

Worth splitting once the design lands. Filing it now because nothing tracks it, and #414 and #457 both assume a staging path this changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions