コンテンツにスキップ
ステージングサーバー
開発サーバー

pylon AI のはじめに#

このトピックでは、pylon AI 機能を使用するための開発環境のセットアップ方法について説明します。

pylon AI を使用するには、次のコンポーネントをインストールする必要があります。

  • pylon Software Suite
  • pylon AI 用 pylon Supplementary Package
    Supplementary Package のインストールについては、このトピックで説明します。
  • 使用する vTool のライセンスも必要です。ライセンスの取得方法とアクティベーション方法については、vTool ライセンスのトピックを参照してください。

pylon AI 用 pylon Supplementary Package は、AI vTool がディープラーニングモデルを実行できるようにするバックエンドサービスを提供します。このバックエンドサービスは、モデルの暗号化とライセンスをサポートする Basler アドオンを備えた NVIDIA Triton Inference Server です。

これは、開発環境における Triton Inference Server の配置の概要です。

AI 開発環境の概要

Triton Server のインストールには、次の 2 つのオプションがあります。

  • ローカルコンピュータ上
  • ネットワーク上のリモートコンピュータ上

1 つ目のオプションは独自のプロジェクトで 1 人で作業する場合に推奨され、2 つ目のオプションはチームで作業する場合に適しています。

Baslerでは、ライブの Triton サーバインスタンスの提供を行っておらず、サーバをパブリックなインターネットエンドポイントとして公開することもお勧めしていません。常に開発環境の一部として扱い、適切に保護する必要があります。

pylon AI 用 pylon Supplementary Package には、pylon AI vTools および pylon AI Agent で Triton Inference Server を使用できるように準備された変更済みの Docker イメージが含まれています。また、セットアップおよび起動スクリプト、リリースノート、サードパーティ製ライセンスの情報も含まれています。

システム要件#

Ubuntu および Ubuntu for WSL#

  • x86_64 CPU:最新のIntel Core i5(またはそれ以降)または同等のもの。
  • メモリ:最低8GBのRAMが必要です。16GB以上のRAMを推奨します。
  • ディスクタイプ:SSDをお勧めします。
  • ディスク容量:インストール用に最低 20 GB の空きディスク容量が必要です。モデルリポジトリに必要な容量は、導入予定のモデルのサイズと数によって異なります。モデルのサイズは、1 つあたり数メガバイトから数ギガバイトに及ぶ場合があります。
  • CUDAバージョン:12以上
  • GPUカード:適切なカードの例として、NVIDIA RTX A5000、NVIDIA RTX A2000 Laptop GPU、NVIDIA Tesla T4などが挙げられます。

情報

Triton Inference Serverの実行にはCPUでも十分ですが、より高速なパフォーマンスが必要な場合は、GPUの使用をお勧めします。

JetPack 6 搭載 Jetson ファミリー#

  • モジュール:すべての NVIDIA Jetson
  • メモリ:最低8GBのRAMが必要です。16GB以上のRAMを推奨します。
  • ディスクタイプ:SSDをお勧めします。
  • ディスク容量:インストール用に最低 20 GB の空きディスク容量が必要です。モデルリポジトリに必要な容量は、導入予定のモデルのサイズと数によって異なります。モデルのサイズは、1 つあたり数メガバイトから数ギガバイトに及ぶ場合があります。

前提条件#

情報

  • インストールプロセス中はインターネット接続が必要です。

  • ローカルコンピュータ上でポート8000、8001、8002、および22350がブロックされていないことを確認してください。
    ユーザー側の環境におけるシナリオの多様性と複雑さのため、Baslerでは一般的なソリューションを提供することができません。したがって、潜在的なアクセス問題については、お客様ご自身の責任においてIT部門のサポートを受けながら対処していただく必要があります。

Ubuntu#

詳細については、install docker on Ubuntuを参照してください。

コンピュータにNVIDIA GPUが搭載されている場合は、Installing NVIDIA drivers and the NVIDIA Container Toolkitを参照してください。

Ubuntu for WSL#

情報

WSL内にLinuxのディスプレイ・ドライバーをインストールしないでください。ドライバーはWindows上に直接インストールする必要があります。

次の手順に従って、Ubuntu OS on WSLをインストールしてください。

次の手順に従って、Docker within Ubuntu on WSLをインストールしてください。

Jetson ファミリー (JetPack 6.x)#

デバイスのフラッシュにはSDK Managerを使用する必要があります。JetPack 6.xが必要です。これにはすでにDockerが含まれています。

すべての OS バリアント#

