Google Cloud memberikan akses ke akselerator machine learning yang dirancang khusus, yang disebut Tensor Processing Unit (TPU). TPU dioptimalkan untuk mempercepat pelatihan dan inferensi model machine learning, sehingga cocok untuk berbagai aplikasi, termasuk natural language processing, computer vision, dan pengenalan ucapan.
Halaman ini menjelaskan cara men-deploy model Anda ke TPU v5e atau v6e host tunggal Cloud untuk inferensi online di Vertex AI.
Hanya Cloud TPU versi v5e dan v6e yang didukung. Generasi Cloud TPU lainnya tidak didukung.
Untuk mengetahui lokasi tersedianya Cloud TPU versi v5e dan v6e, lihat lokasi.
Mengimpor model Anda
Untuk deployment di Cloud TPU, Anda harus mengimpor model ke Vertex AI dan mengonfigurasinya untuk menggunakan salah satu container berikut:
- container runtime TensorFlow yang dioptimalkan bawaan versi
nightly
, atau versi2.15
atau yang lebih baru - container TPU PyTorch bawaan versi
2.1
atau yang lebih baru - container kustom Anda sendiri yang mendukung TPU
Container runtime TensorFlow yang dioptimalkan bawaan
Untuk mengimpor dan menjalankan
TensorFlow SavedModel
di Cloud TPU, model harus dioptimalkan untuk TPU. Jika TensorFlow
SavedModel
Anda belum dioptimalkan untuk TPU, ada tiga cara untuk mengoptimalkan model Anda:
Pengoptimalan model manual - Anda menggunakan Inference Converter untuk mengoptimalkan model dan menyimpannya. Kemudian, Anda harus meneruskan flag
--saved_model_tags='serve,tpu'
dan--disable_optimizer=true
saatupload
model. Contoh:model = aiplatform.Model.upload( display_name='Manually optimized model', artifact_uri="gs://model-artifact-uri", serving_container_image_uri="us-docker.pkg.dev/vertex-ai-restricted/prediction/tf_opt-tpu.2-15:latest", serving_container_args=[ "--saved_model_tags=serve,tpu", "--disable_optimizer=true", ] )
Pengoptimalan model otomatis dengan partisi otomatis - Saat Anda mengimpor model, Vertex AI akan mencoba mengoptimalkan model yang tidak dioptimalkan menggunakan algoritma partisi otomatis. Pengoptimalan ini tidak berfungsi di semua model. Jika pengoptimalan gagal, Anda harus mengoptimalkan model secara manual atau memilih pengoptimalan model otomatis dengan partisi manual. Contoh:
model = aiplatform.Model.upload( display_name='TPU optimized model with automatic partitioning', artifact_uri="gs://model-artifact-uri", serving_container_image_uri="us-docker.pkg.dev/vertex-ai-restricted/prediction/tf_opt-tpu.2-15:latest", serving_container_args=[ ] )
Pengoptimalan model otomatis dengan pembuatan partisi manual. Tentukan tanda
--converter_options_string
dan sesuaikanConverterOptions.TpuFunction
agar sesuai dengan kebutuhan Anda. Untuk contoh, lihat Converter Image. Perhatikan bahwa hanyaConverterOptions.TpuFunction
, yang diperlukan untuk partisi manual, yang didukung. Contoh:model = aiplatform.Model.upload( display_name='TPU optimized model with manual partitioning', artifact_uri="gs://model-artifact-uri", serving_container_image_uri="us-docker.pkg.dev/vertex-ai-restricted/prediction/tf_opt-tpu.2-15:latest", serving_container_args=[ "--converter_options_string='tpu_functions { function_alias: \"partitioning function name\" }'" ] )
Untuk mengetahui informasi selengkapnya tentang mengimpor model, lihat mengimpor model ke Vertex AI.
Container PyTorch bawaan
Petunjuk untuk mengimpor dan menjalankan model PyTorch di Cloud TPU sama dengan petunjuk untuk mengimpor dan menjalankan model PyTorch.
Misalnya, Inferensi TorchServe untuk Cloud TPU v5e menunjukkan cara mengemas model Densenet 161 ke dalam artefak model menggunakan Pengarsip Model Torch.
Kemudian, upload artefak model ke folder Cloud Storage Anda dan upload model seperti yang ditunjukkan:
model = aiplatform.Model.upload(
display_name='DenseNet TPU model from SDK PyTorch 2.1',
artifact_uri="gs://model-artifact-uri",
serving_container_image_uri="us-docker.pkg.dev/vertex-ai/prediction/pytorch-tpu.2-1:latest",
serving_container_args=[],
serving_container_predict_route="/predictions/model",
serving_container_health_route="/ping",
serving_container_ports=[8080]
)
Untuk mengetahui informasi selengkapnya, lihat mengekspor artefak model untuk PyTorch dan notebook tutorial untuk Menayangkan model PyTorch menggunakan container bawaan.
Container kustom
Untuk container kustom, model Anda tidak harus berupa model TensorFlow, tetapi harus dioptimalkan untuk TPU. Untuk mengetahui informasi tentang cara membuat model yang dioptimalkan untuk TPU, lihat panduan berikut untuk framework ML umum:
Untuk mengetahui informasi tentang cara menayangkan model yang dilatih dengan JAX, TensorFlow, atau PyTorch di Cloud TPU v5e, lihat Inferensi Cloud TPU v5e.
Pastikan container kustom Anda memenuhi persyaratan container kustom.
Anda harus menaikkan batas memori terkunci agar driver dapat berkomunikasi dengan chip TPU melalui akses memori langsung (DMA). Contoh:
Command line
ulimit -l 68719476736
Python
import resource
resource.setrlimit(
resource.RLIMIT_MEMLOCK,
(
68_719_476_736_000, # soft limit
68_719_476_736_000, # hard limit
),
)
Kemudian, lihat Menggunakan container kustom untuk inferensi untuk mengetahui informasi tentang mengimpor model dengan container kustom. Jika Anda ingin menerapkan logika pra atau pasca-pemrosesan, pertimbangkan untuk menggunakan Rutinitas inferensi kustom.
Membuat endpoint
Petunjuk untuk membuat endpoint untuk Cloud TPU sama dengan petunjuk untuk membuat endpoint apa pun.
Misalnya, perintah berikut membuat resource endpoint
:
endpoint = aiplatform.Endpoint.create(display_name='My endpoint')
Respons berisi ID endpoint baru, yang Anda gunakan pada langkah-langkah berikutnya.
Untuk mengetahui informasi selengkapnya tentang cara membuat endpoint, lihat men-deploy model ke endpoint.
Men-deploy model
Petunjuk untuk men-deploy model ke Cloud TPU sama dengan petunjuk untuk men-deploy model apa pun, kecuali Anda menentukan salah satu jenis mesin Cloud TPU yang didukung berikut:
Jenis Mesin | Jumlah TPU chip |
---|---|
ct6e-standard-1t |
1 |
ct6e-standard-4t |
4 |
ct6e-standard-8t |
8 |
ct5lp-hightpu-1t |
1 |
ct5lp-hightpu-4t |
4 |
ct5lp-hightpu-8t |
8 |
Akselerator TPU sudah ada di jenis mesin. Anda tidak perlu menentukan jenis akselerator atau jumlah akselerator.
Misalnya, perintah berikut men-deploy model dengan memanggil
deployModel
:
machine_type = 'ct5lp-hightpu-1t'
deployed_model = model.deploy(
endpoint=endpoint,
deployed_model_display_name='My deployed model',
machine_type=machine_type,
traffic_percentage=100,
min_replica_count=1
sync=True,
)
Untuk mengetahui informasi selengkapnya, lihat men-deploy model ke endpoint.
Mendapatkan inferensi online
Petunjuk untuk mendapatkan inferensi online dari Cloud TPU sama dengan petunjuk untuk mendapatkan inferensi online.
Misalnya, perintah berikut mengirimkan permintaan inferensi online dengan memanggil
predict
:
deployed_model.predict(...)
Untuk container kustom, lihat persyaratan permintaan dan respons inferensi untuk container kustom.
Mengamankan kapasitas
Untuk sebagian besar region, kuota TPU v5e and v6e cores per region
penyajian model kustom
adalah 0. Di beberapa wilayah, fitur ini terbatas.
Untuk meminta penambahan kuota, lihat artikel Meminta penyesuaian kuota.
Harga
Jenis mesin TPU ditagih per jam, seperti semua jenis mesin lainnya di Vertex Prediction. Untuk mengetahui informasi selengkapnya, lihat Harga prediksi.
Langkah berikutnya
- Pelajari cara mendapatkan inferensi online