Arena est une solution légère d'apprentissage automatique basée sur Kubernetes qui prend en charge l'intégralité du cycle de vie, de la préparation des données au développement, à l'entraînement et à la prédiction des modèles. Elle s'intègre profondément aux services Alibaba Cloud tels que le partage de GPU et CPFS. Cette rubrique explique comment configurer le client Arena.
Prérequis
Assurez-vous de disposer des ressources suivantes :
Un cluster ACK avec des nœuds accélérés par GPU (géré ou dédié).
Les nœuds du cluster ont accès à Internet.
Arena est installé via la suite AI cloud-native.
Étape 1 : Connexion au cluster
La méthode de connexion dépend du type de votre cluster.
Clusters ACK gérés
Les clusters ACK gérés ne disposent pas de nœuds maîtres. Installez Arena sur votre machine locale (par exemple, macOS) et connectez-vous via kubeconfig.
Clusters ACK dédiés
Connectez-vous à un nœud maître via SSH, puis exécutez directement les commandes Arena.
Exécutez kubectl get nodes pour vérifier votre configuration kubeconfig.
Étape 2 : Installation du client Arena
Sélectionnez le package correspondant à votre système d'exploitation et à votre architecture.
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
# Extract the 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
# Extract the 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
# Extract the 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
# Extract the 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
Étape 3 : (Facultatif) Activation de la complétion automatique du shell
Appuyez sur Tab pour compléter les commandes Arena partiellement saisies.
Installation du package de complétion
CentOS ou Linux
sudo yum install bash-completion -y
Debian ou Ubuntu
sudo apt-get install bash-completion
macOS
brew install bash-completion@2
Activation de la complétion automatique dans le profil de votre shell
bash (Linux)
echo "source <(arena completion bash)" >> ~/.bashrc
chmod u+x ~/.bashrc
bash (macOS)
echo "source $(brew --prefix)/etc/profile.d/bash_completion.sh" >> ~/.bashrc
Étape 4 : Vérification de l'installation
Confirmez qu'Arena fonctionne correctement.
-
Vérifiez les ressources GPU disponibles dans le cluster :
arena top nodeSortie attendue :
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%) -
Soumettez une tâche d'entraînement de test :
arena submit tf \ --name=firstjob \ --gpus=1 \ --image=registry.cn-hangzhou.aliyuncs.com/tensorflow-samples/tf-mnist-standalone:gpu \ "python /app/main.py"Sortie attendue :
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 -
Listez toutes les tâches :
arena listSortie attendue :
NAME STATUS TRAINER AGE NODE firstjob RUNNING TFJOB 5s 192.168.X.XXX -
Vérifiez l'état de la tâche :
arena get firstjobSortie attendue :
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 -
Consultez les journaux de la tâche :
arena logs --tail=10 firstjobSortie attendue :
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 999La tâche s'est terminée avec succès.