オペレーティングシステムの準備が整ったら、以下の要件が満たされていることを確認してください。

  • CodeMeter Runtimeがインストールされていること。
    CodeMeter Runtimeのインストールは、pylon Software Suiteのインストールに含まれています。
  • AI vToolsのライセンスが利用可能であること。
    詳細については、Baslerウェブサイトをご覧ください。
  • Docker Engineがインストールされていること。
    Docker Engineがインストールされているかどうかを確認するには:

    docker --version
    
  • GPUを使用する場合:NVIDIA Container Toolkitがインストールされていること。
    このツールキットがインストールされているかどうかを確認するには:

    nvidia-container-toolkit -version
    

    まだインストールされていない場合は、次のセクションをお読みください。

NVIDIA ドライバーおよび NVIDIA Container Toolkit のインストール (GPU 使用に必須)#

NVIDIA Container Toolkitには、GPUアクセラレーテッド・コンピューティングに必要なライブラリとツールが含まれています。Triton Inference Serverは、モデル推論などのGPUアクセラレーテッド演算を実行するためにCUDAを使用します。NVIDIA Container Toolkitのバージョンは、Triton Serverおよびデプロイするモデルで必要とされるバージョンと一致している必要があります。

NVIDIAドライバーのバージョンを確認するには、ターミナルを開いて次のコマンドを入力します:

nvidia-smi

ドライバーやツールキットがまだインストールされていない場合は、このページの指示に従ってください:https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html

お使いのNVIDIAドライバーがNVIDIA Container ToolkitおよびTriton Inference Serverと互換性があることを確認するには、このページをご確認ください:https://docs.nvidia.com/deeplearning/triton-inference-server/release-notes/rel-24-11.html#rel-24-11

Triton Inference Server のインストール#

モデルリポジトリは、インストールの過程でホームディレクトリに作成されます(例:/home/username/pylon_ai/model_repository)。これを変更することはできません。

オンラインインストール#

pylon Supplementary Package for pylon AIからTriton Inference Serverをインストールするには、以下の手順に従います:

  1. Baslerウェブサイトからダウンロードしたpylon-supplementary-package-for-pylon-ai-*.tar.gzアーカイブが含まれているディレクトリに移動します。
  2. pylon Supplementary Package for pylon AIのtar.gzアーカイブを任意のディレクトリに展開します(別のディレクトリに展開する場合は./pylon_ai_setupを置き換えてください)。

    mkdir pylon_ai_setup && tar -xzvf ./pylon-supplementary-package-for-pylon-ai-*.tar.gz -C pylon_ai_setup
    
  3. pylon AI用pylon Supplementary Packageを展開したフォルダーに移動します。

    cd pylon_ai_setup
    
  4. root権限でセットアップスクリプトを実行します。

    sudo chmod +x setup-pylon-ai-triton-inference-server.sh && sudo ./setup-pylon-ai-triton-inference-server.sh
    

オフラインインストール#

インターネット接続を利用できない場合は、次の手順に従います。

  1. インターネットに接続されているコンピューターでDocker Hubにアクセスし、Basler Triton ServerのDockerイメージをダウンロードします。
    イメージは次のリンクから入手できます:https://hub.docker.com/repository/docker/basler/tritonserver/general
  2. Triton Serverをインストールするコンピューターにイメージを転送します。
    手順1および2を実行するには、次のコマンドを使用できます。

    docker pull basler/tritonserver:[tagname]
    
    docker save basler/tritonserver:[tagname] | gzip > tritonserver.[tagname].tgz
    

    例:

    docker image save basler/tritonserver:24.11-py3_1.3.0 | gzip > tritonserver.24.11-py3_1.3.0_rc4.tgz
    

  3. Baslerウェブサイトからダウンロードしたpylon-supplementary-package-for-pylon-ai-*.tar.gzアーカイブが含まれているディレクトリに移動します。

  4. pylon Supplementary Package for pylon AIのtar.gzアーカイブを任意のディレクトリに展開します(別のディレクトリに展開する場合は./pylon_ai_setupを置き換えてください)。

    mkdir pylon_ai_setup && tar -xzvf ./pylon-supplementary-package-for-pylon-ai-*.tar.gz -C pylon_ai_setup
    
  5. 保存した.tarファイルをpylon_ai_setupフォルダーにコピーします。

  6. root権限でセットアップスクリプトを実行します。

    sudo chmod +x setup-pylon-ai-triton-inference-server.sh && sudo ./setup-pylon-ai-triton-inference-server.sh
    

