Arena es una solución ligera de aprendizaje automático basada en Kubernetes que admite todo el ciclo de vida, desde la preparación de datos hasta el desarrollo, entrenamiento y predicción de modelos. Se integra profundamente con servicios de Alibaba Cloud como GPU sharing y CPFS. Este tema explica cómo configurar el cliente Arena.
Requisitos previos
Asegúrese de contar con los siguientes recursos:
Un clúster de ACK con nodos acelerados por GPU (managed o dedicated).
Los nodos del clúster deben tener acceso a Internet.
Arena instalado mediante cloud-native AI suite.
Paso 1: Conectarse al clúster
El método de conexión depende del tipo de clúster.
ACK managed clusters
Los clústeres administrados de ACK no tienen nodos maestros. Instale Arena en su computadora local (por ejemplo, macOS) y connect via kubeconfig.
ACK dedicated clusters
Log in to a master node via SSH y ejecute los comandos de Arena directamente.
Ejecute kubectl get nodes para comprobar su kubeconfig.
Paso 2: Instalar el cliente Arena
Seleccione el paquete correspondiente a su sistema operativo y arquitectura.
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
Paso 3: (Opcional) Habilitar el autocompletado de shell
Presione Tab para completar los comandos de Arena escritos parcialmente.
Instalar el paquete de completado
CentOS or Linux
sudo yum install bash-completion -y
Debian or Ubuntu
sudo apt-get install bash-completion
macOS
brew install bash-completion@2
Habilitar el autocompletado en el perfil de 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
Paso 4: Comprobar la instalación
Confirme que Arena funciona correctamente.
-
Consulte los recursos de GPU disponibles en el clúster:
arena top nodeSalida esperada:
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%) -
Envíe un trabajo de entrenamiento de prueba:
arena submit tf \ --name=firstjob \ --gpus=1 \ --image=registry.cn-hangzhou.aliyuncs.com/tensorflow-samples/tf-mnist-standalone:gpu \ "python /app/main.py"Salida esperada:
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 -
Liste todos los trabajos:
arena listSalida esperada:
NAME STATUS TRAINER AGE NODE firstjob RUNNING TFJOB 5s 192.168.X.XXX -
Compruebe el estado del trabajo:
arena get firstjobSalida esperada:
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 -
Consulte los registros del trabajo:
arena logs --tail=10 firstjobSalida esperada:
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 999El trabajo se completó correctamente.