Edge Node Service (ENS) は、エンドユーザーの近くにデプロイされた、分散型で伸縮性のある GPU コンピューティングリソースを提供します。エッジで AI 推論を実行することで、レスポンスレイテンシーを削減し、中央のデータセンターのトラフィックをオフロードします。このガイドでは、モデルに適した GPU 構成の選択、ネットワークとストレージ基盤の構築、推論エンジンのデプロイの手順を説明し、画像分類、オブジェクト検出、音声認識、セマンティック分析などのシナリオをサポートする実用的な ENS 推論環境を構築します。
前提条件
開始する前に、以下をご確認ください。
ENS アカウントが有効化されていること。詳細については、「ENS の有効化」をご参照ください。
エッジノード用に計画された CIDR ブロックで Virtual Private Cloud (VPC) が作成されていること。
ステップ 1: GPU 構成の選択
利用可能な GPU タイプ
ENS は、さまざまな価格帯で 4 種類の GPU タイプを提供しています。単一 GPU のメモリは 12 GB から 48 GB の範囲です。GPU 技術の進化に伴い、追加の仕様が追加される予定です。
| GPU タイプ | GPU メモリ | 利用可能な構成 |
|---|---|---|
| A | 12 GB | A×1 |
| B | 16 GB | B×1、B×2、B×4 |
| C | 24 GB | C×1、C×2、C×4、C×8 |
| D | 48 GB | D×1、D×2 |
モデルと GPU 構成のマッチング
以下の表は、一般的なモデルサイズに対する推奨構成を示しています。ベンチマークは、0.5 B から 72 B のパラメーターを持つ Tongyi Qianwen および Llama 2 モデルに基づき、FP16 精度で評価されています。
| モデルパラメーター | 推奨構成 |
|---|---|
| 1B | A×1 |
| 7B | C×1 |
| 14B | C×2 |
| 32B | D×2 |
| 72B | C×8 |
サポートされているシナリオには、軽量な対話、インテリジェントカスタマーサービス、テキストベースの画像生成、動画理解、コード生成、コンテンツ作成、インテリジェントアシスタントなどがあります。
精度を下げる (例:FP16 から INT8 へ) ことで、同じ GPU 構成でより大きなモデルを実行できます。
ステップ 2: ENS の機能レイヤーの理解
ENS は、推論環境を構築するために組み合わせることができる 4 つの機能レイヤーを提供します。
| レイヤー | 提供内容 |
|---|---|
| 基本リソースレイヤー | ヘテロジニアス GPU コンピューティング、CPU コンピューティング、およびデータの永続化のためのストレージ |
| リソース構成レイヤー | ネットワークアドレス変換 (NAT)、Edge Load Balancer (ELB)、Elastic IP アドレス (EIP)、およびコンテナサービス。コンテナマルチボクシングは、単一の GPU インスタンス上で複数のコンテナを実行し、使用率を向上させ、コストを削減します。 |
| サービスアクセラレーションレイヤー | AIACC 推論アクセラレーションエンジン (Alibaba Cloud 開発) およびオープンソースの TensorRT ツールキット |
| サービススケジューリングレイヤー | リクエストを近くのエッジノードにルーティングするスケジューリングポリシー、自動フェイルオーバー、およびノード間でユーザーデータを同期するための協調ストレージ |
ステップ 3: コンピューティングリソースの作成
ENS コンソールにログインします。
左側のナビゲーションウィンドウで、[コンピューティング容量とイメージ] > [インスタンス] を選択します。
「[インスタンス]」ページで、「[インスタンスの作成]」をクリックします。パラメーターを設定して注文を完了します。詳細については、「インスタンスを作成する」をご参照ください。
ヘテロジニアスコンピューティングリソースは、サブスクリプションの課金方法のみをサポートしています。インスタンスを作成する前に、アカウントマネージャーにインスタンスの仕様を確認してください。
ステップ 4: ネットワークリソースの作成
左のナビゲーションウィンドウで、[ネットワーク管理] を選択し、ワークロードで必要なネットワークリソースを作成します:
| 要件 | リソース | ドキュメント |
|---|---|---|
| インターネットアクセスまたはパブリック向けサービス | Elastic IP アドレス (EIP) | エッジ EIP の作成と管理 |
| 複数のインスタンスにトラフィックを分散 | Edge Load Balancer (ELB) | ELB インスタンスの作成 |
| パブリック IP アドレスの変換 | エッジ NAT ゲートウェイ | エッジ NAT ゲートウェイの作成と管理 |
ステップ 5: ストレージリソースの作成
左側のナビゲーションウィンドウで、[ストレージとスナップショット] を選択し、ワークロードに必要なストレージリソースを作成します:
| 要件 | リソース | ドキュメント |
|---|---|---|
| 単一インスタンスでのデータの永続化 | ディスク | ディスクの作成と管理 |
| 複数の ENS インスタンス間でのデータ共有 | NAS ファイルシステム | ファイルシステムの作成と管理 |
ステップ 6: 推論エンジンのデプロイ
状況に応じて、いずれかのデプロイアプローチを選択してください。
| アプローチ | 使用する状況 |
|---|---|
| オプション A: VM 上の AIACC | 初期検証、インスタンスへの直接インストール |
| オプション B: コンテナ内の AIACC (推奨) | 本番環境へのデプロイ、環境管理の簡素化 |
| オプション C: コンテナ内の TensorRT | ワークロードが既に NVIDIA TensorRT エコシステムを使用している場合 |
3 つのオプションはすべて、Ubuntu 20.04 上で NVIDIA Tesla T4 GPU を使用します。
サポートされているランタイムとバージョン
| コンポーネント | オプション A (VM: AIACC) | オプション B (コンテナ: AIACC) | オプション C (コンテナ: TensorRT) |
|---|---|---|---|
| GPU ドライバー | 535.154.05 以降 | 535.154.05 | お使いの TensorRT イメージに合わせる |
| CUDA | 11.8 | 12.2 | お使いの TensorRT イメージに合わせる |
| Python | 3.8 | — (コンテナ管理) | — (コンテナ管理) |
| PyTorch | 2.1.0 | — (コンテナ管理) | — (コンテナ管理) |
| Deepytorch Inference | 0.7.18+pt2.1.0cu118-cp38-cp38 | — (コンテナ管理) | — |
| イメージソース | — | アカウントマネージャーにお問い合わせください | NVIDIA PyTorch リリースノート |
オプション A: VM への AIACC の直接インストール
CUDA Toolkit 11.8 をインストールし、
PATHおよびLD_LIBRARY_PATH環境変数を更新します。NVIDIA のウェブサイトから GPU ドライバーバージョン 535.154.05 以降 (
NVIDIA-Linux-x86_64-535.154.05.run) をダウンロードしてインストールします。利用可能な最新バージョンをインストールしてください。現在のユーザーに AIACC エンジンの使用を許可します。
echo 'export DEEPGPU_EXT_CURL=MzkuOTguMjIuMTI2OjcwNzA=' >> /etc/profile source /etc/profilePython の依存関係をインストールします。
pip3 install torch==2.1.0 torchvision==0.16.0 numpy transformers
オプション B: コンテナへの AIACC のデプロイ (推奨)
CUDA 12.2 を含む GPU ドライバーバージョン 535.154.05 をインストールします。
NVIDIA Container Toolkit をインストールします。NVIDIA Container Toolkit インストールガイドをご参照ください。
アカウントマネージャーから AIACC コンテナイメージ
deepytorch_t4_ubuntu20.04.tar.gzを入手します。イメージをロードします。
docker load -i deepytorch_t4_ubuntu20.04.tar docker images # REPOSITORY TAG IMAGE ID CREATED SIZE # <none> <none> 7aef27446ff0 3 days ago 22.6GBコンテナを起動します。
#!/bin/bash /usr/bin/docker run --runtime=nvidia -ti -d --gpus all --network=host \ 7aef27446ff0 sleep 86400000Kubernetes を使用してコンテナインスタンスを作成および管理することもできます。
オプション C: コンテナへの TensorRT のデプロイ
NVIDIA GPU ドライバーをインストールします。
NVIDIA Container Toolkit をインストールします。
NVIDIA PyTorch リリースノートから TensorRT コンテナイメージをダウンロードします。
コンテナを起動します。
イメージ内の CUDA と TensorRT のバージョンは、インストールした GPU ドライバーのバージョンと一致している必要があります。
ステップ 7: リソースの関連付けと環境の検証
ENS コンソールまたは API を使用して、コンピューティング、ネットワーク、およびストレージリソースを関連付けます。
ご利用の環境は、画像分類、オブジェクト検出、音声認識、セマンティック分析などの AI 推論シナリオをサポートします。
ENS によるエッジノード間のリクエストスケジューリングの自動管理をご希望の場合は、アカウントマネージャーにお問い合わせください。
次のステップ
ENS インスタンスでのコンテナサービスの設定については、ENS コンテナのドキュメントをご参照ください。
複数のエッジノードに推論環境をスケールするには、アカウントマネージャーに連絡してサービススケジューリングを有効にしてください。