Triton Inference Server の起動#

このセクションでは、Inference Serverを起動するための3つの異なる方法について詳しく説明します。サーバーおよびvToolsのリモート実行に関する次の情報を念頭に置いて、ニーズに最も適した方法を選択してください。

Inference Serverを起動すると、サーバーはデフォルトの場所(/home/username/pylon_ai/model_repositoryなど)にモデルリポジトリが存在することを想定します。誤ってリポジトリの名前を変更または削除した場合は、サーバーを再インストールしてリポジトリを再作成する必要があります。

サーバーおよびvToolsのリモート実行

リモートコンピューター上でTriton Inference Serverを実行し、別の場所からAI vToolsまたはAI Agentも実行している場合は、次の重要な制限事項と考慮事項に注意してください。

  • 推論リクエストを行うvToolsとTriton Inference Serverの間でデータが移動するのにかかる時間は、全体的な応答時間に影響を与える可能性があります。
  • レイテンシが高いと、特にリアルタイムアプリケーションにおいて推論プロセスが遅くなる可能性があります。
  • ネットワーク帯域幅が限られていると、特に大量のデータを転送する際に、通信が遅くなったり不安定になったりする原因となります。
  • リモート機能を使用するには、ポート8000、8001、8002にアクセスできる必要があります。(これには、ファイアウォールやプロキシのチェックの実行など、IT部門からのサポートが必要になる場合があります。)

必要な場合のサーバーの起動#

コンピューターの起動時にDockerコンテナとしてTriton Inference Serverを自動的に起動したくない場合は、必要なときに次のシェルスクリプトを使用してTriton Inference Serverを起動できます。

  1. pylon AI用pylon Supplementary Packageを展開したフォルダーに移動します。
  2. Triton Inference Serverを起動します。

    sudo chmod +x run-pylon-ai-triton-inference-server.sh && sudo ./run-pylon-ai-triton-inference-server.sh
    

起動時のサーバーの自動起動#

コンピューターの起動時にTriton Inference ServerのDockerコンテナを自動的に起動したり、クラッシュ時に自動的に再起動したりするには、「run-pylon-ai-triton-inference-server.sh」シェルスクリプトを追加のパラメータを指定して実行し、ニーズを満たすsystemdサービスを作成します。

  1. pylon AI用pylon Supplementary Packageを展開したフォルダーに移動します。
  2. インストーラースクリプトを起動します。

    sudo chmod +x run-pylon-ai-triton-inference-server.sh && sudo ./run-pylon-ai-triton-inference-server.sh --service
    

Triton Inference Serverをサービスとしてインストールした後、必要に応じて一時的に停止することができます。デバイスの再起動後に自動的に起動されることに注意してください。

Triton Inference Serverの実行を担当するsystemdサービスを一時的に停止するには、(任意のディレクトリで)ターミナルを開き、次を実行します:

sudo systemctl stop tritonserver.service

サービスを再開するには、次を実行して起動する必要があります:

sudo systemctl start tritonserver.service

サービスによって管理されている現在実行中のサーバーに問題が発生した場合は、次を実行して再起動できます:

sudo systemctl restart tritonserver.service

サービスを完全に無効にするには、次を実行します:

sudo systemctl disable tritonserver.service

ライセンス#

ライセンス情報については、こちらを参照するか、pylon AI用pylon Supplementary Packageに含まれているライセンスファイルをご確認ください。

トラブルシューティング#

Triton Inference Serverに必要なライセンスにアクセスできるように、pylonのインストール時にCodeMeterが設定されます。

まれに、これが失敗する場合があります。その場合は、設定してください。 CodeMeter ネットワークサーバーとして:

  1. CodeMeter Control Centerを開き、右下のWebAdminボタンをクリックします。
  2. CodeMeter WebAdminで、Configuration > Server > Server Accessに移動します。
  3. Network Serverエリアで、Enableを選択し、Applyで確定します。
  4. CodeMeter Control Centerに戻ります。
  5. ProcessメニューのRestart CodeMeter Serviceをクリックして、CodeMeterをネットワークサーバーとして再起動します。

Known Issues#

Jetson OrinでのONNX Runtimeエラー

デバイスが低電力モードで動作している場合、Jetson Orinデバイスでの実行時にランタイムエラーが発生します。 run-pylon-ai-triton-inference-server.sh コマンドですが、ロードしようとしているモデルは引き続きロードされます。このエラーを防ぐには、Jetson Orinでより高い電力モードを設定してください。