Chapter 2. Model serving options for RHEL AI
When deploying models with Red Hat Enterprise Linux AI and Red Hat AI Inference Server, you can choose from different approaches to supply a model for inference serving. Understanding the differences between each approach helps you select the right one for your deployment scenario.
2.1. Hugging Face models Copy linkLink copied to clipboard!
Hugging Face models are the recommended approach for RHEL AI deployments that use the Red Hat AI Inference Server systemd Quadlet service. With this approach, you can either download models directly from Hugging Face Hub at runtime, or pre-download models to the local file system for offline serving.
Use Hugging Face models in the following scenarios:
- You are deploying RHEL AI using the Red Hat AI Inference Server systemd Quadlet service.
- You want to serve models from Hugging Face Hub (online mode) or from a local directory (offline mode).
- You want to use Red Hat AI Model Optimization Toolkit to quantize and compress models before serving.
2.2. ModelCar container images Copy linkLink copied to clipboard!
ModelCar container images are OCI-compliant container images that package language models as standard container images. You can pull ModelCar images from registry.redhat.io using podman pull and mount them directly into the Red Hat AI Inference Server vLLM container by using the --mount type=image option.
For a list of available ModelCar container images, see ModelCar container images.
Use ModelCar container images in the following scenarios:
- You are running Red Hat AI Inference Server with Podman directly, outside of the RHEL AI Quadlet service.
- You want to package and distribute models as container images.
- You want a container-native workflow for model distribution and versioning.
For example, to pull and run a ModelCar image with Podman:
Pull the ModelCar image:
$ podman pull registry.redhat.io/rhelai1/modelcar-granite-8b-code-instruct:1.4Inference serve the ModelCar container image:
$ podman run --rm -it \ --device nvidia.com/gpu=all \ --security-opt=label=disable \ --shm-size=4g \ --userns=keep-id:uid=1001 \ -p 8000:8000 \ -e HF_HUB_OFFLINE=1 \ -e TRANSFORMERS_OFFLINE=1 \ --mount type=image,source=registry.redhat.io/rhelai1/modelcar-granite-8b-code-instruct:1.4,destination=/model \ registry.redhat.io/rhaii-early-access/vllm-cuda-rhel9:3.4.0-ea.1 \ --model /model/models \ --port 8000NoteThe
--device nvidia.com/gpu=alloption is specific to NVIDIA GPUs. If you are using AMD or Intel GPUs, adjust the--deviceoption according to your GPU vendor’s container device configuration.
2.3. OCI artifact images Copy linkLink copied to clipboard!
OCI artifact images use the OCI artifact specification to distribute model weights as container registry artifacts rather than as container images. OCI artifact images are distinct from ModelCar container images and require different tooling.
OCI artifact images are designed for use with Red Hat OpenShift AI on OpenShift Container Platform, where the model serving infrastructure handles artifact retrieval natively. If you are using Red Hat AI Inference Server with Podman on RHEL AI, use either Hugging Face models or ModelCar container images instead.
Use OCI artifact images in the following scenarios:
- You are deploying models on OpenShift Container Platform with Red Hat OpenShift AI.
- Your deployment platform supports OCI artifact retrieval natively.