Arena adalah klien ringan yang digunakan untuk mengelola tugas pembelajaran mesin berbasis Kubernetes. Dengan Arena, Anda dapat menyederhanakan persiapan data, pengembangan model, pelatihan model, dan prediksi model sepanjang siklus hidup pembelajaran mesin. Solusi ini meningkatkan efisiensi kerja ilmuwan data serta terintegrasi mendalam dengan layanan dasar Alibaba Cloud. Arena mendukung berbagi GPU dan Sistem File Paralel Cloud (CPFS), serta dioptimalkan untuk framework pembelajaran mendalam dari Alibaba Cloud. Hal ini memaksimalkan performa dan pemanfaatan resource komputasi heterogen yang disediakan oleh Alibaba Cloud. Topik ini menjelaskan cara mengonfigurasi klien Arena.
Prasyarat
Sebuah klaster Container Service for Kubernetes (ACK) dengan node akselerasi GPU telah dibuat. Untuk informasi lebih lanjut, lihat Buat klaster ACK dengan node akselerasi GPU atau Buat klaster ACK khusus dengan node akselerasi GPU.
Node dalam klaster harus dapat mengakses Internet.
Komponen Arena telah diinstal. Untuk informasi lebih lanjut, lihat Deploy suite AI cloud-native.
Langkah 1: Konfigurasi Klien Arena
Sambungkan ke klaster.
Klaster ACK dikelola
Klaster ACK dikelola tidak memiliki node master. Oleh karena itu, Anda perlu menginstal klien Arena pada mesin lokal seperti komputer yang menjalankan macOS. Untuk informasi lebih lanjut, lihat Dapatkan file kubeconfig dari klaster dan gunakan kubectl untuk menyambungkan ke klaster.
Klaster ACK khusus
Gunakan SSH untuk masuk ke node master klaster ACK khusus dan jalankan perintah
arenapada node tersebut. Untuk informasi lebih lanjut, lihat Gunakan SSH untuk menyambungkan ke node master klaster ACK khusus.CatatanAnda dapat menjalankan perintah kubectl get nodes untuk memeriksa apakah konfigurasi dalam file
kubeconfigsudah benar.Untuk menginstal klien Arena, jalankan perintah yang sesuai berdasarkan sistem operasi (Linux atau macOS) dan arsitektur prosesor (amd64 atau arm64).
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 instalasi. 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 instalasi. 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 instalasi. 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 instalasi. 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-binaryOpsional: Instal bash-completion. Fitur penyelesaian otomatis dari bash-completion memungkinkan penyelesaian otomatis perintah yang diketik sebagian. Setelah menginstal bash-completion, Anda dapat menekan Tab di CLI untuk menyelesaikan perintah secara otomatis.
Instal bash-completion.
bash-completion untuk CentOS atau Linux
sudo yum install bash-completion -ybash-completion untuk Debian atau Ubuntu
sudo apt-get install bash-completionmacOS
brew install bash-completion@2Aktifkan fitur penyelesaian otomatis dalam file profil.
Linux
echo "source <(arena completion bash)" >> ~/.bashrc chmod u+x ~/.bashrcmacOS
echo "source $(brew --prefix)/etc/profile.d/bash_completion.sh" >> ~/.bashrc
Langkah 2: Uji apakah Arena bekerja sesuai harapan
Lakukan langkah-langkah berikut untuk memverifikasi bahwa Arena berfungsi dengan baik:
Jalankan perintah berikut untuk memeriksa sumber daya GPU yang tersedia di klaster:
arena top nodeOutput menampilkan informasi tentang node dan GPU, menunjukkan bahwa Arena bekerja sesuai harapan.
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%)Gunakan Arena untuk mengirim pekerjaan pelatihan. Output menunjukkan bahwa pekerjaan telah berhasil dikirim.
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 statusJalankan perintah berikut untuk memeriksa semua pekerjaan:
arena listOutput yang diharapkan:
NAME STATUS TRAINER AGE NODE firstjob RUNNING TFJOB 5s 192.168.X.XXXJalankan perintah berikut untuk memeriksa status pekerjaan yang telah dikirim:
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.XXXJalankan perintah berikut untuk memeriksa 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 999