Praktik terbaik untuk meminimalkan gangguan selama peningkatan driver GPU - Amazon SageMaker

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Praktik terbaik untuk meminimalkan gangguan selama peningkatan driver GPU

SageMaker Model Deployment memutakhirkan driver GPU pada instans ML untuk opsi Inferensi Real-time, Batch, dan Asynchronous dari waktu ke waktu untuk memberi pelanggan akses ke peningkatan dari penyedia driver. Di bawah ini Anda dapat melihat versi GPU yang didukung untuk setiap opsi Inferensi. Versi driver yang berbeda dapat mengubah cara model Anda berinteraksi dengan GPU. Di bawah ini adalah beberapa strategi untuk membantu Anda memahami cara kerja aplikasi Anda dengan versi driver yang berbeda.

Versi saat ini dan keluarga instans yang didukung

Amazon SageMaker Inference mendukung driver dan keluarga instans berikut:

Layanan GPU Versi Driver Tipe instans
Real-time NVIDIA 470.57.02 ml.p2.*, ml.p3.*, ml.p4d.*, ml.p4de.*, ml.g4dn.*, ml.g5. *
535.54.03 ml.p5.*, ml.g6. *
Batch NVIDIA 470.57.02 ml.p2.*, ml.p3.*, ml.p4d.*, ml.p4de.*, ml.g4dn.*, ml.g5*
Inferensi Asinkron NVIDIA 470.57.02 ml.p2.*, ml.p3.*, ml.p4d.*, ml.p4de.*, ml.g4dn.*, ml.g5*
535.54.03 ml.p5.*, ml.g6. *

Memecahkan masalah wadah model Anda dengan kemampuan GPU

Jika Anda mengalami masalah saat menjalankan beban kerja GPU, lihat panduan berikut:

Jalankan perintah nvidia-smi (NVIDIA System Management Interface) dari dalam wadah Docker. Jika Antarmuka Manajemen Sistem NVIDIA mendeteksi kesalahan deteksi GPU atau kesalahan inisialisasi NVIDIA, itu akan mengembalikan pesan kesalahan berikut:

Failed to initialize NVML: Driver/library version mismatch

Berdasarkan kasus penggunaan Anda, ikuti praktik terbaik berikut ini untuk mengatasi kegagalan atau kesalahan:

Lihat halaman Antarmuka Manajemen Sistem NVIDIA di situs web NVIDIA untuk informasi lebih lanjut.

Jika instans GPU Anda menggunakan versi driver NVIDIA yang tidak kompatibel dengan versi CUDA di wadah Docker, maka penerapan titik akhir akan gagal dengan pesan kesalahan berikut:

Failure reason CannotStartContainerError. Please ensure the model container for variant <variant_name> starts correctly when invoked with 'docker run <image> serve'

Berdasarkan kasus penggunaan Anda, ikuti praktik terbaik berikut ini untuk mengatasi kegagalan atau kesalahan:

Praktik terbaik untuk bekerja dengan versi driver yang tidak cocok

Berikut ini memberikan informasi tentang cara memperbarui driver GPU Anda:

Tidak ada tindakan yang diperlukan. NVIDIA menyediakan kompatibilitas mundur.

Jika ini adalah perbedaan versi kecil, tidak ada tindakan yang diperlukan. NVIDIA menyediakan kompatibilitas maju versi minor.

Jika itu adalah perbedaan versi utama, CUDA Compatibility Package perlu diinstal. Silakan merujuk ke CUDA Compatibility Package dalam dokumentasi NVIDIA.

penting

CUDA Compatibility Package tidak kompatibel ke belakang sehingga perlu dinonaktifkan jika versi driver pada instance lebih besar dari versi CUDA Compatibility Package.

Pastikan tidak ada paket driver NVIDIA yang dibundel dalam gambar yang dapat menyebabkan konflik dengan versi driver NVIDIA host.

Untuk memverifikasi apakah platform versi driver Nvidia mendukung versi CUDA Compatibility Package yang diinstal dalam wadah model, lihat dokumentasi CUDA. Jika platform versi driver Nvidia tidak mendukung versi CUDA Compatibility Package, Anda dapat menonaktifkan atau menghapus CUDA Compatibility Package dari gambar wadah model. Jika versi libs kompatibilitas CUDA didukung oleh versi driver Nvidia terbaru, kami sarankan Anda mengaktifkan CUDA Compatibility Package berdasarkan versi driver Nvidia yang terdeteksi untuk kompatibilitas masa depan dengan menambahkan cuplikan kode di bawah ini ke dalam skrip shell start up container (di skrip). ENTRYPOINT

Skrip menunjukkan cara mengganti penggunaan CUDA Compatibility Package secara dinamis berdasarkan versi driver Nvidia yang terdeteksi pada host yang digunakan untuk wadah model Anda. Saat SageMaker merilis versi driver Nvidia yang lebih baru, CUDA Compatibility Package yang diinstal dapat dimatikan secara otomatis jika aplikasi CUDA didukung secara native pada driver baru.

#!/bin/bash verlte() { [ "$1" = "$2" ] && return 1 || [ "$2" = "`echo -e "$1\n$2" | sort -V | head -n1`" ] } if [ -f /usr/local/cuda/compat/libcuda.so.1 ]; then cat /usr/local/cuda/version.txt CUDA_COMPAT_MAX_DRIVER_VERSION=$(readlink /usr/local/cuda/compat/libcuda.so.1 |cut -d'.' -f 3-) echo "CUDA compat package requires Nvidia driver ⩽${CUDA_COMPAT_MAX_DRIVER_VERSION}" NVIDIA_DRIVER_VERSION=$(sed -n 's/^NVRM.*Kernel Module *\([0-9.]*\).*$/\1/p' /proc/driver/nvidia/version 2>/dev/null || true) echo "Current installed Nvidia driver version is ${NVIDIA_DRIVER_VERSION}" if [ $(verlte $CUDA_COMPAT_MAX_DRIVER_VERSION $NVIDIA_DRIVER_VERSION) ]; then echo "Setup CUDA compatibility libs path to LD_LIBRARY_PATH" export LD_LIBRARY_PATH=/usr/local/cuda/compat:$LD_LIBRARY_PATH echo $LD_LIBRARY_PATH else echo "Skip CUDA compat libs setup as newer Nvidia driver is installed" fi else echo "Skip CUDA compat libs setup as package not found" fi