PAI-Blade は、Platform for AI (PAI) 上でディープ ラーニング推論を高速化します。インストールパッケージには、モデル最適化用の wheel パッケージと、モデル推論用の C++ SDK が含まれます。
前提条件
作業を開始する前に、以下の環境が整っていることを確認してください。
Linux オペレーティングシステム
Python 3.6、3.7、または 3.8
サポートされている深層学習フレームワーク(PAI-Blade はフレームワークを自動的にインストールしません)
(GPU のみ)Compute Unified Device Architecture (CUDA) 10.0 ~ 11.3
互換性
| カテゴリ | サポートバージョン |
|---|---|
| オペレーティングシステム | Linux |
| Python | 3.6、3.7、3.8 |
| CUDA | 10.0 ~ 11.3(GPU 環境) |
| TensorFlow | 1.15、2.4、2.7 |
| PyTorch | 1.6.0 以降 |
| TensorRT | 8.0 以降 |
| C++ SDK ABI | cxx11、pre-cxx11 |
| C++ SDK フォーマット | RPM、DEB、TGZ |
| デバイスタイプ | GPU、CPU、端末デバイス(Mobile Neural Network (MNN)) |
インストールパス
| シナリオ | コンポーネント | 使用タイミング |
|---|---|---|
| GPU または CPU サーバー | フレームワーク + TensorRT + wheel パッケージ + C++ SDK + アクセストークン | サーバー上でのモデル最適化および推論 |
| オンプレミスデバイス | TensorFlow + MNN + wheel パッケージ | モバイルまたは組み込みデバイス向けのモデル最適化 |
GPU または CPU サーバーへのインストール
ステップ 1:フレームワークのインストール
PAI-Blade をインストールする前に、TensorFlow または PyTorch をインストールします。
TensorFlow
PAI-Blade は TensorFlow 1.15、2.4、および 2.7 をサポートしています。TensorFlow コミュニティからインストールします。
# GPU
pip3 install tensorflow-gpu==1.15.0
pip3 install tensorflow-gpu==2.4.0
# CPU
pip3 install tensorflow==1.15.0
pip3 install tensorflow==2.4.0TensorRT 統合版の TensorFlow をインストールする場合は、コミュニティ版ではなく、PAI が提供するプリコンパイル済みの TensorFlow パッケージを使用してください。
PyTorch
PAI-Blade は PyTorch 1.6.0 以降をサポートしています。PyTorch 公式サイトから、ご利用のデバイスタイプおよび CUDA バージョンに応じてインストールします。
たとえば、CUDA 11.0 向けの PyTorch 1.7.1 をインストールする場合:
pip3 install torch==1.7.1+cu110 torchvision==0.8.2+cu110 \
-f https://download.pytorch.org/whl/torch/公式版 PyTorch 1.6.0 は CUDA 10.0 をサポートしていません。この組み合わせでは、PAI が提供するプリコンパイル済みの PyTorch パッケージを使用してください。
ステップ 2:wheel パッケージのインストール
ご利用のフレームワーク、フレームワークバージョン、デバイスタイプ、および CUDA バージョンに一致する pip3 install コマンドを選択します。
旧バージョンについては、「旧バージョンの PAI-Blade のインストールコマンドおよび SDK ダウンロード URL」をご参照ください。
CPU
TensorFlow 1.15.0 および PyTorch 1.6.0
pip3 install pai_blade_cpu==3.27.0+1.15.0.1.6.0 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo.html
pip3 install tensorflow_blade_cpu==3.27.0+1.15.0 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo.html
pip3 install torch_blade_cpu==3.27.0+1.6.0 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo.htmlTensorFlow 2.4.0 および PyTorch 1.7.1
pip3 install pai_blade_cpu==3.27.0+2.4.0.1.7.1 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo.html
pip3 install tensorflow_blade_cpu==3.27.0+2.4.0 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo.html
pip3 install torch_blade_cpu==3.27.0+1.7.1 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo.htmlPyTorch 1.8.1
pip3 install pai_blade_cpu==3.27.0+1.8.1 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo.html
pip3 install torch_blade_cpu==3.27.0+1.8.1 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo.htmlPyTorch 1.9.0
pip3 install pai_blade_cpu==3.27.0+1.9.0 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo.html
pip3 install torch_blade_cpu==3.27.0+1.9.0 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo.htmlTensorFlow 2.7.0 および PyTorch 1.10.0
pip3 install pai_blade_cpu==3.27.0+2.7.0.1.10.0 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo.html
pip3 install tensorflow_blade_cpu==3.27.0+2.7.0 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo.html
pip3 install torch_blade_cpu==3.27.0+1.10.0 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo.htmlCUDA 11.0
TensorFlow 2.4.0 および PyTorch 1.7.1
pip3 install pai_blade_gpu==3.27.0+cu110.2.4.0.1.7.1 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo_ext.html
pip3 install tensorflow_blade_gpu==3.27.0+cu110.2.4.0 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo_ext.html
pip3 install torch_blade==3.27.0+1.7.1.cu110 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo_ext.htmlCUDA 11.1
PyTorch 1.8.1
pip3 install pai_blade_gpu==3.27.0+cu111.1.8.1 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo_ext.html
pip3 install torch_blade==3.27.0+1.8.1.cu111 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo_ext.htmlPyTorch 1.9.0
pip3 install pai_blade_gpu==3.27.0+cu111.1.9.0 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo_ext.html
pip3 install torch_blade==3.27.0+1.9.0.cu111 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo_ext.htmlPyTorch 1.10.0
pip3 install pai_blade_gpu==3.27.0+cu111.1.10.0 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo_ext.html
pip3 install torch_blade==3.27.0+1.10.0.cu111 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo_ext.htmlCUDA 11.2
TensorFlow 2.7.0
pip3 install pai_blade_gpu==3.27.0+cu112.2.7.0 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo_ext.html
pip3 install tensorflow_blade_gpu==3.27.0+cu112.2.7.0 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo_ext.htmlCUDA 11.3
PyTorch 1.11.0
pip3 install pai_blade_gpu==3.27.0+cu113.1.11.0 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo_ext.html
pip3 install torch_blade==3.27.0+1.11.0.cu113 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo_ext.htmlPyTorch 1.12.1
pip3 install pai_blade_gpu==3.27.0+cu113.1.12.1 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo_ext.html
pip3 install torch_blade==3.27.0+1.12.1.cu113 -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo_ext.htmlステップ 3:C++ SDK のインストール
C++ SDK は Linux 上の GNU Compiler Collection (GCC) のみをサポートしています。Blade は、Application Binary Interface (ABI) の 2 種類のバリエーションを持つパッケージを提供しています。詳細については、GCC ABI ドキュメントをご参照ください。
ABI バリエーションの選択
| ABI バリエーション | 使用タイミング |
|---|---|
| pre-cxx11 | GCC 5.1 未満、または _GLIBCXX_USE_CXX11_ABI=0 が設定されている場合 |
| cxx11 | GCC 5.1 以降で _GLIBCXX_USE_CXX11_ABI=0 |
パッケージフォーマットの選択
| フォーマット | ディストリビューション | インストールコマンド | root 権限が必要 |
|---|---|---|---|
| RPM | CentOS、Red Hat | rpm -ivh | はい |
| DEB | Ubuntu、Debian | dpkg -i | はい |
| TGZ | 任意の Linux | 展開して使用 | いいえ |
例:CUDA 11.0 向け pre-cxx11 ABI SDK (v3.23.0) のインストール
RPM
rpm -ivh https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/3.23.0/py3.6.8_cu110_tf2.4.0_torch1.7.1_abiprecxx11/blade_cpp_sdk_gpu-3.23.0-Linux.rpmDEB
wget https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/3.23.0/py3.6.8_cu110_tf2.4.0_torch1.7.1_abiprecxx11/blade_cpp_sdk_gpu-3.23.0-Linux.deb
dpkg -i blade_cpp_sdk_gpu-3.23.0-Linux.debSDK ディレクトリ構造
RPM および DEB パッケージはデフォルトで /usr/local/ にインストールされます。インストールまたは展開後は、次のようになります。
/usr/local/
├── bin
│ ├── disc_compiler_main
│ └── tao_compiler_main
└── lib
├── libral_base_context.so
├── libtao_ops.so
├── libtf_blade.so
├── libtorch_blade.so
└── mlir_disc_builder.soモデルをデプロイする際は、/usr/local/lib 内の動的リンクライブラリを使用します。
SDK ダウンロード URL (v3.27.0)
旧バージョンについては、「旧バージョンの PAI-Blade のインストールコマンドおよび SDK ダウンロード URL」をご参照ください。
cxx11 ABI
| デバイス | フレームワークバージョン | DEB | RPM | TGZ |
|---|---|---|---|---|
| CPU | TensorFlow 1.15.0 + PyTorch 1.6.0 | DEB | RPM | TGZ |
pre-cxx11 ABI
| デバイス | フレームワークバージョン | DEB | RPM | TGZ |
|---|---|---|---|---|
| CPU | TensorFlow 1.15.0 + PyTorch 1.6.0 | DEB | RPM | TGZ |
| CPU | TensorFlow 2.4.0 + PyTorch 1.7.1 | DEB | RPM | TGZ |
| CPU | PyTorch 1.8.1 | DEB | RPM | TGZ |
| CPU | PyTorch 1.9.0 | DEB | RPM | TGZ |
| CPU | TensorFlow 2.7.0 + PyTorch 1.10.0 | DEB | RPM | TGZ |
| CUDA 11.0 | TensorFlow 2.4.0 + PyTorch 1.7.1 | DEB | RPM | TGZ |
| CUDA 11.1 | PyTorch 1.8.1 | DEB | RPM | TGZ |
| CUDA 11.1 | PyTorch 1.9.0 | DEB | RPM | TGZ |
| CUDA 11.1 | PyTorch 1.10.0 | DEB | RPM | TGZ |
| CUDA 11.2 | TensorFlow 2.7.0 | DEB | RPM | TGZ |
| CUDA 11.3 | PyTorch 1.11.0 | DEB | RPM | TGZ |
| CUDA 11.3 | PyTorch 1.12.1 | DEB | RPM | TGZ |
ステップ 4:アクセストークンの取得
C++ SDK にはアクセストークンが必要です。営業担当者(SA または PDSA)にご連絡いただくか、Blade ユーザーの DingTalk グループ(グループ ID:21946131)にご参加ください。
オンプレミスデバイスへのインストール
Blade は、TensorFlow モデルを端末デバイス上で推論可能な Mobile Neural Network (MNN) モデルに変換します。
必要なフレームワークをインストールします。
pip3 install tensorflow==1.15 MNN==1.1.0ご利用の環境に応じて、Blade wheel パッケージをインストールします。GPU CPU
pip3 install pai-blade-gpu \ -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo.htmlpip3 install pai-blade-cpu \ -f https://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/release/repo.html
重要な注意事項
Blade は TensorFlow や PyTorch を自動的にインストールしません。Blade をインストールする前に、サポートされているフレームワークをインストールしてください。
wheel パッケージは、ご利用のデバイスタイプおよび CUDA バージョンに一致させる必要があります。
公式版 PyTorch 1.6.0 は CUDA 10.0 をサポートしていません。この組み合わせでは、PAI が提供する wheel パッケージを使用してください。その他の PyTorch バージョンについては、公式の PyTorch パッケージを使用してください。