Mengelola resource TPU
Halaman ini menjelaskan cara mengelola resource Cloud TPU menggunakan:
- Google Cloud CLI, yang menyediakan CLI utama ke Google Cloud.
- Konsol Google Cloud, yang menyediakan konsol pengelolaan terintegrasi untuk resource Google Cloud Anda.
Cloud TPU memiliki dua arsitektur VM, TPU Node dan VM TPU. Kedua arsitektur VM ini
dijelaskan di Arsitektur Sistem.
Anda dapat menggunakan perintah gcloud
yang dijelaskan dalam dokumen ini dengan kedua konfigurasi TPU. Perintah gcloud
yang Anda
gunakan bergantung pada konfigurasi TPU yang Anda gunakan. Setiap perintah gcloud
ditampilkan di bagian tab. Pilih tab untuk konfigurasi TPU yang ingin Anda
gunakan dan halaman web akan menampilkan perintah gcloud
yang sesuai. Sebaiknya gunakan VM TPU, kecuali jika Anda
perlu menggunakan TPU Node. Untuk Cloud TPU v4 dan yang lebih baru, hanya arsitektur VM TPU yang didukung.
Prasyarat
Sebelum menjalankan prosedur ini, Anda harus menginstal Google Cloud CLI, membuat project Google Cloud, dan mengaktifkan Cloud TPU API. Untuk mengetahui petunjuknya, lihat Menyiapkan project dan mengaktifkan Cloud TPU API.
Jika menggunakan Google Cloud CLI, Anda dapat menggunakan Google Cloud Shell, VM Compute Engine, atau menginstal Google Cloud CLI secara lokal. Google Cloud Shell memungkinkan Anda berinteraksi dengan Cloud TPU tanpa harus menginstal software apa pun. Koneksi Google Cloud Shell dapat terputus setelah periode tidak aktif. Jika Anda menjalankan perintah yang berjalan lama, sebaiknya instal Google Cloud CLI di komputer lokal Anda. Untuk mengetahui informasi lebih lanjut tentang Google Cloud CLI, lihat Referensi gcloud
.
Menyediakan Cloud TPU
Anda dapat menyediakan Cloud TPU menggunakan gcloud
, Konsol Google Cloud, atau menggunakan Cloud TPU API.
Dengan menggunakan gcloud
, ada dua metode untuk menyediakan TPU:
- Menggunakan resource dalam antrean:
gcloud alpha compute tpus queued-resources create
- Menggunakan Create Node API:
gcloud compute tpus tpu-vm create
Praktik terbaiknya adalah menyediakan dengan Resource yang Antrean. Saat Anda meminta resource dalam antrean, permintaan tersebut ditambahkan ke antrean yang dikelola oleh layanan Cloud TPU. Jika sudah tersedia, resource yang diminta akan ditetapkan ke project Google Cloud Anda untuk langsung digunakan secara eksklusif.
Untuk membuat TPU menggunakan resource dalam antrean, lihat Resource yang Diantrekan.
Jika Anda akan menggunakan Multislice, lihat Pengantar Multislice untuk mengetahui informasi selengkapnya.
Saat menggunakan Multislice, tentukan parameter tambahan berikut saat Anda meminta resource dalam antrean:
export NODE_COUNT=node_count export NODE_PREFIX=your_tpu_prefix # Optional
Membuat Cloud TPU menggunakan Create Node API
Untuk membuat TPU menggunakan Create Node API, jalankan perintah gcloud compute tpus tpu-vm create
.
VM TPU
Anda dapat menentukan konfigurasi TPU terkait TensorCore atau chip TPU. Untuk mengetahui informasi selengkapnya, lihat bagian untuk versi TPU yang Anda gunakan di Arsitektur sistem.
Perintah berikut menggunakan konfigurasi berbasis TensorCore:
$ gcloud compute tpus tpu-vm create tpu-name \
--zone=us-central2-b \
--accelerator-type=v4-8 \
--version=tpu-software-version
Deskripsi flag perintah
zone
- Zona tempat Anda berencana membuat Cloud TPU.
accelerator-type
- Jenis akselerator menentukan versi dan ukuran Cloud TPU yang ingin Anda buat. Untuk mengetahui informasi selengkapnya tentang jenis akselerator yang didukung untuk setiap versi TPU, lihat versi TPU.
version
- Versi software TPU .
shielded-secure-boot
(opsional)- Menentukan bahwa instance TPU dibuat dengan mengaktifkan booting aman. Hal ini secara implisit membuatnya menjadi instance Shielded VM. Lihat Apa itu Shielded VM? untuk detail selengkapnya.
Perintah berikut membuat TPU dengan topologi tertentu:
$ gcloud compute tpus tpu-vm create tpu-name \
--zone=us-central2-b \
--type=v4 \
--topology=2x2x1 \
--version=tpu-software-version
Tanda yang diperlukan
tpu-name
- Nama VM TPU yang Anda buat.
zone
- Zona tempat Anda membuat Cloud TPU.
type
- Versi Cloud TPU yang ingin Anda buat. Untuk mengetahui informasi selengkapnya tentang versi TPU, lihat versi TPU.
topology
- Lihat bagian topologi untuk mengetahui topologi yang didukung.
version
- Versi software TPU yang ingin Anda gunakan. Untuk mengetahui informasi selengkapnya, lihat versi software TPU
Untuk mengetahui informasi selengkapnya tentang topologi dan jenis TPU yang didukung, lihat versi TPU.
Node TPU
$ gcloud compute tpus execution-groups create --name=tpu-name \
--zone=us-central1-a \
--tf-version=2.12.0 \
--machine-type=n1-standard-1 \
--accelerator-type=v3-8
Deskripsi flag perintah
zone
- Zona tempat Anda berencana membuat Cloud TPU.
tf-version
- Versi Tensorflow perintah
gcloud
akan diinstal di VM Anda. machine-type
- Jenis mesin VM Compute Engine yang akan dibuat.
accelerator-type
- Jenis akselerator menentukan versi dan ukuran Cloud TPU yang ingin Anda buat. Untuk mengetahui informasi selengkapnya tentang jenis akselerator yang didukung untuk setiap versi TPU, lihat versi TPU.
Membuat Cloud TPU di Konsol Google Cloud
- Buka konsol Google Cloud.
- Dari menu navigasi, pilih Compute Engine > TPU.
- Klik BUAT node TPU.
- Di kotak Name, ketik nama instance TPU.
- Di kotak Zone, pilih zona untuk membuat TPU.
- Di bagian TPU settings, pilih TPU VM architecture atau TPU node architecture. Konfigurasi TPU menentukan apakah Anda membuat TPU sebagai VM TPU atau TPU Node. Untuk informasi selengkapnya, lihat Arsitektur Sistem.
- Untuk TPU type, pilih jenis TPU yang ingin Anda buat.
- Untuk versi software TPU, pilih versi software. Saat membuat VM Cloud TPU, versi software TPU akan menentukan versi runtime TPU yang akan diinstal. Saat membuat Cloud TPU Node, versi software TPU memungkinkan Anda memilih framework ML yang diinstal pada VM node. Tidak ada setelan lain yang diperlukan. Untuk informasi selengkapnya, lihat Model yang Didukung.
- Klik CREATE untuk membuat resource.
Membuat VM Cloud TPU menggunakan curl
Perintah berikut menggunakan curl
untuk membuat TPU.
$ curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d "{accelerator_type: 'v4-8', \
runtime_version:'tpu-vm-tf-2.16.1-pjrt', \
network_config: {enable_external_ips: true}, \
shielded_instance_config: { enable_secure_boot: true }}" \
https://tpu.googleapis.com/v2/projects/project-id/locations/us-central2-b/nodes?node_id=node_name
Kolom wajib diisi
runtime_version
- Versi runtime Cloud TPU yang ingin Anda gunakan.
project
- Nama project Google Cloud Anda yang terdaftar.
zone
- Zona tempat Anda membuat Cloud TPU.
node_name
- Nama VM TPU yang Anda buat.
Menjalankan skrip startup
Anda dapat menjalankan skrip startup di setiap VM TPU dengan menentukan parameter --metadata startup-script
saat membuat VM TPU. Perintah berikut membuat VM TPU menggunakan skrip startup.
$ gcloud compute tpus tpu-vm create tpu-name \
--zone=us-central2-b \
--accelerator-type=tpu-type \
--version=tpu-vm-tf-2.16.1-pjrt \
--metadata startup-script='#! /bin/bash
pip3 install numpy
EOF'
Menghubungkan ke Cloud TPU
Anda dapat terhubung ke TPU menggunakan SSH.
VM TPU
Saat menggunakan VM TPU, Anda harus secara eksplisit terhubung ke VM TPU menggunakan SSH.
Hubungkan ke VM TPU melalui SSH menggunakan perintah
gcloud compute tpus tpu-vm ssh
.Saat Anda meminta slice yang berisi lebih dari 4 chip, Cloud TPU akan membuat VM TPU untuk setiap grup yang terdiri dari 4 chip.
Untuk menginstal biner atau menjalankan kode, Anda dapat terhubung ke setiap VM TPU menggunakan
tpu-vm ssh command
.gcloud compute tpus tpu-vm ssh ${TPU_NAME}
Untuk mengakses VM TPU tertentu atau menginstal biner di setiap VM TPU dengan SSH, gunakan flag
--worker
yang mengikuti indeks berbasis 0:gcloud compute tpus tpu-vm ssh ${TPU_NAME} --worker=1
Jika Anda memiliki lebih dari satu VM TPU, gunakan flag
--worker=all
dan--command
untuk menjalankan perintah di semua VM TPU secara bersamaan. Contoh:gcloud compute tpus tpu-vm ssh ${TPU_NAME} --project ${PROJECT_ID} \ --zone ${ZONE} \ --worker=all \ --command='pip install "jax[tpu]==0.4.20" -f https://storage.googleapis.com/jax-releases/libtpu_releases.html'
Untuk Multislice, Anda dapat menjalankan perintah pada satu VM (dengan menggunakan enumerated tpu-name) atau menggunakan flag
--node=all
,--worker=all
, dan--command
untuk menjalankan perintah di semua VM TPU dari semua slice Multislice, dengan kolom--batch-size
opsional.gcloud compute tpus queued-resources ssh ${QUEUED_RESOURCE_ID} \ --project ${PROJECT_ID} --zone ${ZONE} --node=all --worker=all \ --command='pip install "jax[tpu]==0.4.20" -f https://storage.googleapis.com/jax-releases/libtpu_releases.html' --batch-size=4
$ gcloud compute tpus tpu-vm ssh tpu-name --zone=zone
Gunakan SSH di browser dengan melakukan hal berikut:
Di konsol Google Cloud, buka halaman TPU:
Dalam daftar VM TPU, klik SSH di baris VM TPU yang ingin dihubungkan.
Node TPU
Secara default, perintah gcloud
yang Anda gunakan untuk membuat TPU Node akan otomatis mencoba melakukan SSH ke node TPU Anda. Jika menggunakan Node TPU dan tidak terhubung ke instance Compute Engine dengan perintah gcloud
, Anda dapat menghubungkannya dengan menjalankan perintah berikut:
$ gcloud compute ssh tpu-name \
--zone=zone
Setelah VM TPU dibuat, Anda dapat melihat log dari skrip startup dengan menghubungkan ke VM TPU menggunakan SSH
, lalu menjalankannya:
$ cat /var/log/syslog | grep startup-script
Mencantumkan resource Cloud TPU
Anda dapat menampilkan daftar semua Cloud TPU di zona tertentu.
Mencantumkan resource Cloud TPU menggunakan gcloud
Perintah yang digunakan bergantung pada apakah Anda menggunakan VM TPU atau Node TPU. Untuk informasi selengkapnya, lihat Arsitektur Sistem.
VM TPU
$ gcloud compute tpus tpu-vm list --zone=zone
Node TPU
$ gcloud compute tpus execution-groups list --zone=zone
Perintah ini mencantumkan resource Cloud TPU di zona yang ditentukan. Jika tidak ada resource yang disiapkan saat ini, output hanya akan menampilkan tanda hubung untuk VM dan TPU. Jika satu resource aktif dan resource lainnya tidak, Anda akan melihat pesan yang menyatakan statusnya tidak sehat. Anda harus memulai atau memulai ulang resource mana pun yang tidak berjalan.
Mencantumkan resource Cloud TPU di konsol Google Cloud
Buka konsol Google Cloud.
Dari menu navigasi, pilih Compute Engine > TPU. Konsol akan menampilkan halaman TPU.
Mengambil informasi tentang Cloud TPU Anda
Anda dapat mengambil informasi tentang Cloud TPU yang ditentukan.
Mengambil informasi tentang Cloud TPU menggunakan gcloud
Perintah yang digunakan bergantung pada apakah Anda menggunakan VM TPU atau Node TPU. Untuk informasi selengkapnya, lihat Arsitektur Sistem.
VM TPU
$ gcloud compute tpus tpu-vm describe tpu-name \
--zone=zone
Node TPU
$ gcloud compute tpus execution-groups describe tpu-name \
--zone=zone
Mengambil informasi tentang Cloud TPU di Konsol Google Cloud
- Buka konsol Google Cloud.
- Dari menu navigasi, pilih Compute Engine > TPU. Konsol akan menampilkan halaman TPU.
- Klik nama Cloud TPU Anda. Halaman detail Cloud TPU ditampilkan.
Menghentikan resource Cloud TPU
Anda dapat menghentikan satu Cloud TPU untuk menghentikan tagihan tanpa kehilangan konfigurasi dan software VM. Menghentikan Pod TPU atau TPU yang dialokasikan melalui API resource yang diantrekan tidak didukung. Untuk menghentikan tagihan untuk TPU yang dialokasikan melalui API resource dalam antrean, Anda harus menghapus TPU.
Menghentikan Cloud TPU menggunakan gcloud
Perintah yang digunakan untuk menghentikan Cloud TPU bergantung pada apakah Anda menggunakan VM TPU atau Node TPU. Untuk informasi selengkapnya, lihat Arsitektur Sistem.
VM TPU
$ gcloud compute tpus tpu-vm stop tpu-name \
--zone=zone
Node TPU
$ gcloud compute tpus stop tpu-name \
--zone=zone
Menghentikan Cloud TPU di Konsol Google Cloud
Buka konsol Google Cloud.
Dari menu navigasi, pilih Compute Engine > TPU. Konsol akan menampilkan halaman TPU.
Pilih kotak centang di samping Cloud TPU Anda, lalu klik Stop.
Memulai resource Cloud TPU
Anda dapat memulai Cloud TPU saat dihentikan.
Memulai Cloud TPU menggunakan gcloud
Anda dapat memulai Cloud TPU yang dihentikan untuk melanjutkan penggunaannya.
Perintah yang Anda gunakan untuk memulai Cloud TPU yang dihentikan bergantung pada apakah Anda menggunakan VM TPU atau Node TPU. Untuk informasi selengkapnya, lihat Arsitektur Sistem.
VM TPU
$ gcloud compute tpus tpu-vm start tpu-name --zone=zone
Node TPU
$ gcloud compute tpus start tpu-name --zone=zone
Memulai Cloud TPU di konsol Google Cloud
Buka konsol Google Cloud.
Dari menu navigasi, pilih Compute Engine > TPU. Konsol akan menampilkan halaman TPU.
Pilih kotak centang di samping Cloud TPU Anda, lalu klik Start.
Menghapus VM TPU
Perintah yang digunakan bergantung pada apakah Anda menggunakan VM TPU atau Node TPU. Untuk informasi selengkapnya, lihat Arsitektur Sistem.
VM TPU
Hapus slice VM TPU di akhir sesi.
gcloud compute tpus tpu-vm delete ${TPU_NAME} --project=${PROJECT_ID} --zone=${ZONE} --quiet
Deskripsi flag perintah
zone
- Zona tempat Anda berencana menghapus Cloud TPU.
Node TPU
$ gcloud compute tpus execution-groups delete tpu-name \
--zone=zone
Deskripsi flag perintah
zone
- Zona tempat Anda berencana menghapus Cloud TPU.
Menghapus Cloud TPU di Konsol Google Cloud
Buka konsol Google Cloud.
Dari menu navigasi, pilih Compute Engine > TPU. Konsol akan menampilkan halaman TPU.
Pilih kotak centang di samping Cloud TPU lalu klik Hapus.
Konfigurasi Lanjutan
Resource Jaringan Kustom
Saat membuat TPU, Anda dapat memilih untuk menentukan jaringan dan/atau
subnetwork. Anda dapat melakukannya dengan mengirimkan perintah gcloud
atau panggilan
curl
.
Untuk menentukan jaringan atau subnetwork di CLI gcloud
, gunakan:
--network [NETWORK] --subnetwork [SUBNETWORK]
Untuk menentukan jaringan atau subnetwork dalam panggilan curl
, gunakan:
network_config: {network: '[NETWORK]', subnet: '[SUBNETWORK]', enable_external_ips: true}
Jaringan
Anda dapat secara opsional menentukan jaringan yang akan digunakan untuk TPU. Jika tidak ditentukan,
jaringan default
akan digunakan.
Format jaringan yang valid:
https://www.googleapis.com/compute/{version}/projects/{proj-id}/global/networks/{network} compute/{version}/projects/{proj-id}/global/networks/{network} compute/{version}/projects/{proj-##}/global/networks/{network} projects/{proj-id}/global/networks/{network} projects/{proj-##}/global/networks/{network} global/networks/{network} {network}
Subnetwork
Anda dapat menentukan subnetwork untuk menggunakan subnetwork tertentu. Subnetwork yang ditentukan harus berada di region yang sama dengan zona tempat TPU berjalan.
Format yang Valid:
https://www.googleapis.com/compute/{version}/projects/{proj-id}/regions/{region}/subnetworks/{subnetwork} compute/{version}/projects/{proj-id}/regions/{region}/subnetworks/{subnetwork} compute/{version}/projects/{proj-##}/regions/{region}/subnetworks/{subnetwork} projects/{proj-id}/regions/{region}/subnetworks/{subnetwork} projects/{proj-##}/regions/{region}/subnetworks/{subnetwork} regions/{region}/subnetworks/{subnetwork} {subnetwork}
Akses Google Pribadi
Untuk melakukan SSH ke VM TPU, Anda perlu menambahkan konfigurasi akses untuk VM TPU, atau mengaktifkan Akses Google Pribadi untuk subnetwork tempat VM TPU terhubung.
Untuk menambahkan konfigurasi akses, enable_external_ips
harus ditetapkan. Saat Anda membuat TPU, enable_external_ips
ditetapkan secara default. Jika tidak ingin mengaktifkannya, tentukan perintah berikut:
--internal-ips
Atau gunakan panggilan curl
:
network_config: {enable_external_ips: true}
Setelah Anda mengonfigurasi Akses Google Pribadi, hubungkan ke VM melalui SSH.
Akun Layanan Kustom
Setiap VM TPU memiliki akun layanan terkait yang digunakannya untuk membuat permintaan API atas nama Anda. VM TPU menggunakan akun layanan ini untuk memanggil Cloud TPU API, mengakses Cloud Storage, dan layanan lainnya. Secara default, VM TPU Anda menggunakan akun layanan Compute Engine default.
Anda dapat menentukan akun layanan kustom saat membuat VM TPU menggunakan flag --service-account
. Akun layanan harus ditentukan di project Google Cloud
yang sama tempat Anda membuat VM TPU. Akun layanan kustom yang digunakan untuk VM TPU harus memiliki peran TPU Viewer untuk memanggil Cloud TPU API. Jika kode yang berjalan di VM TPU Anda memanggil layanan Google Cloud lain, kode tersebut harus memiliki peran yang diperlukan untuk mengakses layanan tersebut.
Saat membuat TPU, Anda dapat memilih untuk menentukan akun layanan kustom menggunakan tanda --service-account
. Untuk informasi selengkapnya tentang akun layanan, lihat Akun Layanan.
Gunakan perintah berikut untuk menentukan akun layanan kustom.
Membuat VM TPU menggunakan CLI gcloud
$ gcloud compute tpus tpu-vm create tpu-name \
--zone=us-central2-b \
--accelerator-type=tpu-type \
--version=tpu-vm-tf-2.16.1-pjrt \
--service-account=your-service-account
Buat VM TPU menggunakan curl
$ curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d "{accelerator_type: 'v4-8', \
runtime_version:'tpu-vm-tf-2.16.1-pjrt', \
network_config: {enable_external_ips: true}, \
shielded_instance_config: { enable_secure_boot: true }}" \
service_account: {email: 'your-service-account'} \
https://tpu.googleapis.com/v2/projects/project-id/locations/us-central2-b/nodes?node_id=node_name
Untuk menggunakan akun layanan kustom, Anda harus mengizinkan akun layanan untuk bucket Google Cloud Storage. Untuk mengetahui informasi selengkapnya, lihat Menghubungkan ke bucket Cloud Storage.
Metode SSH VM kustom
Menyiapkan firewall untuk SSH.
Jaringan default sudah dikonfigurasi untuk mengizinkan akses SSH ke semua VM. Jika tidak menggunakan jaringan default, atau setelan jaringan default telah diedit, Anda mungkin perlu mengaktifkan akses SSH secara eksplisit dengan menambahkan aturan firewall:
$ gcloud CLI compute firewall-rules create \ --network=network allow-ssh \ --allow=tcp:22
SSH ke VM TPU.
$ gcloud compute tpus tpu-vm ssh tpu-name \ --zone=us-central2-b \ --project=project-id
Kolom wajib diisi
tpu-name
: Nama node TPU.zone
: Lokasi node TPU. Saat ini, hanyaus-central2-b
yang didukung.project-id
: Project yang Anda buat di atas.
Untuk mengetahui daftar kolom opsional, lihat dokumentasi API
gcloud
.