Halaman ini memperkenalkan Cloud TPU dan menunjukkan tempat untuk menemukan informasi terkait penggunaan Cloud TPU dengan Google Kubernetes Engine (GKE). Tensor Processing Unit (TPU) adalah sirkuit terintegrasi khusus aplikasi (ASIC) Google yang dikembangkan secara khusus dan digunakan untuk mempercepat workload machine learning yang menggunakan framework seperti TensorFlow, PyTorch, dan JAX.
Sebelum menggunakan TPU di GKE, sebaiknya selesaikan jalur pembelajaran berikut:
- Pelajari cara kerja akselerator machine learning dengan Pengantar Cloud TPU.
- Pelajari ketersediaan versi TPU saat ini dengan arsitektur sistem Cloud TPU.
Untuk mempelajari cara menyiapkan Cloud TPU di GKE, lihat referensi berikut:
Manfaat menggunakan TPU di GKE
GKE memberikan dukungan penuh untuk pengelolaan siklus proses VM TPU, termasuk membuat, mengonfigurasi, dan menghapus VM TPU. GKE juga mendukung Spot VM dan menggunakan Cloud TPU yang dicadangkan. Manfaat menggunakan TPU di GKE meliputi:
- Lingkungan operasional yang konsisten: Satu platform untuk semua machine learning dan workload lainnya.
- Upgrade otomatis: GKE mengotomatiskan update versi yang mengurangi overhead operasional.
- Load balancing: GKE mendistribusikan latensi pengurangan beban dan meningkatkan keandalan.
- Penskalaan responsif: GKE menskalakan resource TPU secara otomatis untuk memenuhi kebutuhan workload Anda.
- Pengelolaan resource: Dengan Kueue, sistem antrean tugas berbasis Kubernetes, Anda dapat mengelola resource di beberapa tenant dalam organisasi menggunakan antrean, preemption, prioritas, dan pembagian wajar.
Terminologi yang terkait dengan TPU di GKE
Dokumen ini menggunakan terminologi berikut terkait TPU:
- Jenis TPU: jenis Cloud TPU, seperti v5e.
- Slice TPU: Kumpulan chip TPU yang saling terhubung.
- Topologi TPU: Jumlah dan pengaturan fisik TPU chip dalam slice TPU.
- Node slice TPU host tunggal: satu atau beberapa node TPU independen. TPU yang terpasang pada VM tidak terhubung satu sama lain melalui interkoneksi berkecepatan tinggi.
- Node slice TPU multi-host: dua node TPU yang saling terhubung atau lebih. TPU yang terpasang pada VM terhubung melalui interkoneksi berkecepatan tinggi. Node TPU multi-host memiliki karakteristik berikut:
- Atomik: GKE memperlakukan semua node yang saling terhubung sebagai satu unit. Selama operasi penskalaan, GKE menskalakan seluruh kumpulan node menjadi 0 dan membuat node baru. Jika sebuah mesin dalam grup gagal atau dihentikan, GKE akan membuat ulang seluruh kumpulan node sebagai unit baru.
- Tidak dapat diubah: Anda tidak dapat menambahkan node baru secara manual ke kumpulan node yang saling terhubung.
Cara kerja TPU di GKE
Pengelolaan resource dan prioritas Kubernetes memperlakukan VM TPU sama seperti jenis
VM lainnya. Anda meminta chip TPU menggunakan nama resource google.com/tpu
:
resources:
requests:
google.com/tpu: 4
limits:
google.com/tpu: 4
Saat menggunakan TPU di GKE, Anda harus mempertimbangkan karakteristik TPU berikut:
- VM TPU dapat mengakses hingga 8 chip TPU.
- Slice TPU berisi chip TPU dalam jumlah tetap yang bergantung pada jenis mesin TPU yang Anda pilih.
- Jumlah
google.com/tpu
yang diminta harus sama dengan jumlah total chip yang tersedia di TPU node. Container apa pun di Pod GKE yang meminta TPU harus menggunakan semua TPU chip dalam node. Jika tidak, Deployment akan gagal karena GKE tidak dapat menggunakan sebagian resource TPU. Misalnya, lihat skenario berikut:- Jenis mesin
ct5l-hightpu-8t
memiliki satu node TPU dengan 8 chip TPU. Satu Pod GKE yang memerlukan delapan chip TPU dapat di-deploy di node, tetapi dua Pod GKE yang memerlukan empat chip TPU masing-masing tidak dapat di-deploy pada sebuah node. - Jenis mesin
ct5lp-hightpu-4t
dengan topologi2x4
berisi dua node TPU dengan masing-masing empat chip, total delapan chip TPU. Pod GKE yang memerlukan delapan chip TPU tidak dapat di-deploy di node mana pun dalam kumpulan node ini, tetapi dua Pod yang memerlukan empat chip TPU dapat di-deploy di kedua node di kumpulan node. - TPU v5e dengan topologi 4x4 memiliki 16 chip dalam empat node. Workload GKE Autopilot yang memilih konfigurasi ini harus meminta empat chip di setiap replika, untuk maksimal empat replika.
- Jenis mesin
- Dalam cluster Standar, beberapa Pod Kubernetes dapat dijadwalkan pada VM TPU, tetapi hanya satu container di setiap Pod yang dapat mengakses chip TPU.
- Setiap cluster Standar harus memiliki setidaknya satu kumpulan node non-TPU untuk membuat Pod sistem kube, seperti kube-dns.
- Secara default, node TPU memiliki taint
google.com/tpu
yang mencegah Pod non-TPU dijadwalkan padanya. Taint tidak menjamin resource TPU digunakan sepenuhnya. Ini memungkinkan Anda untuk menjalankan workload yang tidak menggunakan TPU pada node non-TPU, sehingga mengosongkan komputasi di TPU node untuk kode yang menggunakan TPU. - GKE mengumpulkan log yang dikeluarkan oleh container yang berjalan di VM TPU. Untuk mempelajari lebih lanjut, lihat Logging.
- Metrik penggunaan TPU, seperti performa runtime, tersedia di Cloud Monitoring. Untuk mempelajari lebih lanjut, lihat Kemampuan observasi dan metrik.
Merencanakan konfigurasi TPU
Untuk menggunakan TPU di cluster GKE, Anda harus menentukan parameter berikut:
- Jenis TPU: berbagai jenis TPU memiliki kemampuan yang berbeda seperti rasio harga-performa, throughput pelatihan, dan latensi penayangan. VM tempat TPU terpasang memiliki kapasitas CPU dan memori yang berbeda.
- Topologi: tata letak chip dalam jenis TPU. Setiap jenis TPU mendukung tata letak chip 2D atau 3D dan pengaturan tertentu. Pilih topologi yang cocok dengan persyaratan paralelisme model Anda.
Interkonektivitas TPU: Jenis dan topologi TPU menentukan apakah Anda mendapatkan TPU di beberapa node yang memiliki interkoneksi berkecepatan tinggi. Ini menentukan apakah Anda menginginkan node slice TPU host tunggal atau multi-host.
- Untuk model berskala besar, gunakan node slice TPU multi-host
- Untuk model berskala kecil, gunakan node slice TPU host tunggal
Memilih konfigurasi TPU untuk mode GKE Autopilot
Dalam Autopilot, Anda memilih jenis TPU dan topologi, lalu menentukannya dalam manifes Kubernetes. GKE mengelola penyediaan node dengan TPU dan penjadwalan workload Anda.
Ketersediaan TPU di GKE Autopilot
TPU tersedia di region Google Cloud tertentu. Untuk menggunakan jenis TPU di workload GKE, cluster Anda harus berada di region yang didukung untuk jenis tersebut. Untuk mengetahui detailnya, lihat Region dan zona TPU dalam dokumentasi Cloud TPU.
Memilih jenis TPU di Autopilot
Jenis TPU | Jumlah vCPU | Memori (GiB) | Jumlah NUMA node | Chip TPU maksimum dalam satu slice |
---|---|---|---|---|
TPU v5p (Pratinjau)tpu-v5p-slice |
208 | 448 | 2 | 6.144 |
TPU v5etpu-v5-lite-podslice |
24-224 tahun | 48-384 tahun | 1 | 256 |
TPU v5e (khusus host tunggal)tpu-v5-lite-device |
24-224 tahun | 48-384 tahun | 1 hingga 2 | 8 |
TPU v4tpu-v4-podslice |
240 | 407 | 2 | 4.096 |
Tinjau spesifikasi dan harga chip dalam dokumentasi Cloud TPU untuk membantu Anda memutuskan versi yang akan digunakan.
Memilih topologi untuk Autopilot
Topologi adalah tata letak fisik chip dalam irisan TPU. Bergantung pada jenis TPU, topologinya memiliki dua atau tiga dimensi. Setelah Anda menentukan jenis TPU, pilih topologi yang didukung oleh jenis TPU tersebut. Persyaratan paralelisme model akan membantu Anda menentukan topologi. Produk dari topologi ini adalah jumlah {i>chip<i} dalam irisan tersebut. Contoh:
2x2x2
adalah slice TPU v4 multi-host 8-chip2x2
adalah slice TPU v5e host tunggal 4-chip
Topologi yang Anda pilih untuk jenis TPU menentukan apakah Anda mendapatkan node slice TPU satu
atau multi-host. Jika topologi tertentu mendukung irisan host tunggal dan multi-host, jumlah chip TPU yang diminta beban kerja Anda akan menentukan jenis host yang Anda dapatkan. Misalnya, TPU v5e
(tpu-v5-lite-podslice
) mendukung topologi 2x4 sebagai host tunggal dan
multi-host. Jika meminta 4 chip dalam beban kerja, Anda akan mendapatkan node multi-host
yang memiliki 4 chip. Jika meminta 8 chip dalam beban kerja, Anda akan mendapatkan node host tunggal
yang memiliki 8 chip.
Tabel berikut menjelaskan topologi yang didukung di setiap jenis TPU dan jumlah chip, jumlah node, dan jenis host:
Jenis TPU | Topologi | Chip TPU dalam satu irisan | Jumlah node | Jenis host | Notes |
---|---|---|---|---|---|
TPU v5p (Pratinjau)tpu-v5p-slice |
2x2x1 | 4 | 1 | Host tunggal | Topologi kustom untuk lebih dari 64 chip didukung. Kondisi berikut berlaku:
|
2x2x2 | 8 | 2 | Multi-host | ||
2x2x4 | 16 | 4 | Multi-host | ||
2x4x4 | 32 | 8 | Multi-host | ||
4x4x4 | 64 | 16 | Multi-host | ||
{A}x{B}x{C} | A*B*C | (A*B*C/4)1 | Multi-host | ||
TPU v5etpu-v5-lite-podslice |
1x1 | 1 | 1 | Host tunggal | Topologi kustom tidak didukung. |
2x2 | 4 | 1 | |||
2x4 | 8 | 1 | |||
2x4 | 2 | 1 | Multi-host | ||
4x4 | 16 | 4 | |||
4x8 | 32 | 8 | |||
8x8 | 64 | 16 | |||
8x16 | 128 | 32 | |||
16x16 | 256 | 64 | |||
TPU v5e (khusus host tunggal)tpu-v5-lite-device |
1x1 | 1 | 1 | Host tunggal | Topologi kustom tidak didukung |
2x2 | 4 | 1 | |||
2x4 | 8 | 1 | |||
TPU v4tpu-v4-podslice |
2x2x1 | 4 | 1 | Host tunggal | Topologi kustom untuk lebih dari 64 chip didukung. Kondisi berikut berlaku:
|
2x2x2 | 8 | 2 | Multi-host | ||
2x2x4 | 16 | 4 | Multi-host | ||
2x4x4 | 32 | 8 | Multi-host | ||
4x4x4 | 64 | 16 | Multi-host | ||
{A}x{B}x{C} | A*B*C | (A*B*C/4)1 | Multi-host |
-
Dihitung dengan produk topologi dibagi empat. ↩
Setelah memilih jenis dan topologi TPU, tentukan keduanya dalam manifes beban kerja Anda. Untuk mengetahui petunjuknya, lihat Men-deploy workload TPU di GKE Autopilot.
Memilih konfigurasi TPU untuk mode GKE Standar
Bagian berikut menjelaskan karakteristik TPU yang Anda evaluasi saat merencanakan dan menyiapkan workload TPU di GKE. Untuk mengetahui detail tentang versi yang tersedia, jenis mesin, topologi yang valid, dan jumlah chip-nya, lihat Pemetaan konfigurasi TPU dalam dokumen ini.
Ketersediaan TPU dalam mode GKE Standar
Tabel berikut mencantumkan ketersediaan TPU bergantung pada jenis dan versi mesin:
Versi TPU | Jenis mesin yang dimulai dengan | Versi GKE minimum | Ketersediaan | Zone |
---|---|---|---|---|
TPU v4 | ct4p- |
1.26.1-gke.1500 | Tersedia Secara Umum | us-central2-b |
TPU v5e | ct5l- |
1.27.2-gke.2100 | Tersedia Secara Umum | europe-west4-b |
us-central1-a |
||||
TPU v5e | ct5lp- |
1.27.2-gke.2100 | Tersedia Secara Umum | europe-west4-a 1 |
us-central1-a 1 |
||||
us-east1-c |
||||
us-east5-b 1 |
||||
us-west1-c |
||||
us-west4-a |
||||
us-west4-b 1 |
||||
TPU v5p | ct5p- |
1.28.3-gke.1024000 | Pratinjau | us-east1-d |
us-east5-a |
||||
us-east5-c |
-
Saat membuat TPU v5e dengan jenis mesin yang dimulai dengan
ct5lp-
di salah satu zonaeurope-west4-a
,us-central1-a
,us-east5-b
, atauus-west4-b
, kumpulan node TPU v5e host tunggal tidak didukung. Dengan kata lain, saat membuat kumpulan node TPU v5e di salah satu zona ini, hanya jenis mesinct5lp-hightpu-4t
dengan topologi minimal2x4
atau lebih besar yang didukung. Untuk membuat TPU v5e host tunggal dius-central1
ataueurope-west4
, pilih zonaus-central1-a
ataueurope-west4-b
, lalu gunakan jenis mesin yang dimulai denganct5l-
sepertict5l-hightpu-1t
,ct5l-hightpu-4t
, atauct5l-hightpu-8t
. Untuk membuat TPU v5e host tunggal di regionus-west4
, pilih zonaus-west4-a
dan gunakan jenis mesin yang dimulai denganct5lp-
sepertict5lp-hightpu-1t
. Perlu diperhatikan bahwa jenis mesin yang dimulai denganct5l-
memerlukan kuota yang berbeda dibandingkan jenis mesin yang dimulai denganct5lp-
. ↩
Bagian berikut menjelaskan karakteristik TPU yang Anda evaluasi saat merencanakan dan menyiapkan workload TPU di GKE. Untuk mengetahui detail tentang versi yang tersedia, jenis mesin, topologi yang valid, dan jumlah chip-nya, lihat Pemetaan konfigurasi TPU dalam dokumen ini.
Machine type
Jenis mesin yang mendukung resource TPU mengikuti konvensi penamaan yang menyertakan versi TPU dan jumlah chip per node seperti ct<version>-hightpu-<node-chip-count>t
. Misalnya, jenis
mesin ct5lp-hightpu-1t
mendukung TPU v5e dan berisi total satu TPU chip.
Topologi
Topologi mendefinisikan pengaturan fisik TPU dalam irisan TPU. GKE menyediakan potongan TPU dalam topologi dua atau tiga dimensi, bergantung pada versi TPU. Anda menentukan topologi sebagai jumlah chip TPU di setiap dimensi:
Untuk TPU v4 dan v5p yang dijadwalkan di kumpulan node slice TPU multi-host, Anda menentukan topologi dalam 3 tuple (
{A}x{B}x{C}
), misalnya4x4x4
. Produk{A}x{B}x{C}
menentukan jumlah chip dalam node pool. Misalnya, Anda dapat menentukan topologi kecil yang lebih kecil dari 64 chip dengan bentuk topologi seperti2x2x2
,2x2x4
, atau2x4x4
. Jika Anda menggunakan topologi yang lebih besar dari 64 chip, nilai yang Anda tetapkan ke {A},{B}, dan {C} harus memenuhi kondisi berikut:- {A},{B}, dan {C} adalah kelipatan empat.
- Topologi terbesar yang didukung untuk v4 adalah
12x16x16
dan v5p adalah16x16x24
. - Nilai yang ditetapkan mempertahankan pola A ≤ B ≤ C. Misalnya
4x4x8
atau8x8x8
.
Pemetaan konfigurasi TPU
Gunakan tabel berikut untuk menentukan jenis mesin TPU dan topologi yang akan digunakan berdasarkan kasus penggunaan Anda:
- Untuk pelatihan atau inferensi model berskala kecil, gunakan TPU v4 atau TPU v5e dengan kumpulan node slice TPU host tunggal.
- Untuk pelatihan atau inferensi model berskala besar, gunakan TPU v4 atau TPU v5e dengan pool node slice TPU multi-host.
Versi TPU | Machine type | Topologi | Jumlah TPU chip | Jumlah VM | Jenis node pool |
---|---|---|---|---|---|
TPU v4 | ct4p-hightpu-4t |
2x2x1 | 4 | 1 | Host tunggal |
2x2x2 | 8 | 2 | Multi-host | ||
2x2x4 | 16 | 4 | Multi-host | ||
2x4x4 | 32 | 8 | Multi-host | ||
{A}x{B}x{C} | A*B*C | (A*B*C/4)1 | Multi-host | ||
TPU v5p | ct5p-hightpu-4t |
2x2x1 | 4 | 1 | Host tunggal |
2x2x2 | 8 | 2 | Multi-host | ||
2x2x4 | 16 | 4 | Multi-host | ||
2x4x4 | 32 | 8 | Multi-host | ||
{A}x{B}x{C} | A*B*C | (A*B*C/4)1 | Multi-host | ||
TPU v5e | ct5l-hightpu-1t |
1x1 | 1 | 1 | Host tunggal |
ct5l-hightpu-4t |
2x2 | 4 | 1 | Host tunggal | |
ct5l-hightpu-8t |
2x4 | 8 | 1 | Host tunggal | |
ct5lp-hightpu-1t |
1x1 | 1 | 1 | Host tunggal | |
ct5lp-hightpu-4t |
2x2 | 4 | 1 | Host tunggal | |
ct5lp-hightpu-8t |
2x4 | 8 | 1 | Host tunggal | |
ct5lp-hightpu-4t |
2x4 | 8 | 2 | Multi-host | |
4x4 | 16 | 4 | Multi-host | ||
4x8 | 32 | 8 | Multi-host | ||
8x8 | 64 | 16 | Multi-host | ||
8x16 | 128 | 32 | Multi-host | ||
16x16 | 256 | 64 | Multi-host |
-
Dihitung dengan produk topologi dibagi empat. ↩
Karakteristik TPU v5e
Mesin TPU v5e memiliki karakteristik teknis berikut:
Jenis mesin | Jumlah vCPU | Memori (GB) | Jumlah node NUMA | Kemungkinan di-preempt |
---|---|---|---|---|
ct5l-hightpu-1t |
24 | 48 | 1 | Lebih tinggi |
ct5l-hightpu-4t |
112 | 192 | 1 | Sedang |
ct5l-hightpu-8t |
224 | 384 | 2 | Lebih rendah |
ct5lp-hightpu-1t |
24 | 48 | 1 | Lebih tinggi |
ct5lp-hightpu-4t |
112 | 192 | 1 | Sedang |
ct5lp-hightpu-8t |
224 | 384 | 1 | Rendah |
Karakteristik TPU v4 dan v5p
Mesin TPU v4p dan v5p memiliki karakteristik teknis berikut:
Machine type | Jumlah vCPU | Memori (GB) | Jumlah node NUMA |
---|---|---|---|
ct4p-hightpu-4t |
240 | 407 | 2 |
ct5p-hightpu-4t |
208 | 448 | 2 |
Pemesanan TPU
Reservasi TPU tersedia saat membeli komitmen. Semua reservasi TPU dapat digunakan dengan GKE.
Saat membuat kumpulan node TPU, gunakan
flag --reservation
dan --reservation-affinity=specific
untuk menggunakan
instance TPU yang dicadangkan.
Penskalaan otomatis TPU di GKE
GKE mendukung Tensor Processing Unit (TPU) untuk mempercepat workload machine learning. Kumpulan node slice TPU host tunggal dan kumpulan node slice TPU multi-host mendukung penskalaan otomatis dan penyediaan otomatis.
Dengan flag --enable-autoprovisioning
di cluster GKE, GKE membuat atau menghapus kumpulan node slice TPU host tunggal atau multi-host dengan versi TPU dan topologi yang memenuhi persyaratan workload yang tertunda.
Saat Anda menggunakan --enable-autoscaling
, GKE menskalakan kumpulan node berdasarkan jenisnya, sebagai berikut:
Kumpulan node slice TPU host tunggal: GKE menambahkan atau menghapus node TPU di kumpulan node yang ada. Kumpulan node dapat berisi sejumlah node TPU antara nol dan ukuran maksimum kumpulan node seperti yang ditentukan oleh tanda --max-nodes dan tanda --total-max-nodes. Saat kumpulan node diskalakan, semua node TPU di kumpulan node memiliki jenis mesin dan topologi yang sama. Untuk mempelajari cara membuat kumpulan node slice TPU host tunggal lebih lanjut, lihat Membuat kumpulan node.
Kumpulan node slice TPU multi-host: GKE meningkatkan skala kumpulan node secara atomik dari nol hingga jumlah node yang diperlukan untuk memenuhi topologi TPU. Misalnya, dengan kumpulan node TPU dengan jenis mesin
ct5lp-hightpu-4t
dan topologi16x16
, kumpulan node tersebut berisi 64 node. Autoscaler GKE memastikan bahwa kumpulan node ini memiliki tepat 0 atau 64 node. Saat melakukan penskalaan kembali, GKE akan mengeluarkan semua pod terjadwal, dan menghabiskan seluruh kumpulan node hingga nol. Untuk mempelajari lebih lanjut cara membuat kumpulan node slice TPU multi-host, lihat Membuat kumpulan node.
Batasan
- Untuk reservasi kapasitas, Anda harus menggunakan pemesanan tertentu.
- Alokasi biaya dan pengukuran penggunaan GKE tidak mencakup data apa pun tentang penggunaan atau biaya TPU v4 yang dicadangkan.
- TPU v5p dan v5e tidak mendukung riptide/streaming gambar di us-east5.
- Penskalaan otomatis TPU v5p didukung di cluster GKE dengan bidang kontrol yang menjalankan setidaknya 1.29.2-gke.1035000 atau setidaknya 1.28.7-gke.1020000.
Pertimbangan penjadwalan workload
TPU memiliki karakteristik unik yang memerlukan penjadwalan dan pengelolaan beban kerja khusus di Kubernetes. Bagian berikut menjelaskan praktik terbaik penjadwalan.
CPU
Bagian ini tidak berlaku untuk cluster Autopilot karena GKE menempatkan setiap Pod TPU di node-nya sendiri.
Untuk menjadwalkan beban kerja di CPU yang ada di VM TPU, pastikan
Pod GKE dapat menoleransi taint google.com/tpu
. Jika Anda ingin
beban kerja di-deploy ke node tertentu, gunakan
pemilih node.
Pengelolaan resource dan prioritas Kubernetes memperlakukan VM TPU sama seperti jenis VM lainnya. Untuk memberikan prioritas penjadwalan kepada Pod yang memerlukan TPU dibandingkan Pod lain pada node yang sama, mintalah CPU atau memori maksimum untuk Pod TPU tersebut. Pod prioritas rendah harus melakukan hal berikut:
- Tetapkan permintaan memori dan CPU yang rendah untuk memastikan node memiliki resource yang dapat dialokasikan yang cukup untuk workload TPU. Untuk mempelajari lebih lanjut, baca artikel Cara Kubernetes menerapkan permintaan dan batas resource.
- Tetapkan tanpa batas CPU (tidak terbatas) untuk memastikan bahwa Pod dapat melakukan burst untuk menggunakan semua siklus yang tidak digunakan.
- Tetapkan batas memori tinggi untuk memastikan bahwa Pod dapat menggunakan paling banyak memori yang tidak terpakai sekaligus menjaga stabilitas node.
Jika Pod Kubernetes tidak meminta CPU dan memori (sekalipun meminta TPU), Kubernetes akan menganggapnya sebagai upaya terbaik, dan tidak ada jaminan bahwa pod tersebut memerlukan CPU dan memori apa pun. Hanya Pod yang secara eksplisit meminta CPU dan memori yang memiliki jaminan tersebut. Untuk mengetahui informasi selengkapnya, lihat Pengelolaan Resource untuk Pod dan Container.
Untuk mempelajari lebih lanjut, lihat Praktik terbaik Kubernetes: Permintaan resource dan batas.
Mengurangi gangguan workload
Jika Anda menggunakan TPU untuk melatih model machine learning dan workload Anda terganggu, semua pekerjaan yang dilakukan seak checkpoint terakhir akan hilang. Untuk mengurangi kemungkinan bahwa workload terganggu, lakukan langkah berikut:
- Tetapkan prioritas yang lebih tinggi untuk Tugas ini daripada semua Tugas lain: Jika resource langka, penjadwal GKE akan mendahului Tugas dengan prioritas lebih rendah untuk menjadwalkan Tugas dengan prioritas lebih tinggi. Hal ini juga memastikan bahwa beban kerja yang berprioritas lebih tinggi menerima semua resource yang diperlukannya (hingga total resource yang tersedia dalam cluster). Untuk mempelajari lebih lanjut, baca Prioritas dan preemption Pod.
- Mengonfigurasi pengecualian pemeliharaan: Pengecualian pemeliharaan adalah jangka waktu yang tidak berulang saat pemeliharaan otomatis dilarang. Untuk mempelajari lebih lanjut, lihat Pengecualian pemeliharaan.
- Gunakan Pod dengan waktu proses yang diperpanjang di Autopilot: Gunakan Pod dengan waktu proses yang diperpanjang selama masa tenggang hingga tujuh hari sebelum GKE menghentikan Pod Anda untuk penurunan skala atau upgrade node.
Menangani gangguan akibat pemeliharaan node
Semua node GKE, termasuk yang menghosting VM TPU, terkena peristiwa pemeliharaan atau gangguan lain yang mungkin menyebabkan penonaktifan node. Anda dapat mengurangi gangguan pada beban kerja yang berjalan di cluster GKE dengan bidang kontrol yang menjalankan versi 1.29.1-gke.1425000 atau yang lebih baru.
GKE memberi tahu node tentang adanya penonaktifan dalam waktu dekat dengan mengirimkan sinyal SIGTERM
ke node hingga lima menit sebelum penghapusan. Jika beban kerja Anda menggunakan framework ML seperti MaxText, Pax, atau JAX dengan Orbax, beban kerja tersebut dapat menangkap sinyal SIGTERM
dan memulai proses checkpoint.
Anda dapat mengonfigurasi GKE untuk menghentikan beban kerja ML Anda secara halus dengan waktu notifikasi maksimum. Dalam manifes Pod, tetapkan kolom spec.terminationGracePeriodSeconds
ke 300
detik (lima menit).
GKE melakukan upaya terbaik untuk menghentikan Pod ini dengan baik dan
menjalankan tindakan penghentian yang Anda tentukan, misalnya, menyimpan
status pelatihan. GKE mengikuti konfigurasi apa pun hingga lima menit untuk
setelan PodDisruptionBudget
atau terminationGracePeriodSeconds
.
Kolom spec.terminationGracePeriodSeconds
hanya menangani gangguan yang disebabkan oleh peristiwa pemeliharaan dan defragmentasi yang terjadi pada non-preemptible VM. GKE tidak menangani gangguan yang tidak disengaja, seperti kegagalan hardware.
Untuk mempelajari lebih lanjut, lihat Mengonfigurasi penghentian halus node TPU.
Memaksimalkan pemanfaatan TPU
Untuk memaksimalkan investasi dalam TPU, jadwalkan campuran prioritas Tugas dan antrekan untuk memaksimalkan waktu operasi TPU. Jika ingin penjadwalan dan preemption tingkat Tugas, Anda harus menggunakan add-on untuk Kubernetes yang mengatur Tugas ke dalam antrean. Sebaiknya gunakan Kueue untuk kasus penggunaan tersebut.
Langkah selanjutnya
- Ikuti artikel Men-deploy workload TPU di GKE untuk menyiapkan Cloud TPU dengan GKE.
- Pelajari praktik terbaik untuk menggunakan Cloud TPU untuk tugas machine learning Anda.
- Bangun machine learning berskala besar di Cloud TPU dengan GKE
- Menayangkan Model Bahasa Besar dengan KubeRay di TPU