Tutorial ini memandu Anda men-deploy model Meta-Llama-3.1-8B di Vertex AI. Anda akan mempelajari cara men-deploy endpoint dan mengoptimalkannya untuk kebutuhan spesifik Anda. Jika memiliki workload fault-tolerant, Anda dapat mengoptimalkan biaya dengan menggunakan Spot VM. Jika Anda ingin memastikan ketersediaan, gunakan pemesanan Compute Engine. Anda akan mempelajari cara men-deploy endpoint yang menggunakan:
- Spot VM: Gunakan instance yang disediakan spot untuk menghemat biaya secara signifikan.
- Pemesanan: Menjamin ketersediaan resource untuk performa yang dapat diprediksi, terutama untuk workload produksi. Tutorial ini menunjukkan penggunaan reservasi otomatis (
ANY_RESERVATION
) dan spesifik (SPECIFIC_RESERVATION
).
Untuk informasi selengkapnya, lihat Spot VM atau Reservasi resource Compute Engine.
Prasyarat
Sebelum memulai, selesaikan prasyarat berikut:
- Project Google Cloud dengan penagihan diaktifkan.
- Vertex AI dan Compute Engine API diaktifkan.
- Kuota yang memadai untuk jenis mesin dan akselerator yang ingin Anda gunakan, seperti GPU NVIDIA L4. Untuk memeriksa kuota, lihat Kuota dan batas sistem di Google Cloud konsol.
- Akun Hugging Face dan Token Akses Pengguna dengan akses baca.
- Jika Anda menggunakan pemesanan bersama, berikan izin IAM antar-project. Semua izin tersebut tercakup dalam notebook.
Men-deploy di Spot VM
Bagian berikut akan memandu Anda dalam proses menyiapkan Google Cloud project, mengonfigurasi autentikasi Hugging Face, men-deploy model Llama-3.1 menggunakan VM Spot atau reservasi, dan menguji deployment.
1. Menyiapkan Google Cloud project dan pemesanan bersama
Buka notebook Colab Enterprise.
Di bagian pertama, tetapkan variabel PROJECT_ID
, SHARED_PROJECT_ID
(jika ada), BUCKET_URI
, dan REGION
di notebook Colab.
Notebook memberikan peran compute.viewer ke akun layanan kedua project.
Jika Anda ingin menggunakan reservasi yang dibuat di project yang berbeda dalam organisasi yang sama, pastikan untuk memberikan peran compute.viewer
ke P4SA (Akun Layanan Utama) dari kedua project. Kode notebook akan mengotomatiskan hal ini, tetapi pastikan SHARED_PROJECT_ID
ditetapkan dengan benar. Izin lintas project ini memungkinkan endpoint Vertex AI di project utama Anda untuk melihat dan menggunakan kapasitas reservasi di project bersama.
2. Menyiapkan autentikasi Hugging Face
Untuk mendownload model Llama-3.1, Anda harus memberikan Token Akses Pengguna Hugging Face di variabel HF_TOKEN
dalam notebook Colab. Jika tidak memberikannya, Anda akan mendapatkan error berikut: Cannot access gated repository for URL
.

3. Men-deploy dengan Spot VM
Untuk men-deploy model Llama ke Spot VM, buka bagian "Spot VM Vertex AI Endpoint Deployment" di notebook Colab dan tetapkan is_spot=True
.
base_model_name = "Meta-Llama-3.1-8B"
hf_model_id = "meta-llama/" + base_model_name
if "8b" in base_model_name.lower():
accelerator_type = "NVIDIA_L4"
machine_type = "g2-standard-12"
accelerator_count = 1
max_loras = 5
else:
raise ValueError(
f"Recommended GPU setting not found for: {accelerator_type} and {base_model_name}."
)
common_util.check_quota(
project_id=PROJECT_ID,
region=REGION,
accelerator_type=accelerator_type,
accelerator_count=accelerator_count,
is_for_training=False,
)
gpu_memory_utilization = 0.95
max_model_len = 8192
models["vllm_gpu_spotvm"], endpoints["vllm_gpu_spotvm"] = deploy_model_vllm(
model_name=common_util.get_job_name_with_datetime(prefix="llama3_1-serve-spotvm"),
model_id=hf_model_id,
base_model_id=hf_model_id,
service_account=SERVICE_ACCOUNT,
machine_type=machine_type,
accelerator_type=accelerator_type,
accelerator_count=accelerator_count,
gpu_memory_utilization=gpu_memory_utilization,
max_model_len=max_model_len,
max_loras=max_loras,
enforce_eager=True,
enable_lora=True,
use_dedicated_endpoint=False,
model_type="llama3.1",
is_spot=True,
)
Men-deploy di instance reservasi bersama
Bagian berikut akan memandu Anda melalui proses pembuatan reservasi bersama, mengonfigurasi setelan reservasi, men-deploy model Llama-3.1 menggunakan ANY_RESERVATION
atau SPECIFIC_RESERVATION
, dan menguji deployment.
1. Membuat pemesanan bersama
Untuk mengonfigurasi reservasi, buka bagian "Siapkan Reservasi untuk Prediksi Vertex AI" di notebook. Tetapkan variabel yang diperlukan untuk reservasi seperti RES_ZONE
, RESERVATION_NAME
, RES_MACHINE_TYPE
, RES_ACCELERATOR_TYPE
, dan RES_ACCELERATOR_COUNT
.
Anda harus menetapkan RES_ZONE
ke {REGION}-{availability_zone}
RES_ZONE = "a"
RES_ZONE = f"{REGION}-{RES_ZONE}"
RESERVATION_NAME = "shared-reservation-1"
RESERVATION_NAME = f"{PROJECT_ID}-{RESERVATION_NAME}"
RES_MACHINE_TYPE = "g2-standard-12"
RES_ACCELERATOR_TYPE = "nvidia-l4"
RES_ACCELERATOR_COUNT = 1
rev_names.append(RESERVATION_NAME)
create_reservation(
res_project_id=PROJECT_ID,
res_zone=RES_ZONE,
res_name=RESERVATION_NAME,
res_machine_type=RES_MACHINE_TYPE,
res_accelerator_type=RES_ACCELERATOR_TYPE,
res_accelerator_count=RES_ACCELERATOR_COUNT,
shared_project_id=SHARED_PROJECT_ID,
)
2. Membagikan reservasi
Ada dua jenis reservasi: reservasi project tunggal (default) dan reservasi bersama. Pemesanan satu project hanya dapat digunakan oleh VM dalam project yang sama dengan pemesanan itu sendiri. Di sisi lain, pemesanan bersama dapat digunakan oleh VM dalam project tempat pemesanan berada, serta oleh VM dalam project lain yang telah dibagikan pemesanannya. Dengan menggunakan pemesanan bersama, pemanfaatan resource yang direservasi dapat ditingkatkan dan jumlah keseluruhan pemesanan yang perlu dibuat dan dikelola dapat dikurangi. Tutorial ini berfokus pada pemesanan bersama. Untuk informasi selengkapnya, lihat Cara kerja pemesanan bersama.
Sebelum melanjutkan, pastikan untuk "Bagikan dengan Layanan Google lainnya" dari Google Cloud konsol seperti yang ditunjukkan pada gambar:

