Men-deploy model ke VM Cloud TPU

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 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

Untuk mengimpor dan menjalankan TensorFlow SavedModel di Cloud TPU, model harus dioptimalkan untuk TPU. Jika TensorFlow SavedModel Anda belum dioptimalkan untuk TPU, Anda dapat mengoptimalkan model secara otomatis. Untuk melakukannya, impor model Anda, lalu Vertex AI akan mengoptimalkan model yang belum dioptimalkan menggunakan algoritma partisi otomatis. Pengoptimalan ini tidak berfungsi di semua model. Jika pengoptimalan gagal, Anda harus mengoptimalkan model secara manual.

Contoh kode berikut menunjukkan cara menggunakan pengoptimalan model otomatis dengan partisi otomatis:

  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=[
      ]
  )

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, TorchServe untuk Inferensi Cloud TPU v5e Kemudian, upload artefak model ke folder Cloud Storage Anda dan upload model Anda 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 untuk penayangan model kustom adalah 0. Di beberapa wilayah, fitur ini terbatas.

Untuk meminta penambahan kuota, lihat 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