Arena は、Kubernetes 上で機械学習タスクを管理するための軽量 CLI です。データ準備、モデル開発、トレーニング、予測といった機械学習の全ワークフローをカバーし、データサイエンティストの作業効率を向上させます。Arena は Alibaba Cloud が最適化した深層学習フレームワーク上で実行され、Alibaba Cloud サービスと統合することで、GPU 共有および Cloud Paralleled File System (CPFS) のサポートを通じて、ヘテロジニアスコンピューティングリソースのパフォーマンスと活用率を最大化します。
前提条件
開始する前に、以下の条件を満たしていることを確認してください。
GPU 加速ノードを備えた Container Service for Kubernetes (ACK) クラスター。詳細については、「GPU 加速ノードを備えた ACK クラスターの作成」または「GPU 加速ノードを備えた ACK 専用クラスターの作成」をご参照ください。
クラスターノードからのインターネットアクセス。
Arena コンポーネントのインストール。詳細については、「クラウドネイティブ AI スイートのデプロイ」をご参照ください。
ステップ 1:クラスターへの接続
接続方法は、クラスターの種類によって異なります。
ACK マネージドクラスター
ACK マネージドクラスターにはマスターノードが存在しません。Arena クライアントをローカルマシン(例:macOS コンピューター)にインストールし、kubeconfig を使用して接続します。詳細については、「kubectl を使用したクラスターへの接続」をご参照ください。
ACK 専用クラスター
SSH を使用してマスターノードにログインし、そのノード上で Arena コマンドを直接実行します。詳細については、「ACK 専用クラスターのマスターノードへの SSH 接続」をご参照ください。
kubectl get nodes を実行し、kubeconfig の設定が正しく行われていることを確認します。ステップ 2:Arena クライアントのインストール
ご利用のオペレーティングシステムおよびプロセッサアーキテクチャに合致するパッケージを選択し、ダウンロード、展開、インストールのコマンドを実行します。
Linux/amd64
# Arena インストールパッケージをダウンロードします。
wget https://aliacs-k8s-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/arena/arena-installer-0.12.0-linux-amd64.tar.gz
# パッケージを展開します。
tar -zxvf arena-installer-0.12.0-linux-amd64.tar.gz
# Arena をインストールします。
cd arena-installer-0.12.0-linux-amd64
bash install.sh --only-binaryLinux/arm64
# Arena インストールパッケージをダウンロードします。
wget https://aliacs-k8s-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/arena/arena-installer-0.12.0-linux-arm64.tar.gz
# パッケージを展開します。
tar -zxvf arena-installer-0.12.0-linux-arm64.tar.gz
# Arena をインストールします。
cd arena-installer-0.12.0-linux-arm64
bash install.sh --only-binarymacOS/amd64
# Arena インストールパッケージをダウンロードします。
wget https://aliacs-k8s-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/arena/arena-installer-0.12.0-darwin-amd64.tar.gz
# パッケージを展開します。
tar -zxvf arena-installer-0.12.0-darwin-amd64.tar.gz
# Arena をインストールします。
cd arena-installer-0.12.0-darwin-amd64
bash install.sh --only-binarymacOS/arm64
# Arena インストールパッケージをダウンロードします。
wget https://aliacs-k8s-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/arena/arena-installer-0.12.0-darwin-arm64.tar.gz
# パッケージを展開します。
tar -zxvf arena-installer-0.12.0-darwin-arm64.tar.gz
# Arena をインストールします。
cd arena-installer-0.12.0-darwin-arm64
bash install.sh --only-binaryステップ 3:(任意)シェル自動補完の有効化
シェル自動補完により、Arena コマンドを部分的に入力した状態で Tab キーを押すことで、コマンドを自動補完できます。
補完パッケージのインストール
CentOS または Linux
sudo yum install bash-completion -yDebian または Ubuntu
sudo apt-get install bash-completionmacOS
brew install bash-completion@2シェルプロファイルでの自動補完の有効化
bash(Linux)
echo "source <(arena completion bash)" >> ~/.bashrc
chmod u+x ~/.bashrcbash(macOS)
echo "source $(brew --prefix)/etc/profile.d/bash_completion.sh" >> ~/.bashrcステップ 4:インストールの検証
以下のコマンドを実行し、Arena が正常に動作することを確認します。
クラスター内の利用可能な GPU リソースを確認します。
arena top node出力にはノードとその GPU 容量が一覧表示されます。例:
NAME IPADDRESS ROLE STATUS GPU(Total) GPU(Allocated) cn-huhehaote.192.168.X.XXX 192.168.0.117 <none> ready 8 0 cn-huhehaote.192.168.X.XXX 192.168.0.118 <none> ready 8 0 cn-huhehaote.192.168.X.XXX 192.168.0.119 <none> ready 8 0 cn-huhehaote.192.169.X.XXX 192.168.0.120 <none> ready 8 0 ----------------------------------------------------------------------------------------- Allocated/Total GPUs In Cluster: 0/32 (0%)テスト用トレーニングジョブを送信します。
arena submit tf \ --name=firstjob \ --gpus=1 \ --image=registry.cn-hangzhou.aliyuncs.com/tensorflow-samples/tf-mnist-standalone:gpu \ "python /app/main.py"期待される出力:
configmap/firstjob-tfjob created configmap/firstjob-tfjob labeled tfjob.kubeflow.org/firstjob created INFO[0001] The Job firstjob has been submitted successfully INFO[0001] You can run `arena get firstjob --type tfjob` to check the job statusすべてのジョブを一覧表示します。
arena list期待される出力:
NAME STATUS TRAINER AGE NODE firstjob RUNNING TFJOB 5s 192.168.X.XXXジョブのステータスを確認します。
arena get firstjob期待される出力:
STATUS: SUCCEEDED NAMESPACE: default PRIORITY: N/A TRAINING DURATION: 52s NAME STATUS TRAINER AGE INSTANCE NODE firstjob SUCCEEDED TFJOB 14m firstjob-chief-0 192.168.X.XXXジョブのログを表示します。
arena logs --tail=10 firstjob期待される出力:
Accuracy at step 910: 0.9694 Accuracy at step 920: 0.9687 Accuracy at step 930: 0.9676 Accuracy at step 940: 0.9678 Accuracy at step 950: 0.9704 Accuracy at step 960: 0.9692 Accuracy at step 970: 0.9721 Accuracy at step 980: 0.9696 Accuracy at step 990: 0.9675 Adding run metadata for 999ジョブは正常に完了しました。