NVidia GPU-ondersteuning toevoegen aan Docker Model Runner
Schakel GPU-acceleratie in voor Docker Model Runner met ondersteuning voor NVIDIA CUDA
Docker Model Runner is het officiële hulpmiddel van Docker om AI-modellen lokaal uit te voeren, maar NVidia GPU-acceleratie inschakelen in Docker Model Runner vereist specifieke configuratie.
In tegenstelling tot standaard docker run-opdrachten, ondersteunt docker model run geen --gpus of -e-vlaggen, dus GPU-ondersteuning moet worden geconfigureerd op de Docker-daemon-niveau en tijdens de installatie van de runner.
Als je op zoek bent naar een alternatieve oplossing voor het hosten van LLM’s met eenvoudigere GPU-configuratie, overweeg dan Ollama, die ingebouwde GPU-ondersteuning en eenvoudigere installatie biedt. Docker Model Runner biedt echter betere integratie met de Docker-ecosysteem en OCI-artefactdistributie.
Deze mooie afbeelding is gegenereerd door AI model Flux 1 dev.
Voorwaarden
Voordat je GPU-ondersteuning configureert, zorg er dan voor dat je hebt:
- NVIDIA GPU met compatibele drivers geïnstalleerd. Voor hulp bij het kiezen van de juiste GPU voor AI-belastingen, zie onze gids over Vergelijken van NVidia GPU-specs geschiktheid voor AI.
- NVIDIA Container Toolkit geïnstalleerd (zie NVIDIA RTX-ondersteuning sectie)
- Docker Model Runner geïnstalleerd (kan opnieuw worden geïnstalleerd met GPU-ondersteuning)
Controleer of je GPU beschikbaar is:
nvidia-smi
Test Docker GPU-toegang:
docker run --rm --gpus all nvidia/cuda:12.2.2-base-ubi8 nvidia-smi
Voor meer Docker-opdrachten en configuratieopties, zie onze Docker Cheatsheet.
Stap 1: Configureer Docker-daemon voor NVIDIA-runtime
Docker Model Runner vereist dat de NVIDIA-runtime als de standaardruntime wordt ingesteld in de Docker-daemonconfiguratie.
Zoek de locatie van NVIDIA Container Runtime
Eerst, bepaal waar nvidia-container-runtime is geïnstalleerd:
which nvidia-container-runtime
Dit geeft meestal /usr/bin/nvidia-container-runtime weer. Noteer deze locatie voor de volgende stap.
Configureer Docker-daemon
Maak of pas /etc/docker/daemon.json aan om NVIDIA als de standaardruntime in te stellen:
sudo tee /etc/docker/daemon.json > /dev/null << 'EOF'
{
"default-runtime": "nvidia",
"runtimes": {
"nvidia": {
"path": "/usr/bin/nvidia-container-runtime",
"runtimeArgs": []
}
}
}
EOF
Belangrijk: Als which nvidia-container-runtime een andere locatie teruggeeft, pas dan de "path"-waarde in de JSON-configuratie daarop aan.
Herstart de Docker-service
Pas de configuratie aan door Docker opnieuw te starten:
sudo systemctl restart docker
Controleer de configuratie
Bevestig dat de NVIDIA-runtime is geconfigureerd:
docker info | grep -i runtime
Je moet Default Runtime: nvidia zien in de uitvoer.
Stap 2: Installeer Docker Model Runner met GPU-ondersteuning
Docker Model Runner moet worden geïnstalleerd of opnieuw geïnstalleerd met expliciete GPU-ondersteuning. Het runner-container zelf moet de CUDA-geenablede versie zijn.
Stop huidige runner (indien actief)
Als Docker Model Runner al is geïnstalleerd, stop het dan eerst:
docker model stop-runner
Installeer/Herinstalleer met CUDA-ondersteuning
Installeer of herinstalleer Docker Model Runner met CUDA GPU-ondersteuning:
docker model reinstall-runner --gpu cuda
Deze opdracht:
- Haalt de CUDA-geenablede versie (
docker/model-runner:latest-cuda) op in plaats van de CPU-only-versie - Stelt de runner-container in om de NVIDIA-runtime te gebruiken
- Schakelt GPU-acceleratie in voor alle modellen
Opmerking: Als je Docker Model Runner al hebt geïnstalleerd zonder GPU-ondersteuning, moet je het opnieuw installeren met de --gpu cuda-vlag. Alleen het configureren van de Docker-daemon is niet voldoende — de runner-container zelf moet de CUDA-geenablede versie zijn.
Beschikbare GPU-backends
Docker Model Runner ondersteunt meerdere GPU-backends:
cuda- NVIDIA CUDA (meest gebruikt voor NVIDIA GPUs)rocm- AMD ROCm (voor AMD GPUs)musa- Moore Threads MUSAcann- Huawei CANNauto- Automatische detectie (standaard, werkt mogelijk niet correct)none- Alleen CPU
Voor NVIDIA GPUs, gebruik altijd --gpu cuda expliciet.
Stap 3: Controleer GPU-toegang
Na de installatie, controleer of Docker Model Runner toegang heeft tot je GPU.
Controleer GPU-toegang vanuit de runner-container
Test GPU-toegang vanuit de Docker Model Runner-container:
docker exec docker-model-runner nvidia-smi
Dit moet je GPU-informatie tonen, wat bevestigt dat de container GPU-toegang heeft.
Controleer runner-status
Controleer of Docker Model Runner actief is:
docker model status
Je moet zien dat de runner actief is met llama.cpp-ondersteuning.
Stap 4: Test model met GPU
Voer een model uit en controleer of het de GPU gebruikt.
Voer een model uit
Start een modelinference:
docker model run ai/qwen3:14B-Q6_K "wie ben jij?"
Controleer GPU-gebruik in logbestanden
Controleer de Docker Model Runner-logbestanden op GPU-bevestiging:
docker model logs | grep -i cuda
Je moet berichten zien die aangeven dat de GPU wordt gebruikt:
using device CUDA0 (NVIDIA GeForce RTX 4080)- GPU-apparaat gedetecteerdoffloaded 41/41 layers to GPU- Modellagen geladen op GPUCUDA0 model buffer size = 10946.13 MiB- GPU-geheugenallocatieCUDA0 KV buffer size = 640.00 MiB- Sleutel-waarde cache op GPUCUDA0 compute buffer size = 306.75 MiB- Rekenbuffer op GPU
Monitor GPU-gebruik
In een andere terminal, monitor het GPU-gebruik in real-time:
nvidia-smi -l 1
Je moet zien dat het GPU-geheugengebruik en de uitvoering stijgen wanneer het model draait.
Voor meer geavanceerde GPU-monitoringopties en tools, zie onze gids over GPU-monitoringtoepassingen in Linux / Ubuntu.
Probleemoplossing
Model gebruikt nog steeds CPU
Als het model nog steeds op de CPU draait:
-
Controleer Docker-daemonconfiguratie:
docker info | grep -i runtimeMoet
Default Runtime: nvidiatonen -
Controleer runtime van runner-container:
docker inspect docker-model-runner | grep -A 2 '"Runtime"'Moet
"Runtime": "nvidia"tonen -
Herinstalleer runner met GPU-ondersteuning:
docker model reinstall-runner --gpu cuda -
Controleer logbestanden op fouten:
docker model logs | tail -50
GPU niet gedetecteerd
Als de GPU niet wordt gedetecteerd:
-
Controleer of NVIDIA Container Toolkit is geïnstalleerd:
dpkg -l | grep nvidia-container-toolkit -
Test GPU-toegang met standaard Docker:
docker run --rm --gpus all nvidia/cuda:12.2.2-base-ubi8 nvidia-smiVoor het oplossen van Dockerproblemen, zie onze Docker Cheatsheet.
-
Controleer NVIDIA-drivers:
nvidia-smi
Prestatieproblemen
Als de GPU-prestaties slecht zijn:
-
Controleer GPU-gebruik:
nvidia-smiKijk naar het percentage GPU-gebruik
-
Controleer of modellagen op GPU zijn:
docker model logs | grep "offloaded.*layers to GPU"Alle lagen moeten worden overgedragen naar GPU
-
Controleer op geheugenproblemen:
nvidia-smiZorg ervoor dat het GPU-geheugen niet is opgebruikt
Beste praktijken
-
Specificeer altijd het GPU-backend expliciet: Gebruik
--gpu cudain plaats van--gpu autovoor NVIDIA GPUs om de juiste configuratie te garanderen. -
Controleer configuratie na wijzigingen: Controleer altijd
docker info | grep -i runtimena wijzigingen in de Docker-daemoninstellingen. -
Monitor GPU-gebruik: Gebruik
nvidia-smiom GPU-geheugen en uitvoering te monitoren tijdens modelinference. Voor geavanceerde monitoringtools, zie onze gids over GPU-monitoringtoepassingen in Linux / Ubuntu. -
Controleer logbestanden regelmatig: Bekijk
docker model logsom te controleren of modellen GPU-acceleratie gebruiken. -
Gebruik geschikte modelgrootte: Zorg ervoor dat je GPU voldoende geheugen heeft voor het model. Gebruik gequantiseerde modellen (Q4, Q5, Q6, Q8) voor betere GPU-geheugenefficiëntie. Voor hulp bij het kiezen van de juiste GPU voor je AI-belastingen, zie onze gids over Vergelijken van NVidia GPU-specs geschiktheid voor AI.
Nuttige links
- Docker Model Runner Cheatsheet
- Docker Model Runner Officiële Documentatie
- NVIDIA Container Toolkit Installatiegids
- Vergelijking Docker Model Runner vs Ollama
- Ollama Cheatsheet - Alternatieve LLM-hostingoplossing met ingebouwde GPU-ondersteuning
- Docker Cheatsheet - Volledige referentie voor Docker-opdrachten en configuratie
- GPU-monitoringtoepassingen in Linux / Ubuntu - Lijst en vergelijking van NVIDIA GPU-monitoringtools
- Vergelijken van NVidia GPU-specs geschiktheid voor AI - Gids voor het kiezen van de juiste GPU voor AI-belastingen