Mulai menggunakan ML Diagnostics CLI
Gunakan ML Diagnostics Google Cloud CLI untuk membuat proses machine learning, men-deploy XProf sebagai instance terkelola dengan backend yang skalabel, dan memberikan pengalaman pembuatan profil terkelola di Google Cloud.
Ada dua kategori perintah gcloud CLI ML Diagnostics:
perintah machine-learning-run dan perintah profiler. Gunakan perintah
machine-learning-run untuk membuat, menghapus, mendeskripsikan, mencantumkan, dan memperbarui
proses machine learning. Gunakan perintah profiler untuk mencantumkan node dan merekam profil sesuai permintaan dari CLI.
- Perintah
Machine-learning-run:Create,Delete,Describe,List,Update. - Perintah profiler:
profiler-target:Listprofiler-session:Capture,List
Semua perintah gcloud CLI memerlukan project yang ditentukan di lingkungan. Untuk menyetel project:
gcloud config set project PROJECT_ID
Untuk mengetahui informasi selengkapnya tentang perintah gcloud CLI ML Diagnostics, lihat referensi API.
Merekam profil
Anda dapat merekam profil XProf dari workload ML dengan perekaman terprogram atau perekaman sesuai permintaan (perekaman manual). Pengambilan data terprogram melibatkan penyematan perintah pembuatan profil langsung ke dalam kode machine learning Anda, dan menyatakan secara eksplisit kapan harus mulai dan berhenti merekam data. Pengambilan data sesuai permintaan terjadi secara real-time, saat Anda memicu profiler ketika workload sudah berjalan aktif.
Untuk mengaktifkan pengambilan profil sesuai permintaan, Anda perlu memulai server XProf dalam kode dan memanggil metode profiler.start_server. Tindakan ini akan memulai server XProf
pada workload ML Anda yang memproses pemicu pengambilan sesuai permintaan untuk
mulai merekam profil. Gunakan port 9999 untuk perintah ini:
profiler.start_server(port=9999)
Untuk pengambilan profil terprogram dan sesuai permintaan, tentukan lokasi untuk menyimpan profil yang diambil. Misalnya: gs://my-bucket/my-run. Profil disimpan di direktori bertingkat dalam lokasi:gs://my-bucket/my-run/plugins/profile/session1/. Pengambilan profil terprogram dan pengambilan sesuai permintaan tidak boleh terjadi dalam jangka waktu yang sama.
Untuk pengambilan profil sesuai permintaan, siapkan cluster GKE dan deploy
workload dengan label: managed-mldiagnostics-gke=true.
Untuk mengetahui informasi selengkapnya tentang pembuatan profil dengan JAX, lihat Membuat profil komputasi.
Membuat proses machine learning
Membuat resource run machine learning di project dan lokasi yang ditentukan. Perintah
machine-learning-run create men-deploy XProf sebagai instance terkelola di
project Anda. Instance XProf terkelola digunakan untuk melihat semua profil dalam
project, dan dibuat saat proses machine learning pertama dibuat dalam
project.
Gunakan perintah machine-learning-run create:
gcloud alpha mldiagnostics machine-learning-run create
Ada dua cara untuk membuat proses machine learning:
- Mendaftarkan profil yang sudah direkam ke platform Diagnostik ML.
- Gunakan Diagnostik ML untuk melakukan pengambilan profil sesuai permintaan dengan mendaftarkan
run aktif. Hal ini memerlukan penyiapan cluster GKE dan workload yang di-deploy di
GKE dengan label
managed-mldiagnostics-gke=true.
Membuat ML Run dan mendaftarkan profil yang ada yang telah diambil
Kode berikut membuat proses dan mendaftarkan profil yang sudah direkam ke ML Diagnostics:
gcloud alpha mldiagnostics machine-learning-run create RUN_NAME \
--location LOCATION \
--run-group GROUP_NAME \
--gcs-path gs://BUCKET_NAME \
--display-name DISPLAY_NAME \
--labels "list_existing_sessions_only"="true"
Contoh kode menggunakan flag berikut:
| Flag | Persyaratan | Deskripsi |
|---|---|---|
machine-learning-run |
Wajib | ID unik untuk proses tertentu ini. Jika nama tidak unik, pembuatan operasi akan gagal dengan pesan: "ML Run already exists". |
location |
Wajib | Semua lokasi Cluster Director
didukung kecuali us-east5. Flag ini dapat ditetapkan oleh
argumen untuk setiap perintah, atau dengan perintah:
gcloud config set compute/region. |
gcs-path |
Wajib | Google Cloud Lokasi penyimpanan tempat semua profil disimpan.
Misalnya gs://my-bucket atau gs://my-bucket/folder1.
Hanya diperlukan jika SDK digunakan untuk pengambilan profil. |
run-group |
Opsional | ID yang dapat membantu mengelompokkan beberapa proses yang termasuk dalam eksperimen yang sama. Misalnya, semua proses yang terkait dengan sapuan ukuran slice TPU dapat termasuk dalam grup yang sama. |
display-name |
Opsional | Nama tampilan untuk proses machine learning. Jika tidak diberikan, ID ini akan disetel ke ID operasi machine learning. |
Flag --labels list_existing_sessions_only=true diperlukan jika Anda ingin
melihat dan mengelola profil yang ada yang dikumpulkan di Diagnostik ML. Flag ini melakukan hal berikut:
- Membuat proses machine learning dengan status "Selesai".
- Menelusuri file xplane.pb secara rekursif dalam jalur direktori Cloud Storage.
- Memuat semua sesi profil yang berlokasi ke dalam database Diagnostik ML untuk dilihat di Google Cloud, membuat link yang dapat dibagikan untuk sesi profil, dan memungkinkan pengguna mengelola profil ini dengan platform Diagnostik ML.
Jika tanda --labels list_existing_sessions_only disetel ke true untuk suatu proses,
Anda tidak dapat melakukan pembuatan profil sesuai permintaan atau memperbarui proses. Anda hanya dapat melihat dan mengelola profil yang ada.
Membuat ML Run untuk melakukan pengambilan profil sesuai permintaan
Kode berikut membuat mlrun untuk melakukan pengambilan profil sesuai permintaan:
gcloud alpha mldiagnostics machine-learning-run create RUN_NAME \
--location LOCATION \
--orchestrator gke \
--run-group RUN_GROUP \
--gcs-path gs://BUCKET_NAME \
--display-name DISPLAY_NAME \
--gke-cluster-name projects/user/locations/LOCATION/clusters/CLUSTER_NAME \
--gke-namespace NAMESPACE \
--gke-workload-name WORKLOAD_NAME \
--gke-kind GKE_KIND \
--gke-workload-create-time CREATE_TIME \
--run-phase RUN_PHASE
Selain flag dari contoh sebelumnya, contoh kode ini menggunakan flag tambahan berikut:
| Flag | Persyaratan | Deskripsi |
|---|---|---|
orchestrator |
Opsional |
Orchestrator yang digunakan untuk menjalankan. Jika tidak ditentukan, gke akan
digunakan secara default. Nilai yang valid: gce, gke, slurm.
|
gke-cluster-name |
Diperlukan untuk GKE |
Cluster workload. Contoh:
/projects/<project_id>/locations/<location>/clusters/<cluster_name>.
|
gke-kind |
Diperlukan untuk GKE |
Jenis workload. Misalnya: JobSet.
|
gke-namespace |
Diperlukan untuk GKE |
Namespace workload. Misalnya: default.
|
gke-workload-name |
Diperlukan untuk GKE |
ID beban kerja. Misalnya: jobset-abcd.
|
gke-workload-create-time |
Diperlukan untuk GKE |
Stempel waktu pembuatan JobSet dalam format stempel waktu ISO. Misalnya: 2026-02-20T06:00:00Z.
|
run-phase |
Opsional |
Fase dan status proses. Jika tidak diberikan, nilai defaultnya adalah ACTIVE.
|
Menjelaskan eksekusi machine learning
Lihat detail eksekusi machine learning dengan perintah machine-learning-run
describe:
gcloud alpha mldiagnostics machine-learning-run describe RUN_NAME --FORMAT=FORMAT
Contoh berikut adalah permintaan detail proses dalam JSON:
gcloud alpha mldiagnostics machine-learning-run describe my-run-on-demand \
--format json
Outputnya mirip dengan hal berikut ini:
{
"artifacts": {
"gcsPath": "gs://my-bucket"
},
"createTime": "2026-02-05T16:25:28.367865234Z",
"displayName": "mldiagnostics-my-run-on-demand",
"endTime": "0001-01-01T00:00:00Z",
"etag": "1f54a7f4-bd25-4f98-a91c-97bfa1c5b7a6",
"name": "projects/163028815180/locations/us-central1/machineLearningRuns/my-run-on-demand",
"orchestrator": "GKE",
"runPhase": "ACTIVE",
"runSet": "my-run-on-demand-group",
"tools": [
{
"XProf": {}
}
],
"updateTime": "2026-02-05T16:25:28.367865344Z",
"workloadDetails": {
"gke": {
"cluster": "projects/163028815180/locations/us-central1/clusters/my-cluster",
"id": "jobset-abcd",
"kind": "JobSet",
"namespace": "default"
}
}
}
Mencantumkan operasi machine learning
Dapatkan daftar proses machine learning dalam project dan lokasi tertentu dengan
perintah machine-learning-run list:
gcloud alpha mldiagnostics machine-learning-run list
Contoh berikut adalah permintaan untuk daftar hingga dua proses, dengan output jalur URI-nya:
gcloud alpha mldiagnostics machine-learning-run list --limit 2 --uri
https://hypercomputecluster.googleapis.com/v1alpha/projects/163028815180/locations/us-central1/machineLearningRuns/my-run-on-demand
https://hypercomputecluster.googleapis.com/v1alpha/projects/163028815180/locations/us-central1/machineLearningRuns/my-run-on-demand-2
Memperbarui proses machine learning
Memperbarui proses machine learning di project dan lokasi tertentu. Anda dapat
memperbarui nama tampilan, fase berjalan, orkestrator, dan detail
workload GKE. Anda tidak dapat mengubah ID dan lokasi proses. Perbarui proses dengan
perintah machine-learning-run update:
gcloud alpha mldiagnostics machine-learning-run update
Berikan semua kolom yang disertakan dalam permintaan create. Jika
kolom wajib diisi tidak diberikan selama permintaan update, kolom tersebut akan diganti dengan
nilai default.
Flag etag adalah kolom wajib diisi, dan harus berupa nilai ETag (tag entitas)
terbaru untuk resource ML Run. Untuk mengetahui informasi selengkapnya, lihat Menggunakan tag entitas untuk
kontrol konkurensi optimis. Gunakan perintah berikut
untuk menemukan nilai ETAG yang benar:
gcloud alpha mldiagnostics machine-learning-run describe RUN_NAME
Berikut adalah contoh permintaan update lengkap:
gcloud alpha mldiagnostics machine-learning-run update my-run-on-demand \
--orchestrator gke \
--run-group my-run-on-demand-group \
--gcs-path gs://my-bucket \
--display-name mldiagnostics-my-run-on-demand-completed \
--gke-cluster-name projects/user/locations/us-central1/clusters/my-cluster \
--gke-namespace default \
--gke-workload-name jobset-abcd \
--gke-kind JobSet \
--gke-workload-create-time 2026-02-20T06:06:06Z \
--run-phase COMPLETED \
--etag 1f54a7f4-bd25-4f98-a91c-97bfa1c5b7a6
Menghapus operasi machine learning
Menghapus proses machine learning dalam project dan lokasi tertentu dengan perintah
machine-learning-run delete:
gcloud alpha mldiagnostics machine-learning-run delete RUN_NAME
Menghapus proses ML tidak akan menghapus data apa pun di Cloud Storage, Cloud Logging, atau beban kerja GKE. Menghapus mlrun hanya akan menghapus metadata yang terkait dengan proses dalam sistem Diagnostik ML.
Perintah profiler
Anda dapat menggunakan grup perintah profiler untuk mencantumkan semua profil, menemukan node GKE beban kerja tempat server XProf berjalan, dan merekam profil sesuai permintaan dari CLI.
Mencantumkan target profiler
Mencantumkan semua target profiler yang terkait dengan proses machine learning dalam project dan lokasi tertentu:
gcloud alpha mldiagnostics profiler-target list --machine-learning-run RUN_NAME
Perintah ini memerlukan hal berikut:
- Xprof on-demand diaktifkan dalam workload, yang men-deploy server XProf ke semua node workload.
- Cluster GKE disiapkan untuk Diagnostik ML, dengan webhook dan operator yang di-deploy.
- Workload yang di-deploy di GKE dengan label:
managed-mldiagnostics-gke=true.
Berikut adalah contoh permintaan:
gcloud alpha mldiagnostics profiler-target list \
--machine-learning-run my-run-on-demand
Berikut adalah contoh output-nya:
---
hostname: gke-tpu-1f0789b5-jqx9
name: projects/163028815180/locations/us-central1/machineLearningRuns/my-run-on-demand/profilerTargets/jobset-abcd-tpu-slice-0-0-tcw2k
---
hostname: gke-tpu-1f0789b5-rxvf
name: projects/163028815180/locations/us-central1/machineLearningRuns/my-run-on-demand/profilerTargets/jobset-abcd-tpu-slice-0-1-dct59
Mencantumkan sesi profiler
Mencantumkan semua sesi profiler yang terkait dengan proses machine learning di project dan lokasi tertentu dengan perintah berikut:
gcloud alpha mldiagnostics profiler-session list --machine-learning-run RUN_NAME
Perintah profiler ini tidak memerlukan penyiapan GKE atau workload. Bagian ini akan mencantumkan semua sesi profil, baik terprogram maupun on-demand. Jika Anda hanya memiliki pengambilan profil terprogram, gunakan perintah ini untuk mencantumkan semua sesi profil. Tidak ada penyiapan GKE yang diperlukan, pemberian label workload GKE, atau pengaktifan XProf sesuai permintaan.
Berikut adalah contoh permintaan:
gcloud alpha mldiagnostics profiler-session list \
--machine-learning-run my-run-on-demand
Merekam sesi profiler on-demand
Anda dapat merekam sesi profiler sesuai permintaan untuk menjalankan machine learning di serangkaian node tertentu tempat workload berjalan (target profiler).
Perintah ini memerlukan hal berikut:
- XProf on-demand diaktifkan dalam workload, yang men-deploy server XProf ke semua node workload
- Cluster GKE disiapkan untuk Diagnostik ML, dengan webhook dan operator yang di-deploy
- Workload yang di-deploy di GKE dengan label:
managed-mldiagnostics-gke=true.
Berikut adalah contoh permintaan:
gcloud alpha mldiagnostics profiler-session capture \
profiler-session-on-demand \
--machine-learning-run RUN_NAME \
--targets TARGET \
--duration DURATION
Contoh ini menggunakan flag berikut:
| Flag | Persyaratan | Deskripsi |
|---|---|---|
profiler-session-name |
Wajib | Nama sesi profiler yang akan direkam. |
duration |
Wajib |
Durasi untuk perekaman sesi profiler. Ini adalah jenis Duration.
Misalnya, tentukan durasi 1s selama 1 detik,
400ms selama 400 milidetik, dan 5m selama 5 menit.
|
targets |
Wajib | ID target profiler atau ID yang sepenuhnya memenuhi syarat untuk profiler-targets. Harus cocok dengan daftar target yang terkait dengan proses. |
device-tracer-level |
Opsional |
Tingkat perekaman aktivitas perangkat untuk sesi. Nilai yang diterima: device-tracer-level-enabled, device-tracer-level-disabled (default).
|
host-tracer-level |
Opsional |
Tingkat pelacakan host untuk sesi. Nilai yang diterima: host-tracer-level-info (default), host-tracer-level-critical, host-tracer-level-disabled, host-tracer-level-verbose.
|
python-tracer-level |
Opsional |
Tingkat pelacak Python untuk sesi. Nilai yang diterima: python-tracer-level-disabled (default), python-tracer-level-enabled.
|