Melihat metrik TPU di Dasbor Ray

Dokumen ini menunjukkan cara melihat metrik TPU di Dasbor Ray dengan KubeRay di Google Kubernetes Engine (GKE). Di cluster GKE dengan add-on Ray GKE, metrik TPU tersedia di Cloud Monitoring.

Sebelum memulai

Sebelum memulai, pastikan Anda telah melakukan tugas berikut:

  • Aktifkan Google Kubernetes Engine API.
  • Aktifkan Google Kubernetes Engine API
  • Jika ingin menggunakan Google Cloud CLI untuk tugas ini, instal lalu lakukan inisialisasi gcloud CLI. Jika sebelumnya Anda telah menginstal gcloud CLI, dapatkan versi terbaru dengan menjalankan perintah gcloud components update. gcloud CLI versi sebelumnya mungkin tidak mendukung menjalankan perintah dalam dokumen ini.

Menyiapkan lingkungan Anda

Dalam tutorial ini, Anda akan menggunakan Cloud Shell, yang merupakan lingkungan shell untuk mengelola resource yang dihosting diGoogle Cloud.

Cloud Shell telah diinstal lebih dulu dengan alat command line Google Cloud CLI dan kubectl. gcloud CLI menyediakan antarmuka command line utama untuk Google Cloud, dan kubectl menyediakan antarmuka command line utama untuk menjalankan perintah terhadap cluster Kubernetes.

Meluncurkan Cloud Shell:

  1. Buka konsol Google Cloud .

    Google Cloud console

  2. Dari pojok kanan atas konsol, klik tombol Activate Cloud Shell:

Sesi Cloud Shell akan terbuka di dalam frame yang lebih rendah di konsol. Anda menggunakan shell ini untuk menjalankan perintah gcloud dan kubectl. Sebelum menjalankan perintah, tetapkan project default Anda di Google Cloud CLI menggunakan perintah berikut:

gcloud config set project PROJECT_ID

Ganti PROJECT_ID dengan project ID Anda.

Melihat metrik TPU di Dasbor Ray

Untuk melihat metrik TPU di Dasbor Ray, lakukan tindakan berikut:

  1. Di shell Anda, aktifkan metrik di Dasbor Ray dengan menginstal Kubernetes Prometheus Stack.

    ./install/prometheus/install.sh --auto-load-dashboard true
    kubectl get all -n prometheus-system
    

    Outputnya mirip dengan hal berikut ini:

    NAME                                                  READY   UP-TO-DATE   AVAILABLE   AGE
    deployment.apps/prometheus-grafana                    1/1     1            1           46s
    deployment.apps/prometheus-kube-prometheus-operator   1/1     1            1           46s
    deployment.apps/prometheus-kube-state-metrics         1/1     1            1           46s
    

    Penginstalan ini menggunakan diagram Helm untuk menambahkan Definisi Resource Kustom (CRD), Pod Monitor, dan Service Monitor untuk Pod Ray ke cluster Anda.

  2. Instal operator KubeRay v1.5.0 atau yang lebih baru dengan pengumpulan metrik diaktifkan. Untuk melihat metrik TPU di Grafana dengan dasbor default yang disediakan di KubeRay, Anda harus menginstal KubeRay v1.5.0 atau yang lebih baru.

    helm repo add kuberay https://ray-project.github.io/kuberay-helm/
    helm install kuberay-operator kuberay/kuberay-operator --version 1.5.0-rc.0 \
        --set metrics.serviceMonitor.enabled=true \
        --set metrics.serviceMonitor.selector.release=prometheus
    
  3. Instal webhook TPU KubeRay. Webhook ini menetapkan variabel lingkungan TPU_DEVICE_PLUGIN_HOST_IP yang digunakan Ray untuk melakukan polling metrik TPU dari DaemonSet tpu-device-plugin.

    helm install kuberay-tpu-webhook \
    oci://us-docker.pkg.dev/ai-on-gke/kuberay-tpu-webhook-helm/kuberay-tpu-webhook \
        --set tpuWebhook.image.tag=v1.2.6-gke.0
    
  4. Untuk menyiapkan beban kerja Anda agar mencatat metrik, tetapkan port dan variabel lingkungan berikut dalam spesifikasi RayCluster:

    headGroupSpec:
    ...
    ports:
    ...
    - containerPort: 44217
      name: as-metrics
    - containerPort: 44227
      name: dash-metrics
    env:
    - name: RAY_GRAFANA_IFRAME_HOST
      value: http://127.0.0.1:3000
    - name: RAY_GRAFANA_HOST
      value: http://prometheus-grafana.prometheus-system.svc:80
    - name: RAY_PROMETHEUS_HOST
      value: http://prometheus-kube-prometheus-prometheus.prometheus-system.svc:9090
    
  5. Jalankan workload dengan TPU menggunakan Ray. Anda dapat menggunakan contoh workload TPU seperti Melatih LLM menggunakan JAX, Ray Train, dan TPU Trillium di GKE atau Menyajikan LLM menggunakan TPU di GKE dengan KubeRay.

Melihat metrik di Dasbor Ray atau Grafana

  1. Untuk terhubung ke RayCluster, teruskan port layanan head Ray:

    kubectl port-forward service/RAY_CLUSTER_NAME-head-svc 8265:8265
    

    Ganti RAY_CLUSTER_NAME dengan nama RayCluster Anda. Jika workload Anda berasal dari tutorial Melatih LLM menggunakan JAX, Ray Train, dan TPU Trillium di GKE, maka nilai ini adalah maxtext-tpu-cluster.

  2. Untuk melihat Dasbor Ray, buka http://localhost:8265/ di komputer lokal Anda.

  3. Teruskan port UI web Grafana. Anda perlu meneruskan port Grafana untuk melihat metrik TPU yang ditampilkan di dasbor Grafana yang disematkan di Dasbor Ray.

    kubectl port-forward -n prometheus-system service/prometheus-grafana 3000:http-web
    
  4. Di Dasbor Ray, buka tab Metrics dan temukan tab TPU Utilization by Node. Saat TPU berjalan, metrik per node untuk penggunaan Tensor Core, penggunaan HBM, siklus tugas TPU, dan penggunaan memori di-streaming ke dasbor. Metrik ini dapat dilihat di Grafana dengan membuka Tab Lihat di Grafana.

    Grafik yang menampilkan metrik di Dasbor Ray atau Grafana

  5. Untuk melihat log libtpu, buka tab Logs di Dasbor Ray, lalu pilih node TPU. Log Libtpu ditulis ke direktori /tpu_logs.

Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi logging TPU, lihat Men-debug log VM TPU.

Langkah berikutnya