Model reference · open weights

Mistral-Small-3.1-2503-dynamic

LLMs mistralai Vision + text 1 build Open weights 15k dl/mo

Mistral-Small-3.1-2503-dynamic is an open-weight language model from Mistral AI. Mistral-Small-3.1-24B-Instruct-2503-FP8-dynamic (FP8) weighs 25.8 GB; the smallest configuration that runs it is RTX 5090 32 GB.

For self-hosting, compare this build's requirements below with the GPU you plan to rent.

  • Mistral-Small-3.1-24B-Instruct-2503-FP8-dynamic is a 24.0B parameter image-text-to-text model by Mistral AI, quantized to FP8 to reduce GPU memory requirements by approximately 50%.
  • It supports a context length of 131,072 tokens and is intended for fast-response conversational agents, function calling, and visual understanding.
  • The model is licensed under apache-2.0 and supports languages including English, French, German, Spanish, Italian, Portuguese, Hindi, and Indonesian.

Summary of the RedHatAI/Mistral-Small-3.1-24B-Instruct-2503-FP8-dynamic model card, 2026-10-01

What it is

Released byMistral AI
Released2025-03-27
Parameters24.0B
VRAM25.8 GB for the weights

What it runs on

Memory and cards for Mistral-Small-3.1-24B-Instruct-2503-FP8-dynamic (FP8)

25.8 GBweights, file size
164 MBcache per 1K tokens
2.2 GBruntime overhead, at least
131,072 tokenscontext max
CardRequests at onceContext maxMemory
8K each32K each
RTX 3060 12 GB … RTX 4090 24 GB
4 smaller cards
RTX 5090 32 GB217K31.0 GB
L40S 48 GB11295K44.0 GB
A100 80 GB
FP8 without its speed-up here
379all 128K78.2 GB
H100 80 GB338all 128K78.1 GB
RTX PRO 6000 Blackwell 96 GB4511all 128K93.8 GB
DGX Spark (GB10) 128 GB unified5513all 128K107 GB
H200 141 GB7819all 128K138 GB
B200 180 GB10526all 128K176 GB
2× RTX 4090 24 GB
tensor parallel
12398K23.4 GB a card
2× RTX 3090 24 GB
tensor parallel · FP8 without its speed-up here
12398K23.4 GB a card
2× RTX 5090 32 GB
tensor parallel
235all 128K31.0 GB a card
Memory needed at each load
Requests at once8K tokens each32K tokens each
129.3 GB33.4 GB
534.7 GB54.8 GB
838.7 GB71.0 GB
1649.5 GB114 GB
3271.0 GB200 GB
64114 GB372 GB

One card, with vLLM's small-card settings.

From the model card

What Mistral AI says about Mistral-Small-3.1-2503-dynamic

Read the model card

Mistral-Small-3.1-24B-Instruct-2503-FP8-dynamic

Model Overview

  • Model Architecture: Mistral3ForConditionalGeneration
    • Input: Text / Image
    • Output: Text
  • Model Optimizations:
    • Activation quantization: FP8
    • Weight quantization: FP8
  • Intended Use Cases: It is ideal for:
    • Fast-response conversational agents.
    • Low-latency function calling.
    • Subject matter experts via fine-tuning.
    • Local inference for hobbyists and organizations handling sensitive data.
    • Programming and math reasoning.
    • Long document understanding.
    • Visual understanding.
  • Out-of-scope: Use in any manner that violates applicable laws or regulations (including trade compliance laws). Use in languages not officially supported by the model.
  • Release Date: 04/15/2025
  • Version: 1.0
  • Validated on: RHOAI 2.20, RHAIIS 3.0, RHELAI 1.5
  • Model Developers: RedHat (Neural Magic)

Model Optimizations

This model was obtained by quantizing activations and weights of Mistral-Small-3.1-24B-Instruct-2503 to FP8 data type. This optimization reduces the number of bits used to represent weights and activations from 16 to 8, reducing GPU memory requirements (by approximately 50%) and increasing matrix-multiply compute throughput (by approximately 2x). Weight quantization also reduces disk size requirements by approximately 50%.

Only weights and activations of the linear operators within transformers blocks are quantized. Weights are quantized with a symmetric static per-channel scheme, whereas activations are quantized with a symmetric dynamic per-token scheme. The llm-compressor library is used for quantization.

Deployment

  1. Initialize vLLM server:
vllm serve RedHatAI/Mistral-Small-3.1-24B-Instruct-2503-quantized.w4a16 --tensor_parallel_size 1 --tokenizer_mode mistral
  1. Send requests to the server:
