Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

GPU ドライバーのアップグレード中の中断を最小限に抑えるためのベストプラクティス

フォーカスモード
GPU ドライバーのアップグレード中の中断を最小限に抑えるためのベストプラクティス - Amazon SageMaker AI

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

SageMaker AI Model Deployment は、リアルタイム、バッチ、非同期推論オプション用に ML インスタンスの GPU ドライバーを経時的にアップグレードし、ドライバープロバイダーからの改善点へのアクセスを顧客に提供します。以下に、各推論オプションでサポートされている GPU バージョンを示します。ドライバーのバージョンが異なると、モデルが GPU とやり取りする方法が変わる可能性があります。以下は、アプリケーションがさまざまなドライバーバージョンでどのように動作するかを理解するのに役立つ戦略の一部です。

現在のバージョンとサポートされているインスタンスファミリー

Amazon SageMaker AI Inference は、以下のドライバーとインスタンスファミリーをサポートしています。

サービス GPU ドライバーバージョン CUDA バージョン インスタンスのタイプ
リアルタイム NVIDIA 470 CUDA 11.4 ml.p2.*、ml.p3.*、ml.p4d.*、ml.p4de.*、ml.g4dn.*、ml.g5.*
535 CUDA 12.2 ml.p5.*、ml.g6.*
550 CUDA 12.4 ml.p5e.*、ml.p5en.*
非同期推論 NVIDIA 470 CUDA 11.4 ml.p2.*、ml.p3.*、ml.p4d.*、ml.p4de.*、ml.g4dn.*、ml.g5*
470 CUDA 12.2 ml.p5.*、ml.g6.*
550 CUDA 12.4 ml.p5e.*、ml.p5en.*
バッチ NVIDIA 470 CUDA 11.4 ml.p2.*、ml.p3.*、ml.p4d.*、ml.p4de.*、ml.g4dn.*、ml.g5*

GPU 機能に関連するモデルコンテナのトラブルシューティング

GPU ワークロードを実行中に問題が発生した場合は、次のガイダンスを参照してください。

Docker コンテナ内から nvidia-smi (NVIDIA システム管理インターフェイス) コマンドを実行します。NVIDIA システム管理インターフェイスにより GPU 検出エラーまたは NVIDIA 初期化エラーが検出されると、次のエラーメッセージが返されます。

Failed to initialize NVML: Driver/library version mismatch

ユースケースに応じて、以下のベストプラクティスに従って障害またはエラーを解決します。

詳細については、NVIDIA Web サイトの NVIDIA システム管理インターフェイスのページを参照してください。

GPU カードの検出エラーまたは NVIDIA 初期化エラー

Docker コンテナ内から nvidia-smi (NVIDIA システム管理インターフェイス) コマンドを実行します。NVIDIA システム管理インターフェイスにより GPU 検出エラーまたは NVIDIA 初期化エラーが検出されると、次のエラーメッセージが返されます。

Failed to initialize NVML: Driver/library version mismatch

ユースケースに応じて、以下のベストプラクティスに従って障害またはエラーを解決します。

詳細については、NVIDIA Web サイトの NVIDIA システム管理インターフェイスのページを参照してください。

GPU インスタンスで使用されている NVIDIA ドライバーのバージョンが Docker コンテナの CUDA バージョンと互換性がない場合、エンドポイントのデプロイは失敗し、次のエラーメッセージが表示されます。

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

ユースケースに応じて、以下のベストプラクティスに従って障害またはエラーを解決します。

CannotStartContainerError

GPU インスタンスで使用されている NVIDIA ドライバーのバージョンが Docker コンテナの CUDA バージョンと互換性がない場合、エンドポイントのデプロイは失敗し、次のエラーメッセージが表示されます。

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

ユースケースに応じて、以下のベストプラクティスに従って障害またはエラーを解決します。

ドライバのバージョンが一致しない場合のベストプラクティス

以下に、GPU ドライバーの更新方法に関する情報を示します。

アクションは必要ありません。NVIDIA には下位互換性があります。

コンテナが依存しているドライバーが ML GPU インスタンスのバージョンよりも古い

アクションは必要ありません。NVIDIA には下位互換性があります。

マイナーバージョンアップによる違いであれば、何もする必要はありません。NVIDIA はマイナーバージョンでの上位互換性を備えています。

メジャーバージョンアップによる違いであれば、CUDA Compatibility Package をインストールする必要があります。NVIDIA ドキュメントの 「CUDA Compatibility Package」を参照してください。

重要

CUDA Compatibility Package は下位互換性を備えていないため、インスタンスのドライバーバージョンが CUDA Compatibility Package バージョンよりも新しい場合は、無効にする必要があります。

マイナーバージョンアップによる違いであれば、何もする必要はありません。NVIDIA はマイナーバージョンでの上位互換性を備えています。

メジャーバージョンアップによる違いであれば、CUDA Compatibility Package をインストールする必要があります。NVIDIA ドキュメントの 「CUDA Compatibility Package」を参照してください。