3. Men-deploy dengan ANY_RESERVATION
Untuk men-deploy endpoint menggunakan ANY_RESERVATION
, buka bagian "Deploy Llama-3.1 Endpoint with ANY_RESERVATION
" di notebook. Tentukan setelan deployment, lalu tetapkan reservation_affinity_type="ANY_RESERVATION"
. Kemudian, jalankan sel untuk men-deploy endpoint.
hf_model_id = "meta-llama/Meta-Llama-3.1-8B"
models["vllm_gpu_any_reserve"], endpoints["vllm_gpu_any_reserve"] = deploy_model_vllm(
model_name=common_util.get_job_name_with_datetime(
prefix=f"llama3_1-serve-any-{RESERVATION_NAME}"
),
model_id=hf_model_id,
base_model_id=hf_model_id,
service_account=SERVICE_ACCOUNT,
machine_type=MACHINE_TYPE,
accelerator_type=ACCELERATOR_TYPE,
accelerator_count=ACCELERATOR_COUNT,
model_type="llama3.1",
reservation_affinity_type="ANY_RESERVATION",
)
4. Menguji endpoint ANY_RESERVATION
Setelah endpoint di-deploy, pastikan untuk menguji beberapa perintah untuk memastikan endpoint di-deploy dengan benar.
5. Men-deploy dengan SPECIFIC_RESERVATION
Untuk men-deploy endpoint menggunakan SPECIFIC_RESERVATION
, buka bagian "Deploy Llama-3.1 Endpoint with SPECIFIC_RESERVATION
" di notebook. Tentukan parameter berikut: reservation_name
, reservation_affinity_type="SPECIFIC_RESERVATION"
, reservation_project
, dan reservation_zone
. Kemudian, jalankan sel untuk men-deploy endpoint.
hf_model_id = "meta-llama/Meta-Llama-3.1-8B"
MACHINE_TYPE = "g2-standard-12"
ACCELERATOR_TYPE = "NVIDIA_L4"
ACCELERATOR_COUNT = 1
(
models["vllm_gpu_specific_reserve"],
endpoints["vllm_gpu_specific_reserve"],
) = deploy_model_vllm(
model_name=common_util.get_job_name_with_datetime(
prefix=f"llama3_1-serve-specific-{RESERVATION_NAME}"
),
model_id=hf_model_id,
base_model_id=hf_model_id,
service_account=SERVICE_ACCOUNT,
machine_type=MACHINE_TYPE,
accelerator_type=ACCELERATOR_TYPE,
accelerator_count=ACCELERATOR_COUNT,
model_type="llama3.1",
reservation_name=RESERVATION_NAME,
reservation_affinity_type="SPECIFIC_RESERVATION",
reservation_project=PROJECT_ID,
reservation_zone=RES_ZONE,
)
6. Menguji endpoint SPECIFIC_RESERVATION
Setelah endpoint di-deploy, pastikan reservasi digunakan oleh prediksi online Vertex AI, dan pastikan untuk menguji beberapa perintah untuk memastikannya di-deploy dengan benar.

7. Pembersihan
Untuk menghindari tagihan yang sedang berlangsung, hapus model, endpoint, dan reservasi yang dibuat selama tutorial ini. Notebook Colab menyediakan kode di bagian "Pembersihan" untuk mengotomatiskan proses pembersihan ini.
Pemecahan masalah
- Error Token Hugging Face: Periksa kembali apakah token Hugging Face Anda memiliki izin
read
dan ditetapkan dengan benar di notebook. - Error Kuota: Pastikan Anda memiliki kuota GPU yang memadai di region tempat Anda men-deploy. Minta penambahan kuota jika diperlukan.
- Konflik Reservasi: Pastikan jenis mesin dan konfigurasi akselerator deployment endpoint Anda cocok dengan setelan reservasi Anda. Pastikan reservasi diaktifkan untuk dibagikan ke Layanan Google
Langkah berikutnya
- Jelajahi berbagai varian model Llama 3.
- Pelajari reservasi lebih lanjut dengan Ringkasan Reservasi Compute Engine ini.
- Pelajari Spot VM lebih lanjut dengan Ringkasan Spot VM ini.