<インテル® Gaudi® AI アクセラレーターを活用した最適化>
• 新たなディープラーニング・モデルの作成も既存コードの移植も数分で完了
• シンプルな開発と生産性の向上を両立しながら生成 AI のパフォーマンスを実現
詳細情報
https://www.intel.com/content/www/us/en/developer/platform/gaudi/overview.html
このチュートリアルでは、マシンに搭載されている AI アクセラレーターのタイプ (GPU、CPU、インテル® Gaudi® AI アクセラレーター) を自動で検出するコードの記述方法と、そのコードをスムーズに実行するために必要な変更の手順について説明します。開発者ならば、異なるタイプの AI アクセラレーターを同じモデルコードで動かしたいと考えるのではないでしょうか。例えば、GPU が搭載された開発用のノートブック PC で PyTorch コードを記述したいけれども、コードを実行するのはインテル® Gaudi® AI アクセラレーターが搭載された学習処理サーバーを想定している場合、最小限のコード変更だけで、共通のコードをベースに複数のハードウェア・プラットフォームを簡単に動かすことが可能です。
このチュートリアルでは、インテル® Gaudi® AI アクセラレーターを使用して学習処理を開始する のページで説明している torch_compile.py を例に、数カ所の調整だけで異なるプラットフォームにわたり利用可能なコードの記述方法を紹介します。torch_compile.py のコード例は次のとおりです。
https://docs.habana.ai/en/latest/PyTorch/Getting_Started_with_PyTorch_and_Gaudi/Getting_Started_with_PyTorch.html
このコードを対象のプラットフォーム上にある torch_compile.py ファイルにコピーすると、次のコマンドを使用して実行できるようになります。
PyTorch は有効だけれどもインテル® Gaudi® ソフトウェアがインストールされていない環境でこのコードを実行すると、次のようなエラーが発生します。
この不具合を回避するには、次のように import habana_frameworks ステートメントを try/except ブロックで括ります。
インポートの失敗が原因で例外がスローされた場合、このコードから htcore と hthpu の両方に None 値が渡されます。これはインテル® Gaudi® ソフトウェア・スタックがインストールされていない、または対象のプラットフォームで利用できないことを示しています。コードを再度実行してください。以下のようなエラーが出力されます。
コードは import ステートメントで失敗してはいないものの、やはりモデルをインテル® Gaudi® アクセラレーターのバックエンドへ移動させようとしています。これはインテル® Gaudi® ソフトウェアまたはドライバーなしではサポートされていません。アクセラレーター (HPU) を有効化する元の行は、以下のとおりです。
この行を、最も有効なハードウェアを動的に選択するコードに置き換えます。
None 値は、habana_frameworks モジュールがインストールされていない場合に hthpu へ渡され、インテル® Gaudi® ソフトウェアがインストールされているかの判断に使用できることを覚えておいてください。インストールされている場合、コードは is_available() API を使用して、サーバーにインテル® Gaudi® アクセラレーターが搭載されているかを動的に識別します。インテル® Gaudi® アクセラレーターを利用できない場合は、この API に相当する CUDA API によってサーバーに GPU が搭載されているかを判断します。見つからない場合、コードは CPU を使用します。
https://docs.habana.ai/en/latest/PyTorch/PyTorch_User_Guide/Python_Packages.html#hpu-apis
次に、インテル® Gaudi® ソフトウェアがインストールされている場合のみ、hpu_backend オプションを使用してモデルをコンパイルします。
これで GPU、CPU、インテル® Gaudi® AI アクセラレーターのいずれでも、このコードを実行できるようになりました。
関連記事
インテル® Gaudi® アクセラレーター, PyTorch, Python API
https://docs.habana.ai/en/latest/PyTorch/PyTorch_User_Guide/Python_Packages.html
製品およびパフォーマンスに関する情報
性能は、使用状況、構成、その他の要因によって異なります。詳細については、https://www.Intel.com/PerformanceIndex/ (英語) を参照してください。
関連情報:
インテル® Gaudi® 3 アクセラレーター
https://www.intel.co.jp/content/www/jp/ja/products/details/processors/ai-accelerators/gaudi.html