すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:Arenaクライアントの設定

最終更新日:Nov 20, 2024

Arenaは、Kubernetesベースの機械学習タスクを管理するために使用される軽量クライアントです。 Arenaを使用すると、機械学習のライフサイクル全体を通して、データ準備、モデル開発、モデルトレーニング、モデル予測を合理化できます。 これにより、データサイエンティストの作業効率が向上します。 また、ArenaはAlibaba Cloudの基本サービスと深く統合されています。 GPU共有とクラウドParalleled File System (CPFS) をサポートしています。 Arenaは、Alibaba Cloudによって最適化された深層学習フレームワークで実行できます。 これにより、Alibaba Cloudが提供する異種コンピューティングリソースのパフォーマンスと使用率が最大化されます。 このトピックでは、Arenaクライアントを設定する方法について説明します。

前提条件

手順1: Arenaクライアントの設定

  1. クラスターに接続します。

    ACK管理クラスター

    ACK管理クラスターにはマスターノードは含まれません。 そのため、macOSを実行するコンピューターなど、オンプレミスのコンピューターにArenaクライアントをインストールする必要があります。 詳細については、「クラスターのkubeconfigファイルを取得し、kubectlを使用してクラスターに接続する」をご参照ください。

    ACK専用クラスター

    SSHを使用してACK専用クラスターのマスターノードにログインし、そのノードでarenaコマンドを実行します。 詳細については、「SSHを使用したACK専用クラスターのマスターノードへの接続」をご参照ください。

    説明

    kubectl get nodesコマンドを実行して、kubeconfigファイルの設定が正しいかどうかを確認できます。

  2. Arenaクライアントをインストールするには、オペレーティングシステムの種類 (LinuxまたはmacOS) とプロセッサアーキテクチャ (amd64またはarm64) に応じて、対応するコマンドを実行します。

    Linux/amd64

    # Download the Arena installation package.
    wget https://aliacs-k8s-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/arena/arena-installer-0.12.0-linux-amd64.tar.gz
    
    # Decompress the installation package.
    tar -zxvf arena-installer-0.12.0-linux-amd64.tar.gz
    
    # Install Arena.
    cd arena-installer-0.12.0-linux-amd64
    bash install.sh --only-binary

    Linux/arm64

    # Download the Arena installation package.
    wget https://aliacs-k8s-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/arena/arena-installer-0.12.0-linux-arm64.tar.gz
    
    # Decompress the installation package.
    tar -zxvf arena-installer-0.12.0-linux-arm64.tar.gz
    
    # Install Arena.
    cd arena-installer-0.12.0-linux-arm64
    bash install.sh --only-binary

    macOS/amd64

    # Download the Arena installation package.
    wget https://aliacs-k8s-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/arena/arena-installer-0.12.0-darwin-amd64.tar.gz
    
    # Decompress the installation package.
    tar -zxvf arena-installer-0.12.0-darwin-amd64.tar.gz
    
    # Install Arena.
    cd arena-installer-0.12.0-darwin-amd64
    bash install.sh --only-binary

    macOS/arm64

    # Download the Arena installation package.
    wget https://aliacs-k8s-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/arena/arena-installer-0.12.0-darwin-arm64.tar.gz
    
    # Decompress the installation package.
    tar -zxvf arena-installer-0.12.0-darwin-arm64.tar.gz
    
    # Install Arena.
    cd arena-installer-0.12.0-darwin-arm64
    bash install.sh --only-binary
  3. オプション: bash-completionをインストールします。 bash-completionの自動補完機能は、部分的に入力されたコマンドを自動的に入力できます。 bash-completionをインストールしたら、CLIでTabを押して、部分的に入力されたコマンドを自動的に完了できます。

    1. bash-completionをインストールします。

      bash-CentOSまたはLinuxの完了

      sudo yum install bash-completion -y

      bash-DebianまたはUbuntuの完了

      sudo apt-get install bash-completion

      macOS

      brew install bash-completion@2
    2. プロファイルファイルで自動補完機能を有効にします。

      Linux

      echo "source <(arena completion bash)" >> ~/.bashrc
      chmod u+x ~/.bashrc

      macOS

      echo "source $(brew --prefix)/etc/profile.d/bash_completion.sh" >> ~/.bashrc

ステップ2: アリーナが期待どおりに機能するかどうかをテストする

アリーナが期待どおりに機能するかどうかを確認するには、次の手順を実行します。

  1. 次のコマンドを実行して、クラスターで使用可能な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%)
  2. アリーナを使用してトレーニングジョブを送信します。 出力は、ジョブが送信されたことを示します。

    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
  3. 次のコマンドを実行して、すべてのジョブを照会します。

    arena list

    期待される出力:

    NAME      STATUS   TRAINER  AGE  NODE
    firstjob  RUNNING  TFJOB    5s   192.168.X.XXX
  4. 次のコマンドを実行して、送信されたジョブのステータスを照会します。

    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
  5. 次のコマンドを実行して、ジョブのログを照会します。

    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