Menambahkan Dukungan GPU NVIDIA ke Docker Model Runner
Aktifkan percepatan GPU untuk Docker Model Runner dengan dukungan NVIDIA CUDA
Docker Model Runner adalah alat resmi Docker untuk menjalankan model AI secara lokal, tetapi mengaktifkan percepatan GPU NVidia di Docker Model Runner memerlukan konfigurasi khusus.
Berbeda dengan perintah docker run standar, docker model run tidak mendukung flag --gpus atau -e, sehingga dukungan GPU harus dikonfigurasi pada tingkat daemon Docker dan saat instalasi runner.
Jika Anda mencari solusi hosting LLM alternatif dengan konfigurasi GPU yang lebih mudah, pertimbangkan Ollama, yang memiliki dukungan GPU bawaan dan pengaturan yang lebih sederhana. Namun, Docker Model Runner menawarkan integrasi yang lebih baik dengan ekosistem Docker dan distribusi artefak OCI.
Gambar yang menarik ini dihasilkan oleh AI model Flux 1 dev.
Prasyarat
Sebelum mengonfigurasi dukungan GPU, pastikan Anda memiliki:
- GPU NVIDIA dengan driver yang kompatibel terinstal. Untuk bantuan memilih GPU yang tepat untuk beban kerja AI, lihat panduan kami tentang Membandingkan spesifikasi GPU NVidia yang cocok untuk AI.
- NVIDIA Container Toolkit terinstal (lihat Bagian dukungan NVIDIA RTX)
- Docker Model Runner terinstal (dapat diinstal ulang dengan dukungan GPU)
Verifikasi bahwa GPU Anda dapat diakses:
nvidia-smi
Uji akses GPU Docker:
docker run --rm --gpus all nvidia/cuda:12.2.2-base-ubi8 nvidia-smi
Untuk lebih banyak perintah Docker dan opsi konfigurasi, lihat Docker Cheatsheet.
Langkah 1: Konfigurasi Daemon Docker untuk Runtime NVIDIA
Docker Model Runner memerlukan runtime NVIDIA sebagai runtime default dalam konfigurasi daemon Docker.
Cari Jalur Runtime Container NVIDIA
Pertama, temukan di mana nvidia-container-runtime terinstal:
which nvidia-container-runtime
Biasanya menghasilkan /usr/bin/nvidia-container-runtime. Catat jalur ini untuk langkah berikutnya.
Konfigurasi Daemon Docker
Buat atau perbarui /etc/docker/daemon.json untuk mengatur NVIDIA sebagai runtime default:
sudo tee /etc/docker/daemon.json > /dev/null << 'EOF'
{
"default-runtime": "nvidia",
"runtimes": {
"nvidia": {
"path": "/usr/bin/nvidia-container-runtime",
"runtimeArgs": []
}
}
}
EOF
Penting: Jika which nvidia-container-runtime mengembalikan jalur yang berbeda, perbarui nilai "path" dalam konfigurasi JSON sesuai.
Restart Layanan Docker
Terapkan konfigurasi dengan merestart Docker:
sudo systemctl restart docker
Verifikasi Konfigurasi
Konfirmasi bahwa runtime NVIDIA telah dikonfigurasi:
docker info | grep -i runtime
Anda harus melihat Default Runtime: nvidia dalam output.
Langkah 2: Instal Docker Model Runner dengan Dukungan GPU
Docker Model Runner harus diinstal atau diinstal ulang dengan dukungan GPU yang eksplisit. Kontainer runner itu sendiri harus berupa versi CUDA-enabled.
Berhenti Runner Saat Ini (jika berjalan)
Jika Docker Model Runner sudah terinstal, berhentikan terlebih dahulu:
docker model stop-runner
Instal/Ulang dengan Dukungan CUDA
Instal atau instal ulang Docker Model Runner dengan dukungan GPU CUDA:
docker model reinstall-runner --gpu cuda
Perintah ini:
- Menarik versi CUDA-enabled (
docker/model-runner:latest-cuda) alih-alih versi hanya CPU - Mengkonfigurasi kontainer runner untuk menggunakan runtime NVIDIA
- Mengaktifkan percepatan GPU untuk semua model
Catatan: Jika Anda sudah menginstal Docker Model Runner tanpa dukungan GPU, Anda harus menginstal ulang dengan flag --gpu cuda. Hanya mengkonfigurasi daemon Docker tidak cukup — kontainer runner itu sendiri harus berupa versi CUDA-enabled.
Backend GPU yang Tersedia
Docker Model Runner mendukung beberapa backend GPU:
cuda- NVIDIA CUDA (paling umum untuk GPU NVIDIA)rocm- AMD ROCm (untuk GPU AMD)musa- Moore Threads MUSAcann- Huawei CANNauto- Deteksi otomatis (default, mungkin tidak bekerja dengan benar)none- Hanya CPU
Untuk GPU NVIDIA, selalu gunakan --gpu cuda secara eksplisit.
Langkah 3: Verifikasi Akses GPU
Setelah instalasi, verifikasi bahwa Docker Model Runner dapat mengakses GPU Anda.
Periksa Akses GPU dalam Kontainer Runner
Uji akses GPU dari dalam kontainer Docker Model Runner:
docker exec docker-model-runner nvidia-smi
Ini harus menampilkan informasi GPU Anda, mengonfirmasi bahwa kontainer memiliki akses GPU.
Periksa Status Runner
Verifikasi bahwa Docker Model Runner sedang berjalan:
docker model status
Anda harus melihat runner aktif dengan dukungan llama.cpp.
Langkah 4: Uji Model dengan GPU
Jalankan model dan verifikasi bahwa model menggunakan GPU.
Jalankan Model
Mulai inferensi model:
docker model run ai/qwen3:14B-Q6_K "who are you?"
Verifikasi Penggunaan GPU dalam Log
Periksa log Docker Model Runner untuk konfirmasi GPU:
docker model logs | grep -i cuda
Anda harus melihat pesan yang menunjukkan penggunaan GPU:
using device CUDA0 (NVIDIA GeForce RTX 4080)- Perangkat GPU terdeteksioffloaded 41/41 layers to GPU- Lapisan model dimuat ke GPUCUDA0 model buffer size = 10946.13 MiB- Alokasi memori GPUCUDA0 KV buffer size = 640.00 MiB- Cache key-value di GPUCUDA0 compute buffer size = 306.75 MiB- Buffer komputasi di GPU
Pantau Penggunaan GPU
Dalam terminal lain, pantau penggunaan GPU secara real-time:
nvidia-smi -l 1
Anda harus melihat peningkatan penggunaan memori dan utilitas GPU saat model berjalan.
Untuk opsi pemantauan GPU yang lebih lanjut dan alat-alatnya, lihat panduan kami tentang Aplikasi pemantauan GPU di Linux / Ubuntu.
Penyelesaian Masalah
Model Masih Menggunakan CPU
Jika model masih berjalan di CPU:
-
Verifikasi konfigurasi daemon Docker:
docker info | grep -i runtimeHarus menampilkan
Default Runtime: nvidia -
Periksa runtime kontainer runner:
docker inspect docker-model-runner | grep -A 2 '"Runtime"'Harus menampilkan
"Runtime": "nvidia" -
Instal ulang runner dengan dukungan GPU:
docker model reinstall-runner --gpu cuda -
Periksa log untuk kesalahan:
docker model logs | tail -50
GPU Tidak Terdeteksi
Jika GPU tidak terdeteksi:
-
Verifikasi NVIDIA Container Toolkit terinstal:
dpkg -l | grep nvidia-container-toolkit -
Uji akses GPU dengan Docker standar:
docker run --rm --gpus all nvidia/cuda:12.2.2-base-ubi8 nvidia-smiUntuk menyelesaikan masalah Docker, lihat Docker Cheatsheet.
-
Periksa driver NVIDIA:
nvidia-smi
Masalah Kinerja
Jika kinerja GPU buruk:
-
Periksa utilitas GPU:
nvidia-smiCari persentase utilitas GPU yang tinggi
-
Verifikasi lapisan model berada di GPU:
docker model logs | grep "offloaded.*layers to GPU"Semua lapisan harus dialihkan ke GPU
-
Periksa masalah memori:
nvidia-smiPastikan memori GPU tidak habis
Praktik Terbaik
-
Selalu tentukan backend GPU secara eksplisit: Gunakan
--gpu cudaalih-alih--gpu autountuk GPU NVIDIA untuk memastikan konfigurasi yang benar. -
Verifikasi konfigurasi setelah perubahan: Selalu periksa
docker info | grep -i runtimesetelah mengubah pengaturan daemon Docker. -
Pantau penggunaan GPU: Gunakan
nvidia-smiuntuk memantau penggunaan memori dan utilitas GPU selama inferensi model. Untuk alat pemantauan yang lebih lanjut, lihat panduan kami tentang Aplikasi pemantauan GPU di Linux / Ubuntu. -
Periksa log secara berkala: Tinjau
docker model logsuntuk memastikan model menggunakan percepatan GPU. -
Gunakan ukuran model yang sesuai: Pastikan GPU Anda memiliki memori yang cukup untuk model. Gunakan model yang dikuantisasi (Q4, Q5, Q6, Q8) untuk efisiensi memori GPU yang lebih baik. Untuk bantuan memilih GPU yang tepat untuk beban kerja AI Anda, lihat panduan kami tentang Membandingkan spesifikasi GPU NVidia yang cocok untuk AI.
Tautan yang Berguna
- Docker Model Runner Cheatsheet
- Dokumentasi Resmi Docker Model Runner
- Panduan Instalasi NVIDIA Container Toolkit
- Perbandingan Docker Model Runner vs Ollama
- Ollama Cheatsheet - Solusi hosting LLM alternatif dengan dukungan GPU bawaan
- Docker Cheatsheet - Referensi lengkap untuk perintah dan konfigurasi Docker
- Aplikasi pemantauan GPU di Linux / Ubuntu - Daftar dan perbandingan alat pemantauan GPU NVIDIA
- Membandingkan spesifikasi GPU NVidia yang cocok untuk AI - Panduan memilih GPU yang tepat untuk beban kerja AI