大規模なモデルの開発は、大規模な集中トレーニングから分散推論アプリケーションへのAIの変換を促進します。 Edge Node Serviceは、エンドユーザーの近くにデプロイされた分散型の柔軟なコンピューティングリソースを提供するオールインワンエッジサービスです。 これにより、近くのコンピューティングで、コンピューティングコスト、応答レイテンシ、および中央データセンターの負荷を削減できます。 このトピックでは、Edge Node Serviceを使用してAI推論用の基本リソース環境を構築する方法について説明します。
前提条件
Edge Node Serviceが有効化されています。 詳細については、「ENSの有効化」をご参照ください。
仮想プライベートクラウド (VPC) が作成され、エッジノードのCIDRブロックが計画されます。
リソースの評価
エッジクラウドの異種計算能力
エッジクラウドは、広範囲に分散したエッジノード上の異なるシナリオに対して、異なる価格で4種類の異種コンピューティングパワーを提供する。 単一のGPUメモリサイズは12 GB〜48 GBです。 GPUの進化により、より多くのコンピューティングパワー仕様が提供されます。
GPU タイプ | GPUメモリ (GB) | リソース仕様 | |||
A | 12 | A * 1 | - | - | - |
B | 16 | B * 1 | B * 2 | B * 4 | - |
C | 24 | C * 1 | C * 2 | C * 4 | C * 8 |
D | 48 | D * 1 | D * 2 | - | - |
たとえば、Tongyi QianwenおよびLlama 2モデルは、0.5 720億のパラメータを持つ大規模モデルアプリケーションをカバーしています。 サポートされているシナリオには、軽量ダイアログ、インテリジェントカスタマーサービス、テキストベースの画像生成、ビデオ理解、コード生成、コンテンツ作成、インテリジェントアシスタントなどがあります。 ビジネス要件に基づいて、異なる仕様の異種コンピューティングリソースを選択できます。
モデルパラメータの数 | 利用可能な推論リソース | |||
1B | A * 1 | B * 1 | C * 1 | D * 1 |
7B | - | B * 1 | C * 1 | D * 1 |
14B | - | B * 2 | C * 2 | D * 1 |
32B | - | B * 4 | C * 4 | D * 2 |
72B | - | - | C * 8 | - |
GPUのメモリ要件とモデルは、FP16の精度に基づいて評価されます。 精度を下げると、GPUメモリはより多くのパラメータを持つモデルをサポートできます。
エッジクラウド機能
エッジクラウドは、エッジでのAI推論をより適切にサポートするために、さまざまなレイヤーで付加価値機能を提供します。 適切な機能を選択して、ビジネス要件に基づいてエッジAI推論の基本環境を構築できます。
基本リソース層: 異種のコンピューティングパワー、CPUコンピューティングパワー、およびストレージサービスを提供し、顧客がデータを保持できるようにします。
リソース構成層: ネットワークアドレス変換 (NAT) 、エッジロードバランサー (ELB) 、Elastic IPアドレス (EIP) などの包括的なネットワークサービス、およびコンテナサービスを提供します。 コンテナマルチボックス技術は、顧客が異種コンピューティングインスタンス上で複数のコンテナサービスを実行することを可能にする。 これにより、単一インスタンスのリソース使用率が向上し、コストが削減されます。
サービスアクセラレーションレイヤー: Alibaba Cloudが開発したAIACC推論アクセラレーションエンジンを提供して推論パフォーマンスを向上させ、オープンソースのTensorRTツールキットを提供して、さまざまなアクセラレーションソリューションを使用するサービスをサポートします。
サービススケジューリング層: サービススケジューリング機能を提供します。 エッジクラウドは、スケジューリングポリシーに基づいて近くの顧客にサービスを提供し、エッジノードに障害が発生したり、リソースが不足したりすると、利用可能なエッジノードにリクエストをリダイレクトします。 共同ストレージにより、異なるエッジノード間でユーザーデータを同期できます。 これにより、異なるエッジノードでも一貫したユーザーエクスペリエンスが保証されます。
AI推論の基本環境の構築
手順1: 異種コンピューティングリソースの作成
ENSコンソールにログインします。
左側のナビゲーションウィンドウで、 を選択します。
[インスタンス] ページで、[インスタンスの作成] をクリックします。 インスタンス購入ページで、パラメーターを設定し、注文の支払いを行います。 詳細については、「インスタンスの作成」をご参照ください。
異種コンピューティングリソースは、サブスクリプション課金方法のみをサポートします。
インスタンスを作成する前に、アカウントマネージャーでインスタンスの仕様を確認してください。
手順2: ネットワークリソースの作成
左側のナビゲーションウィンドウで、[ネットワーク管理] を選択し、ビジネス要件に基づいてネットワークリソースを作成します。
ENSインスタンスでインターネットにアクセスしたり、インターネットサービスを提供したりする場合は、エッジelastic IPアドレス (EIP) を申請してください。 詳細については、「エッジEIPの作成と管理」をご参照ください。
同期処理のために受信トラフィックを複数のバックエンドコンピューティングインスタンスに分散し、システム内の単一障害点 (SPOF) を排除する場合は、Edge Load Balancer (ELB) を申請してください。 詳細については、「ELBインスタンスの作成」をご参照ください。
パブリックIPアドレスを変換する場合は、エッジNATゲートウェイを申請してください。 詳細については、「エッジNATゲートウェイの作成と管理」をご参照ください。
手順3: ストレージリソースの作成
左側のナビゲーションウィンドウで、[ストレージとスナップショット] を選択し、ビジネス要件に基づいてストレージリソースを作成します。
ENSインスタンスにデータ保持用のストレージ容量を持たせたい場合は、ディスクを申請してください。 詳細については、「ディスクの作成と管理」および「インスタンスの作成」をご参照ください。
ENSインスタンス間でデータを共有する場合は、NASを申請してください。 詳細については、「ファイルシステムの作成と管理」をご参照ください。
ステップ4: 推論アクセラレーションエンジンのデプロイ
Alibaba Cloudが開発したAIACC推論アクセラレーションエンジンをENSインスタンスにデプロイします。 Ubuntu 20.04オペレーティングシステムのNVIDIA Tesla T4 GPUを例として使用します。
申請したENSインスタンスにログインします。 詳細については、「インスタンスへの接続」をご参照ください。
CUDA Toolkitをインストールします。
NVIDIA Tesla T4 GPUにはCUDA Toolkit 11.8が必要です。
環境変数PATHおよびLD_LIBRARY_PATHを更新します。
GPUドライバーをインストールします。
NVIDIA Tesla T4 GPUには、12.2以降のドライバが必要です。 最新バージョンのドライバをインストールすることを推奨します。
NVIDIA公式サイト: NVIDIA-Linux-x86_64-535.154.05.runからドライバをダウンロードしてください。
環境変数を更新して、現在のユーザーにAIACC推論アクセラレーションエンジンの使用を許可します。
echo 'export DEEPGPU_EXT_CURL=MzkuOTguMjIuMTI2OjcwNzA=' >> /etc/profile source /etc/profileコンポーネントのバージョンを確認します。
Python: 3.8。
PyTorch: 2.1.0。
ディープトーチ推論: 0.7.18 pt2.1.0cu118-cp38-cp38。
pip3コマンドを実行して、Python関連のコンポーネントをインストールできます。 例:
pip3 install torch==2.1.0 torchvision==0.16.0 numpy transformers
コンテナを使用して、AIACC推論アクセラレーションエンジンをVMにデプロイします。Ubuntu 20.04オペレーティングシステムのNVIDIA Tesla T4 GPUを例として使用します。
申請したENSインスタンスにログインします。
GPUドライバーをインストールします。
GPUドライバーのバージョン: 535.154.05。 CUDAバージョン: 12.2。
NVIDIA Container Toolkitをインストールします。 詳細については、https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html をご覧ください。
AIACCコンテナイメージdeepytorch_t4_ubuntu20.04.tar.gzを取得します。 コンテナベースのデプロイにより、環境設定が簡素化されます。 画像の取得方法の詳細については、アカウントマネージャーにお問い合わせください。
コンテナーイメージを読み込みます。 Kubernetesを使用して、コンテナインスタンスを作成および管理することもできます。
[root]# docker load -i deepytorch_t4_ubuntu20.04.tar [root]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE <none> <none> 7aef27446ff0 3 days ago 22.6GBコンテナを作成し、AIACC推論アクセラレーションエンジンをデプロイします。
#!/bin/bash /usr/bin/docker run --runtime=nvidia -ti -d --gpus all --network=host \ 7aef27446ff0 sleep 86400000
コンテナにオープンソースのTensorRTスイートをデプロイします。
NVIDIA GPUドライバーをインストールします。
NVIDIA Container Toolkitをインストールします。
https://docs.nvidia.com/deeplearning/frameworks/pytorch-release-notes/index.html からTensorRTコンテナイメージをダウンロードします。
説明イメージのCUDAやTensorRTなどのコンポーネントのバージョンは、インストールされているGPUドライバーのバージョンに対応している必要があります。
コンテナを作成し、TensorRTスイートをデプロイします。
ステップ5: リソースの関連付けを完了する環境セットアップ
ENSコンソールまたはAPIを使用して、リソースを関連付けて環境セットアップを完了します。 この一般的なアーキテクチャは、画像分類、オブジェクト検出、音声認識、意味解析などのAI推論シナリオをサポートします。
エッジクラウドでスケジューリングを管理する場合は、アカウントマネージャーにお問い合わせください。