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 GPU driver 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 GPU versi yang didukung untuk setiap opsi Inferensi. Versi driver yang berbeda dapat mengubah cara model Anda berinteraksi dengan. GPUs 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 GPU beban kerja, lihat panduan berikut:

Jalankan perintah nvidia-smi (NVIDIASystem Management Interface) dari dalam wadah Docker. Jika Antarmuka Manajemen NVIDIA Sistem mendeteksi kesalahan GPU deteksi atau kesalahan NVIDIA inisialisasi, 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 NVIDIA Sistem di NVIDIA situs web untuk informasi lebih lanjut.

Jika GPU instans Anda menggunakan versi NVIDIA driver yang tidak kompatibel dengan CUDA versi dalam 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 GPU driver Anda:

Tidak ada tindakan yang diperlukan. NVIDIAmenyediakan kompatibilitas mundur.

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

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

penting

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

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

Untuk memverifikasi apakah platform versi driver Nvidia mendukung versi CUDA Compatibility Package yang diinstal dalam wadah model, lihat CUDAdokumentasi. Jika platform versi driver Nvidia tidak mendukung versi CUDA Compatibility Package, Anda dapat menonaktifkan atau menghapus CUDA Compatibility Package dari image container model. Jika versi libs CUDA kompatibilitas 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 Paket Kompatibilitas 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, Paket CUDA Kompatibilitas yang diinstal dapat dimatikan secara otomatis jika CUDA aplikasi 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