重要

CUDA Compatibility Package は下位互換性を備えていないため、インスタンスのドライバーバージョンが CUDA Compatibility Package バージョンよりも新しい場合は、無効にする必要があります。

ホスト上の NVIDIA ドライバーバージョンと競合する可能性のある NVIDIA ドライバーパッケージがイメージにバンドルされていないことを確認してください。

ホスト上の NVIDIA ドライバーバージョンと競合する可能性のある NVIDIA ドライバーパッケージがイメージにバンドルされていないことを確認してください。

プラットフォームの Nvidia ドライバーバージョンが、モデルコンテナにインストールされている CUDA Compatibility Package バージョンをサポートしているかどうかを確認するには、CUDA のドキュメントを参照してください。プラットフォームの Nvidia ドライバーバージョンが CUDA Compatibility Package をサポートしていない場合は、CUDA Compatibility Package を無効化するか、モデルコンテナイメージから CUDA Compatibility Package 削除します。CUDA Compatibility libs のバージョンが最新の Nvidia ドライバーバージョンでサポートされている場合は、以下のコードスニペットをコンテナ起動シェルスクリプト (ENTRYPOINT スクリプト) に追加して、将来の互換性を保障するために、検出された Nvidia ドライバーバージョンに基づいて CUDA Compatibility Package を有効にすることをお勧めします。

このスクリプトは、モデルコンテナのデプロイされたホストで検出された Nvidia ドライバーバージョンに基づいて、CUDA Compatibility Package の使用を動的に切り替える方法を示しています。SageMaker が新しいバージョンの Nvidia ドライバーをリリースする際、CUDA アプリケーションが新しいドライバーでネイティブにサポートされていれば、インストールされている CUDA Compatibility Package が自動的にオフになります。

#!/bin/bash verlt() { [ "$1" = "$2" ] && return 1 || [ "$1" = "$(echo -e "$1\n$2" | sort -V | head -n1)" ] } if [ -f /usr/local/cuda/compat/libcuda.so.1 ]; then CUDA_COMPAT_MAX_DRIVER_VERSION=$(readlink /usr/local/cuda/compat/libcuda.so.1 | cut -d'.' -f 3-) echo "CUDA compat package should be installed for NVIDIA driver smaller than ${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 verlt $NVIDIA_DRIVER_VERSION $CUDA_COMPAT_MAX_DRIVER_VERSION; then echo "Adding CUDA compat to LD_LIBRARY_PATH" export LD_LIBRARY_PATH=/usr/local/cuda/compat:$LD_LIBRARY_PATH echo $LD_LIBRARY_PATH else echo "Skipping CUDA compat setup as newer NVIDIA driver is installed" fi else echo "Skipping CUDA compat setup as package not found" fi

プラットフォームの Nvidia ドライバーバージョンが、モデルコンテナにインストールされている CUDA Compatibility Package バージョンをサポートしているかどうかを確認するには、CUDA のドキュメントを参照してください。プラットフォームの Nvidia ドライバーバージョンが CUDA Compatibility Package をサポートしていない場合は、CUDA Compatibility Package を無効化するか、モデルコンテナイメージから CUDA Compatibility Package 削除します。CUDA Compatibility libs のバージョンが最新の Nvidia ドライバーバージョンでサポートされている場合は、以下のコードスニペットをコンテナ起動シェルスクリプト (ENTRYPOINT スクリプト) に追加して、将来の互換性を保障するために、検出された Nvidia ドライバーバージョンに基づいて CUDA Compatibility Package を有効にすることをお勧めします。

このスクリプトは、モデルコンテナのデプロイされたホストで検出された Nvidia ドライバーバージョンに基づいて、CUDA Compatibility Package の使用を動的に切り替える方法を示しています。SageMaker が新しいバージョンの Nvidia ドライバーをリリースする際、CUDA アプリケーションが新しいドライバーでネイティブにサポートされていれば、インストールされている CUDA Compatibility Package が自動的にオフになります。

#!/bin/bash verlt() { [ "$1" = "$2" ] && return 1 || [ "$1" = "$(echo -e "$1\n$2" | sort -V | head -n1)" ] } if [ -f /usr/local/cuda/compat/libcuda.so.1 ]; then CUDA_COMPAT_MAX_DRIVER_VERSION=$(readlink /usr/local/cuda/compat/libcuda.so.1 | cut -d'.' -f 3-) echo "CUDA compat package should be installed for NVIDIA driver smaller than ${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 verlt $NVIDIA_DRIVER_VERSION $CUDA_COMPAT_MAX_DRIVER_VERSION; then echo "Adding CUDA compat to LD_LIBRARY_PATH" export LD_LIBRARY_PATH=/usr/local/cuda/compat:$LD_LIBRARY_PATH echo $LD_LIBRARY_PATH else echo "Skipping CUDA compat setup as newer NVIDIA driver is installed" fi else echo "Skipping CUDA compat setup as package not found" fi
プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.