Arena adalah CLI ringan untuk mengelola tugas machine learning di Kubernetes. Arena mencakup seluruh alur kerja ML—mulai dari persiapan data, pengembangan model, pelatihan, hingga prediksi—sehingga meningkatkan efisiensi kerja ilmuwan data. Arena berjalan di atas framework deep learning yang dioptimalkan oleh Alibaba Cloud dan terintegrasi dengan layanan Alibaba Cloud untuk memaksimalkan kinerja serta pemanfaatan resource komputasi heterogen melalui fitur GPU sharing dan dukungan Cloud Paralleled File System (CPFS).
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Kluster Container Service for Kubernetes (ACK) dengan node yang dipercepat GPU. Lihat Buat kluster ACK dengan node yang dipercepat GPU atau Buat kluster khusus ACK dengan node yang dipercepat GPU.
Akses Internet dari node kluster.
Komponen Arena telah diinstal. Lihat Deploy cloud-native AI suite.
Langkah 1: Hubungkan ke kluster
Metode koneksi bergantung pada jenis kluster Anda.
ACK managed clusters
Kluster ACK yang dikelola tidak memiliki node master. Instal client Arena di mesin lokal Anda (misalnya, komputer macOS) dan hubungkan melalui kubeconfig. Lihat Hubungkan ke kluster menggunakan kubectl.
ACK dedicated clusters
Gunakan SSH untuk masuk ke node master, lalu jalankan perintah Arena langsung di node tersebut. Lihat Gunakan SSH untuk menghubungkan ke node master kluster khusus ACK.
Jalankan kubectl get nodes untuk memastikan kubeconfig Anda telah dikonfigurasi dengan benar.Langkah 2: Instal client Arena
Pilih paket yang sesuai dengan sistem operasi dan arsitektur prosesor Anda, lalu jalankan perintah untuk mengunduh, mengekstrak, dan menginstal.
Linux/amd64
# Unduh paket instalasi Arena.
wget https://aliacs-k8s-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/arena/arena-installer-0.12.0-linux-amd64.tar.gz
# Ekstrak paket.
tar -zxvf arena-installer-0.12.0-linux-amd64.tar.gz
# Instal Arena.
cd arena-installer-0.12.0-linux-amd64
bash install.sh --only-binaryLinux/arm64
# Unduh paket instalasi Arena.
wget https://aliacs-k8s-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/arena/arena-installer-0.12.0-linux-arm64.tar.gz
# Ekstrak paket.
tar -zxvf arena-installer-0.12.0-linux-arm64.tar.gz
# Instal Arena.
cd arena-installer-0.12.0-linux-arm64
bash install.sh --only-binarymacOS/amd64
# Unduh paket instalasi Arena.
wget https://aliacs-k8s-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/arena/arena-installer-0.12.0-darwin-amd64.tar.gz
# Ekstrak paket.
tar -zxvf arena-installer-0.12.0-darwin-amd64.tar.gz
# Instal Arena.
cd arena-installer-0.12.0-darwin-amd64
bash install.sh --only-binarymacOS/arm64
# Unduh paket instalasi Arena.
wget https://aliacs-k8s-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/arena/arena-installer-0.12.0-darwin-arm64.tar.gz
# Ekstrak paket.
tar -zxvf arena-installer-0.12.0-darwin-arm64.tar.gz
# Instal Arena.
cd arena-installer-0.12.0-darwin-arm64
bash install.sh --only-binaryLangkah 3: (Opsional) Aktifkan auto-completion shell
Auto-completion shell memungkinkan Anda menekan Tab untuk melengkapi perintah Arena yang diketik sebagian.
Instal paket completion
CentOS atau Linux
sudo yum install bash-completion -yDebian atau Ubuntu
sudo apt-get install bash-completionmacOS
brew install bash-completion@2Aktifkan auto-completion di profil shell Anda
bash (Linux)
echo "source <(arena completion bash)" >> ~/.bashrc
chmod u+x ~/.bashrcbash (macOS)
echo "source $(brew --prefix)/etc/profile.d/bash_completion.sh" >> ~/.bashrcLangkah 4: Verifikasi instalasi
Jalankan perintah berikut untuk memastikan Arena berfungsi dengan baik.
Periksa sumber daya GPU yang tersedia di kluster:
arena top nodeOutput akan menampilkan daftar node dan kapasitas GPU-nya. Contohnya:
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%)Kirim pekerjaan pelatihan uji coba:
arena submit tf \ --name=firstjob \ --gpus=1 \ --image=registry.cn-hangzhou.aliyuncs.com/tensorflow-samples/tf-mnist-standalone:gpu \ "python /app/main.py"Output yang diharapkan:
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 statusTampilkan semua pekerjaan:
arena listOutput yang diharapkan:
NAME STATUS TRAINER AGE NODE firstjob RUNNING TFJOB 5s 192.168.X.XXXPeriksa status pekerjaan:
arena get firstjobOutput yang diharapkan:
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.XXXLihat log pekerjaan:
arena logs --tail=10 firstjobOutput yang diharapkan:
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 999Pekerjaan telah berhasil diselesaikan.