डॉकर मॉडल रनर में NVIDIA GPU समर्थन जोड़ना
डॉकर मॉडल रनर के लिए एनवीडिया CUDA समर्थन के साथ GPU त्वरण सक्षम करें
डॉकर मॉडल रनर डॉकर का आधिकारिक टूल है जो स्थानीय रूप से AI मॉडल चलाने के लिए है, लेकिन डॉकर मॉडल रनर में NVidia GPU त्वरक सक्षम करना के लिए विशेष कॉन्फ़िगरेशन की आवश्यकता होती है।
सामान्य docker run कमांड्स के विपरीत, docker model run --gpus या -e फ्लैग्स का समर्थन नहीं करता है, इसलिए GPU समर्थन को Docker daemon स्तर पर और रनर इंस्टॉलेशन के दौरान कॉन्फ़िगर करना होगा।
अगर आप एक आसान GPU कॉन्फ़िगरेशन वाले विकल्प LLM होस्टिंग समाधान की तलाश कर रहे हैं, तो Ollama पर विचार करें, जिसमें बिल्ट-इन GPU समर्थन और सरल सेटअप है। हालांकि, Docker Model Runner Docker के पारिस्थितिकी तंत्र और OCI आर्टिफैक्ट वितरण के साथ बेहतर एकीकरण प्रदान करता है।
यह सुंदर छवि AI मॉडल Flux 1 dev द्वारा उत्पन्न की गई है।
पूर्वापेक्षाएँ
GPU समर्थन कॉन्फ़िगर करने से पहले, सुनिश्चित करें कि आपके पास है:
- NVIDIA GPU साथ ही संगत ड्राइवर इंस्टॉल किए गए हैं। AI वर्कलोड्स के लिए सही GPU चुनने में मदद के लिए, हमारी गाइड देखें NVidia GPU स्पेसिफिकेशन्स की तुलना AI के लिए उपयुक्तता.
- NVIDIA कंटेनर टूलकिट इंस्टॉल किया गया है (देखें NVIDIA RTX डॉकर के लिए समर्थन)
- डॉकर मॉडल रनर इंस्टॉल किया गया है (GPU समर्थन के साथ पुनः इंस्टॉल किया जा सकता है)
अपने GPU की पहुंच की पुष्टि करें:
nvidia-smi
डॉकर GPU पहुंच का परीक्षण करें:
docker run --rm --gpus all nvidia/cuda:12.2.2-base-ubi8 nvidia-smi
अधिक डॉकर कमांड्स और कॉन्फ़िगरेशन विकल्पों के लिए, हमारी डॉकर चीटशीट देखें।
चरण 1: डॉकर डेमन को NVIDIA रनटाइम के लिए कॉन्फ़िगर करें
डॉकर मॉडल रनर को डॉकर डेमन कॉन्फ़िगरेशन में NVIDIA रनटाइम को डिफ़ॉल्ट रनटाइम के रूप में सेट करने की आवश्यकता होती है।
NVIDIA कंटेनर रनटाइम पथ ढूँढें
पहले, यह पता लगाएं कि nvidia-container-runtime कहाँ इंस्टॉल किया गया है:
which nvidia-container-runtime
यह आमतौर पर /usr/bin/nvidia-container-runtime आउटपुट करता है। अगले चरण के लिए इस पथ को नोट करें।
डॉकर डेमन को कॉन्फ़िगर करें
/etc/docker/daemon.json बनाएं या अपडेट करें ताकि NVIDIA को डिफ़ॉल्ट रनटाइम के रूप में सेट किया जा सके:
sudo tee /etc/docker/daemon.json > /dev/null << 'EOF'
{
"default-runtime": "nvidia",
"runtimes": {
"nvidia": {
"path": "/usr/bin/nvidia-container-runtime",
"runtimeArgs": []
}
}
}
EOF
महत्वपूर्ण: अगर which nvidia-container-runtime ने अलग पथ रिटर्न किया है, तो JSON कॉन्फ़िगरेशन में "path" मान को अनुरूप अपडेट करें।
डॉकर सर्विस को रीस्टार्ट करें
कॉन्फ़िगरेशन लागू करने के लिए डॉकर को रीस्टार्ट करें:
sudo systemctl restart docker
कॉन्फ़िगरेशन की पुष्टि करें
सुनिश्चित करें कि NVIDIA रनटाइम कॉन्फ़िगर किया गया है:
docker info | grep -i runtime
आउटपुट में Default Runtime: nvidia दिखना चाहिए।
चरण 2: GPU समर्थन के साथ डॉकर मॉडल रनर इंस्टॉल करें
डॉकर मॉडल रनर को GPU समर्थन के साथ इंस्टॉल या पुनः इंस्टॉल करना होगा। रनर कंटेनर को CUDA-सक्षम संस्करण होना चाहिए।
चल रहे रनर को रोकें (अगर चल रहा है)
अगर डॉकर मॉडल रनर पहले से इंस्टॉल है, तो पहले इसे रोकें:
docker model stop-runner
CUDA समर्थन के साथ इंस्टॉल/पुनः इंस्टॉल करें
CUDA GPU समर्थन के साथ डॉकर मॉडल रनर को इंस्टॉल या पुनः इंस्टॉल करें:
docker model reinstall-runner --gpu cuda
इस कमांड का कार्य है:
- CUDA-सक्षम संस्करण (
docker/model-runner:latest-cuda) को CPU-केवल संस्करण के बजाय पुल करता है - रनर कंटेनर को NVIDIA रनटाइम का उपयोग करने के लिए कॉन्फ़िगर करता है
- सभी मॉडल के लिए GPU त्वरक सक्षम करता है
नोट: अगर आपने पहले GPU समर्थन के बिना डॉकर मॉडल रनर इंस्टॉल किया है, तो आपको --gpu cuda फ्लैग के साथ इसे पुनः इंस्टॉल करना होगा। केवल डॉकर डेमन को कॉन्फ़िगर करना पर्याप्त नहीं है—रनर कंटेनर को CUDA-सक्षम संस्करण होना चाहिए।
उपलब्ध GPU बैकएंड्स
डॉकर मॉडल रनर कई GPU बैकएंड्स का समर्थन करता है:
cuda- NVIDIA CUDA (NVIDIA GPUs के लिए सबसे आम)rocm- AMD ROCm (AMD GPUs के लिए)musa- Moore Threads MUSAcann- Huawei CANNauto- स्वचालित पता लगाना (डिफ़ॉल्ट, सही ढंग से काम नहीं कर सकता)none- CPU केवल
NVIDIA GPUs के लिए, हमेशा --gpu cuda स्पष्ट रूप से उपयोग करें।
चरण 3: GPU पहुंच की पुष्टि करें
इंस्टॉलेशन के बाद, सुनिश्चित करें कि डॉकर मॉडल रनर आपकी GPU तक पहुंच सकता है।
रनर कंटेनर GPU पहुंच का परीक्षण करें
डॉकर मॉडल रनर कंटेनर के भीतर से GPU पहुंच का परीक्षण करें:
docker exec docker-model-runner nvidia-smi
यह आपकी GPU जानकारी प्रदर्शित करना चाहिए, जिससे पुष्टि होती है कि कंटेनर को GPU पहुंच है।
रनर स्थिति की जांच करें
सुनिश्चित करें कि डॉकर मॉडल रनर चल रहा है:
docker model status
आपको यह देखना चाहिए कि रनर सक्रिय है और llama.cpp समर्थन के साथ है।
चरण 4: GPU के साथ मॉडल का परीक्षण करें
एक मॉडल चलाएं और सुनिश्चित करें कि यह GPU का उपयोग कर रहा है।
एक मॉडल चलाएं
मॉडल इन्फरेंस शुरू करें:
docker model run ai/qwen3:14B-Q6_K "who are you?"
लॉग्स में GPU उपयोग की पुष्टि करें
डॉकर मॉडल रनर लॉग्स में GPU की पुष्टि के लिए देखें:
docker model logs | grep -i cuda
आपको GPU उपयोग का संकेत देने वाले संदेश देखने चाहिए:
using device CUDA0 (NVIDIA GeForce RTX 4080)- GPU डिवाइस पता लगाया गयाoffloaded 41/41 layers to GPU- मॉडल लेयर्स GPU पर लोड किए गएCUDA0 model buffer size = 10946.13 MiB- GPU मेमोरी आवंटनCUDA0 KV buffer size = 640.00 MiB- GPU पर की-वैल्यू कैशCUDA0 compute buffer size = 306.75 MiB- GPU पर कंप्यूट बफर
GPU उपयोग का निगरानी करें
एक और टर्मिनल में, मॉडल चलाने के दौरान GPU उपयोग को रियल-टाइम में निगरानी करें:
nvidia-smi -l 1
आपको GPU मेमोरी उपयोग और उपयोगिता बढ़ती देखनी चाहिए।
अधिक उन्नत GPU निगरानी विकल्पों और टूल्स के लिए, हमारी गाइड देखें Linux / Ubuntu में GPU निगरानी एप्लिकेशन्स।
समस्या निवारण
मॉडल अभी भी CPU का उपयोग कर रहा है
अगर मॉडल अभी भी CPU पर चल रहा है:
-
डॉकर डेमन कॉन्फ़िगरेशन की पुष्टि करें:
docker info | grep -i runtimeDefault Runtime: nvidiaदिखना चाहिए -
रनर कंटेनर रनटाइम की जांच करें:
docker inspect docker-model-runner | grep -A 2 '"Runtime"'"Runtime": "nvidia"दिखना चाहिए -
GPU समर्थन के साथ रनर को पुनः इंस्टॉल करें:
docker model reinstall-runner --gpu cuda -
लॉग्स में त्रुटियों की जांच करें:
docker model logs | tail -50
GPU पता नहीं चल रहा
अगर GPU पता नहीं चल रहा:
-
सुनिश्चित करें कि NVIDIA कंटेनर टूलकिट इंस्टॉल किया गया है:
dpkg -l | grep nvidia-container-toolkit -
सामान्य डॉकर के साथ GPU पहुंच का परीक्षण करें:
docker run --rm --gpus all nvidia/cuda:12.2.2-base-ubi8 nvidia-smiडॉकर समस्याओं के समस्या निवारण के लिए, हमारी डॉकर चीटशीट संदर्भ करें।
-
NVIDIA ड्राइवरों की जांच करें:
nvidia-smi
प्रदर्शन समस्याएँ
अगर GPU प्रदर्शन खराब है:
-
GPU उपयोग की जांच करें:
nvidia-smiउच्च GPU उपयोग प्रतिशत देखें
-
सुनिश्चित करें कि मॉडल लेयर्स GPU पर हैं:
docker model logs | grep "offloaded.*layers to GPU"सभी लेयर्स को GPU पर ऑफलोड किया जाना चाहिए
-
मेमोरी समस्याओं की जांच करें:
nvidia-smiसुनिश्चित करें कि GPU मेमोरी खत्म नहीं हो गई है
सर्वोत्तम प्रथाएँ
-
हमेशा GPU बैकएंड स्पष्ट रूप से निर्दिष्ट करें: NVIDIA GPUs के लिए
--gpu cudaका उपयोग करें--gpu autoके बजाय सही कॉन्फ़िगरेशन सुनिश्चित करने के लिए। -
परिवर्तनों के बाद कॉन्फ़िगरेशन की पुष्टि करें: डॉकर डेमन सेटिंग्स को बदलने के बाद हमेशा
docker info | grep -i runtimeकी जांच करें। -
GPU उपयोग का निगरानी करें: मॉडल इन्फरेंस के दौरान
nvidia-smiका उपयोग करके GPU मेमोरी और उपयोग का निगरानी करें। अधिक उन्नत निगरानी टूल्स के लिए, हमारी गाइड देखें Linux / Ubuntu में GPU निगरानी एप्लिकेशन्स। -
लॉग्स को नियमित रूप से देखें: सुनिश्चित करें कि मॉडल GPU त्वरक का उपयोग कर रहे हैं
docker model logsकी समीक्षा करें। -
उपयुक्त मॉडल साइज का उपयोग करें: सुनिश्चित करें कि आपके GPU में मॉडल के लिए पर्याप्त मेमोरी है। GPU मेमोरी दक्षता के लिए क्वांटाइज्ड मॉडल (Q4, Q5, Q6, Q8) का उपयोग करें। AI वर्कलोड्स के लिए सही GPU चुनने में मदद के लिए, हमारी गाइड देखें NVidia GPU स्पेसिफिकेशन्स की तुलना AI के लिए उपयुक्तता।
उपयोगी लिंक्स
- डॉकर मॉडल रनर चीटशीट
- डॉकर मॉडल रनर आधिकारिक दस्तावेज़ीकरण
- NVIDIA कंटेनर टूलकिट इंस्टॉलेशन गाइड
- डॉकर मॉडल रनर vs Ollama तुलना
- Ollama चीटशीट - बिल्ट-इन GPU समर्थन वाला विकल्प LLM होस्टिंग समाधान
- डॉकर चीटशीट - डॉकर कमांड्स और कॉन्फ़िगरेशन के लिए पूर्ण संदर्भ
- Linux / Ubuntu में GPU निगरानी एप्लिकेशन्स - NVIDIA GPU निगरानी टूल्स की सूची और तुलना
- NVidia GPU स्पेसिफिकेशन्स की तुलना AI के लिए उपयुक्तता - AI वर्कलोड्स के लिए सही GPU चुनने की गाइड