from openai import OpenAI

# Modify OpenAI's API key and API base to use vLLM's API server.
openai_api_key = "EMPTY"
openai_api_base = "http://:8000/v1"

client = OpenAI(
    api_key=openai_api_key,
    base_url=openai_api_base,
)

model = "RedHatAI/Mistral-Small-3.1-24B-Instruct-2503-quantized.w4a16"

messages = [
    {"role": "user", "content": "Explain quantum mechanics clearly and concisely."},
]

outputs = client.chat.completions.create(
    model=model,
    messages=messages,
)

generated_text = outputs.choices[0].message.content
print(generated_text)
podman run --rm -it --device nvidia.com/gpu=all -p 8000:8000 \
 --ipc=host \
--env "HUGGING_FACE_HUB_TOKEN=$HF_TOKEN" \
--env "HF_HUB_OFFLINE=0" -v ~/.cache/vllm:/home/vllm/.cache \
--name=vllm \
registry.access.redhat.com/rhaiis/rh-vllm-cuda \
vllm serve \
--tensor-parallel-size 1 \
--max-model-len 32768  \
--enforce-eager --model RedHatAI/Mistral-Small-3.1-24B-Instruct-2503-FP8-dynamic

​​See Red Hat AI Inference Server documentation for more details.

# Download model from Red Hat Registry via docker
# Note: This downloads the model to ~/.cache/instructlab/models unless --model-dir is specified.
ilab model download --repository docker://registry.redhat.io/rhelai1/mistral-small-3-1-24b-instruct-2503-fp8-dynamic:1.5
# Serve model via ilab
ilab model serve --model-path ~/.cache/instructlab/models/mistral-small-3-1-24b-instruct-2503-fp8-dynamic

# Chat with model
ilab model chat --model ~/.cache/instructlab/models/mistral-small-3-1-24b-instruct-2503-fp8-dynamic

See Red Hat Enterprise Linux AI documentation for more details.

# Setting up vllm server with ServingRuntime
# Save as: vllm-servingruntime.yaml
apiVersion: serving.kserve.io/v1alpha1
kind: ServingRuntime
metadata:
 name: vllm-cuda-runtime # OPTIONAL CHANGE: set a unique name
 annotations:
   openshift.io/display-name: vLLM NVIDIA GPU ServingRuntime for KServe
   opendatahub.io/recommended-accelerators: '["nvidia.com/gpu"]'
 labels:
   opendatahub.io/dashboard: 'true'
spec:
 annotations:
   prometheus.io/port: '8080'
   prometheus.io/path: '/metrics'
 multiModel: false
 supportedModelFormats:
   - autoSelect: true
     name: vLLM
 containers:
   - name: kserve-container
     image: quay.io/modh/vllm:rhoai-2.20-cuda # CHANGE if needed. If AMD: quay.io/modh/vllm:rhoai-2.20-rocm
     command:
       - python
       - -m
       - vllm.entrypoints.openai.api_server
     args:
       - "--port=8080"
       - "--model=/mnt/models"
       - "--served-model-name={{.Name}}"
     env:
       - name: HF_HOME
         value: /tmp/hf_home
     ports:
       - containerPort: 8080
         protocol: TCP
# Attach model to vllm server. This is an NVIDIA template
# Save as: inferenceservice.yaml
apiVersion: serving.kserve.io/v1beta1
kind: InferenceService
metadata:
  annotations:
    openshift.io/display-name: mistral-small-3-1-24b-instruct-2503-fp8-dynamic # OPTIONAL CHANGE
    serving.kserve.io/deploymentMode: RawDeployment
  name: mistral-small-3-1-24b-instruct-2503-fp8-dynamic          # specify model name. This value will be used to invoke the model in the payload
  labels:
    opendatahub.io/dashboard: 'true'
spec:
  predictor:
    maxReplicas: 1
    minReplicas: 1
    model:
      modelFormat:
        name: vLLM
      name: ''
      resources:
        limits:
          cpu: '2'			# this is model specific
          memory: 8Gi		# this is model specific
          nvidia.com/gpu: '1'	# this is accelerator specific
        requests:			# same comment for this block
          cpu: '1'
          memory: 4Gi
          nvidia.com/gpu: '1'
      runtime: vllm-cuda-runtime	# must match the ServingRuntime name above
      storageUri: oci://registry.redhat.io/rhelai1/modelcar-mistral-small-3-1-24b-instruct-2503-fp8-

Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.

© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms