Menyajikan model Llama menggunakan GPU di GKE dengan vLLM


Tutorial ini menunjukkan cara men-deploy dan menayangkan model bahasa besar (LLM) Llama model 4 menggunakan GPU di Google Kubernetes Engine (GKE) dengan framework penayangan vLLM. Hal ini memberikan dasar untuk memahami dan menjelajahi deployment LLM praktis untuk inferensi di lingkungan Kubernetes terkelola. Anda men-deploy container bawaan yang menjalankan vLLM ke GKE. Anda juga mengonfigurasi GKE untuk memuat Llama dari Hugging Face.

Tutorial ini ditujukan untuk engineer Machine Learning (ML), admin dan operator Platform, serta untuk spesialis Data dan AI yang tertarik untuk menggunakan kemampuan orkestrasi penampung Kubernetes untuk menayangkan beban kerja AI/ML di hardware GPU H200, H100, A100, dan L4. Untuk mempelajari lebih lanjut peran umum dan contoh tugas yang kami referensikan dalam konten Google Cloud , lihat Peran dan tugas pengguna GKE Enterprise umum.

Jika Anda memerlukan platform AI terkelola terpadu yang dirancang untuk membuat dan menayangkan model ML dengan cepat dan hemat biaya, sebaiknya coba solusi deployment Vertex AI kami.

Sebelum membaca halaman ini, pastikan Anda memahami hal-hal berikut:

Latar belakang

Bagian ini menjelaskan teknologi utama yang digunakan dalam panduan ini.

Llama

Llama adalah model bahasa besar dari Meta yang dirancang untuk berbagai tugas natural language processing, termasuk pembuatan teks, terjemahan, dan menjawab pertanyaan. GKE menawarkan infrastruktur yang diperlukan untuk mendukung kebutuhan pelatihan dan penayangan terdistribusi model dalam skala ini. Untuk informasi selengkapnya, lihat dokumentasi Llama.

GPU

GPU memungkinkan Anda mempercepat workload tertentu yang berjalan di node, seperti machine learning dan pemrosesan data. GKE menyediakan berbagai opsi jenis mesin untuk konfigurasi node, termasuk jenis mesin dengan GPU NVIDIA H200, H100, L4, dan A100.

vLLM

vLLM adalah framework penayangan LLM open source yang dioptimalkan secara maksimal dan dapat meningkatkan throughput penayangan di GPU, dengan fitur seperti berikut:

  • Implementasi transformer yang dioptimalkan dengan PagedAttention
  • Pengelompokan berkelanjutan untuk meningkatkan throughput penayangan secara keseluruhan
  • Paralelisme tensor dan penayangan terdistribusi di beberapa GPU

Untuk informasi selengkapnya, lihat dokumentasi vLLM.

Tujuan

  1. Siapkan lingkungan Anda dengan cluster GKE dalam mode Autopilot atau Standard.
  2. Deploy penampung vLLM ke cluster Anda.
  3. Gunakan vLLM untuk menayangkan model Llama 4 melalui curl dan antarmuka chat web.

Sebelum memulai

  • Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  • In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  • Make sure that billing is enabled for your Google Cloud project.

  • Enable the required API.

    Enable the API

  • In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  • Make sure that billing is enabled for your Google Cloud project.

  • Enable the required API.

    Enable the API

  • Make sure that you have the following role or roles on the project: roles/container.admin, roles/iam.serviceAccountAdmin

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      Buka IAM
    2. Pilih project.
    3. Klik Berikan akses.
    4. Di kolom New principals, masukkan ID pengguna Anda. Ini biasanya adalah alamat email untuk Akun Google.

    5. Di daftar Pilih peran, pilih peran.
    6. Untuk memberikan peran tambahan, klik Tambahkan peran lain, lalu tambahkan setiap peran tambahan.

Mendapatkan akses ke model

Untuk mengakses model melalui Hugging Face, Anda memerlukan token Hugging Face.

Ikuti langkah-langkah berikut untuk membuat token baru jika Anda belum memilikinya:

  1. Klik Profil Anda > Setelan > Token Akses.
  2. Pilih New Token.
  3. Tentukan Nama pilihan Anda dan Peran minimal Read.
  4. Pilih Buat token.
  5. Salin token yang dihasilkan ke papan klip Anda.

Menyiapkan lingkungan Anda

Dalam tutorial ini, Anda akan menggunakan Cloud Shell untuk mengelola resource yang dihosting diGoogle Cloud. Cloud Shell telah diinstal dengan software yang Anda perlukan untuk tutorial ini, termasuk kubectl dan gcloud CLI.

Untuk menyiapkan lingkungan Anda dengan Cloud Shell, ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud , luncurkan sesi Cloud Shell dengan mengklik Ikon aktivasi Cloud Shell Aktifkan Cloud Shell di konsolGoogle Cloud . Tindakan ini akan meluncurkan sesi di panel bawah konsol Google Cloud .

  2. Tetapkan variabel lingkungan default:

    gcloud config set project PROJECT_ID
    export PROJECT_ID=$(gcloud config get project)
    export REGION=REGION
    export CLUSTER_NAME=CLUSTER_NAME
    export HF_TOKEN=HF_TOKEN
    

    Ganti nilai berikut:

    • PROJECT_ID: Google Cloud project ID Anda.
    • REGION: region yang mendukung jenis akselerator yang ingin Anda gunakan, misalnya, us-central1 untuk GPU L4.
    • CLUSTER_NAME: nama cluster Anda.
    • HF_TOKEN: token Hugging Face yang Anda buat sebelumnya.

Membuat dan mengonfigurasi resource Google Cloud

Ikuti petunjuk ini untuk membuat resource yang diperlukan.

Membuat cluster dan node pool GKE

Anda dapat menayangkan model Llama 4 di GPU dalam cluster GKE Autopilot atau Standard. Sebaiknya gunakan cluster Autopilot untuk pengalaman Kubernetes yang dikelola sepenuhnya. Untuk memilih mode operasi GKE yang paling sesuai untuk workload Anda, lihat Memilih mode operasi GKE.

Autopilot

Jalankan perintah berikut di Cloud Shell:

gcloud container clusters create-auto CLUSTER_NAME \
    --project=PROJECT_ID \
    --region=REGION \
    --release-channel=rapid

Ganti nilai berikut:

  • PROJECT_ID: Google Cloud project ID Anda.
  • REGION: region yang mendukung jenis akselerator yang ingin Anda gunakan, misalnya, us-central1 untuk GPU L4.
  • CLUSTER_NAME: nama cluster Anda.

GKE membuat cluster Autopilot dengan node CPU dan GPU seperti yang diminta oleh beban kerja yang di-deploy.

Standar

  1. Di Cloud Shell, jalankan perintah berikut untuk membuat cluster Standar:

    gcloud container clusters create CLUSTER_NAME \
        --project=PROJECT_ID \
        --region=REGION \
        --workload-pool=PROJECT_ID.svc.id.goog \
        --release-channel=rapid \
        --num-nodes=1
    

    Ganti nilai berikut:

    • PROJECT_ID: Google Cloud project ID Anda.
    • REGION: region yang mendukung jenis akselerator yang ingin Anda gunakan, misalnya, us-central1 untuk GPU H100.
    • CLUSTER_NAME: nama cluster Anda.

    Pembuatan cluster mungkin memerlukan waktu beberapa menit.

  2. Untuk membuat node pool untuk cluster Anda dengan ukuran disk yang sesuai, jalankan perintah berikut:

    gcloud container node-pools create gpupool \
        --accelerator type=nvidia-h100-80gb,count=1,gpu-driver-version=latest \
        --project=PROJECT_ID \
        --location=REGION \
        --node-locations=REGION-a \
        --cluster=CLUSTER_NAME \
        --machine-type=a3-highgpu-8g \
        --disk-type=pd-ssd \
        --num-nodes=1 \
        --disk-size=256
    

    GKE membuat satu node pool yang berisi delapan GPU H100 80 GB.

Membuat secret Kubernetes untuk kredensial Hugging Face

Di Cloud Shell, lakukan hal berikut:

  1. Konfigurasi kubectl agar dapat berkomunikasi dengan cluster Anda:

    gcloud container clusters get-credentials CLUSTER_NAME \
        --location=REGION
    

    Ganti nilai berikut:

    • REGION: region yang mendukung jenis akselerator yang ingin Anda gunakan, misalnya, us-central1 untuk GPU L4.
    • CLUSTER_NAME: nama cluster Anda.
  2. Buat Secret Kubernetes yang berisi token Hugging Face:

    kubectl create secret generic hf-secret \
        --from-literal=hf_api_token=${HF_TOKEN} \
        --dry-run=client -o yaml | kubectl apply -f -
    

    Ganti HF_TOKEN dengan token Hugging Face yang Anda buat sebelumnya.

Men-deploy vLLM

Di bagian ini, Anda akan men-deploy penampung vLLM untuk menayangkan model Llama 4 yang ingin Anda gunakan:

  • Llama 4 Maverick 17B-128E
  • Llama 4 Scout 17B-16E

Untuk men-deploy model, tutorial ini menggunakan Deployment Kubernetes. Deployment adalah objek Kubernetes API yang memungkinkan Anda menjalankan beberapa replika Pod yang didistribusikan di antara node dalam cluster.

Llama 4 Maverick 17B-128e

Untuk men-deploy model Llama 4 Maverick 17B-128E, ikuti petunjuk berikut:

  1. Buat manifes vllm-llama4-maverick-17b-128e.yaml berikut:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: llama-deployment
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: llama-server
      template:
        metadata:
          labels:
            app: llama-server
            ai.gke.io/model: Llama-4-Maverick-17B-128E
            ai.gke.io/inference-server: vllm
        spec:
          containers:
          - name: inference-server
            image: us-docker.pkg.dev/vertex-ai/vertex-vision-model-garden-dockers/pytorch-vllm-serve:20250405_1205_RC01
            resources:
              requests:
                cpu: 157
                memory: 2067Gi
                ephemeral-storage: 850Gi
                nvidia.com/gpu : 8
              limits:
                cpu: 157
                memory: 2067Gi
                ephemeral-storage: 850Gi
                nvidia.com/gpu : 8
            args:
            - python3
            - -m
            - vllm.entrypoints.api_server
            - --host=0.0.0.0
            - --port=7080
            - --swap-space=16
            - --max-model-len=131072
            - --gpu-memory-utilization=0.95
            - --disable-log-stats
            - --dtype=auto
            - --kv-cache-dtype=auto
            - --max-num-seqs=64
            - --model=meta-llama/Llama-4-Maverick-17B-128E
            - --tensor-parallel-size=8
            env:
            - name: MODEL_ID
              value: 'meta-llama/Llama-4-Maverick-17B-128E'
            - name: HUGGING_FACE_HUB_TOKEN
              valueFrom:
                secretKeyRef:
                  name: hf-secret
                  key: hf_api_token
            volumeMounts:
            - mountPath: /dev/shm
              name: dshm
          volumes:
          - name: dshm
            emptyDir:
              medium: Memory
          nodeSelector:
            cloud.google.com/gke-accelerator: nvidia-h200-141gb
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: llama-service
    spec:
      selector:
        app: llama-server
      type: ClusterIP
      ports:
      - protocol: TCP
        port: 8000
        targetPort: 7080
    ---
    apiVersion: v1
    kind: Secret
    metadata:
      name: hf-secret
    type: Opaque
    stringData:
      hf_api_token: {{HF_TOKEN}}
  2. Terapkan manifes:

    kubectl apply -f vllm-llama4-maverick-17b-128e.yaml
    

    Dalam contoh ini, kita membatasi jendela konteks sebesar 128 K menggunakan opsi vLLM --max-model-len=131072.

Llama 4 Maverick 17B-128e-it

Untuk men-deploy model yang disesuaikan dengan instruksi Llama 4 Maverick 17B-128e, ikuti petunjuk berikut:

  1. Buat manifes vllm-llama4-maverick-17b-128e-instruct.yaml berikut:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: llama-deployment
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: llama-server
      template:
        metadata:
          labels:
            app: llama-server
            ai.gke.io/model: Llama-4-Maverick-17B-128E-Instruct
            ai.gke.io/inference-server: vllm
        spec:
          containers:
          - name: inference-server
            image: us-docker.pkg.dev/vertex-ai/vertex-vision-model-garden-dockers/pytorch-vllm-serve:20250405_1205_RC01
            resources:
              requests:
                cpu: 157
                memory: 2067Gi
                ephemeral-storage: 850Gi
                nvidia.com/gpu : 8
              limits:
                cpu: 157
                memory: 2067Gi
                ephemeral-storage: 850Gi
                nvidia.com/gpu : 8
            args:
            - python3
            - -m
            - vllm.entrypoints.api_server
            - --host=0.0.0.0
            - --port=7080
            - --swap-space=16
            - --max-model-len=131072
            - --gpu-memory-utilization=0.95
            - --disable-log-stats
            - --dtype=auto
            - --kv-cache-dtype=auto
            - --max-num-seqs=64
            - --model=meta-llama/Llama-4-Maverick-17B-128E-Instruct
            - --tensor-parallel-size=8
            env:
            - name: MODEL_ID
              value: 'meta-llama/Llama-4-Maverick-17B-128E-Instruct'
            - name: HUGGING_FACE_HUB_TOKEN
              valueFrom:
                secretKeyRef:
                  name: hf-secret
                  key: hf_api_token
            volumeMounts:
            - mountPath: /dev/shm
              name: dshm
          volumes:
          - name: dshm
            emptyDir:
              medium: Memory
          nodeSelector:
            cloud.google.com/gke-accelerator: nvidia-h200-141gb
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: llama-service
    spec:
      selector:
        app: llama-server
      type: ClusterIP
      ports:
      - protocol: TCP
        port: 8000
        targetPort: 7080
    ---
    apiVersion: v1
    kind: Secret
    metadata:
      name: hf-secret
    type: Opaque
    stringData:
      hf_api_token: {{HF_TOKEN}}
  2. Terapkan manifes:

    kubectl apply -f vllm-llama4-maverick-17b-128e-instruct.yaml
    

    Dalam contoh ini, kita membatasi jendela konteks sebesar 128 K menggunakan opsi vLLM --max-model-len=131072.

Llama 4 Maverick 17B-128e-it-fp8

Untuk men-deploy model Llama 4 Maverick 17B-128e-Instruct-FP8, ikuti petunjuk berikut:

  1. Buat manifes vllm-llama4-maverick-17b-128e-instruct-fp8.yaml berikut:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: llama-deployment
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: llama-server
      template:
        metadata:
          labels:
            app: llama-server
            ai.gke.io/model: Llama-4-Maverick-17B-128E-Instruct-FP8
            ai.gke.io/inference-server: vllm
        spec:
          containers:
          - name: inference-server
            image: us-docker.pkg.dev/vertex-ai/vertex-vision-model-garden-dockers/pytorch-vllm-serve:20250405_1205_RC01
            resources:
              requests:
                cpu: 146
                memory: 1311Gi
                ephemeral-storage: 600Gi
                nvidia.com/gpu : 8
              limits:
                cpu: 146
                memory: 1311Gi
                ephemeral-storage: 600Gi
                nvidia.com/gpu : 8
            args:
            - python3
            - -m
            - vllm.entrypoints.api_server
            - --host=0.0.0.0
            - --port=7080
            - --swap-space=16
            - --max-model-len=524288
            - --gpu-memory-utilization=0.90
            - --disable-log-stats
            - --model=meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8
            - --tensor-parallel-size=8
            env:
            - name: MODEL_ID
              value: 'meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8'
            - name: HUGGING_FACE_HUB_TOKEN
              valueFrom:
                secretKeyRef:
                  name: hf-secret
                  key: hf_api_token
            volumeMounts:
            - mountPath: /dev/shm
              name: dshm
          volumes:
          - name: dshm
            emptyDir:
              medium: Memory
          nodeSelector:
            cloud.google.com/gke-accelerator: nvidia-h100-80gb
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: llama-service
    spec:
      selector:
        app: llama-server
      type: ClusterIP
      ports:
      - protocol: TCP
        port: 8000
        targetPort: 7080
    ---
    apiVersion: v1
    kind: Secret
    metadata:
      name: hf-secret
    type: Opaque
    stringData:
      hf_api_token: {{HF_TOKEN}}
  2. Terapkan manifes:

    kubectl apply -f vllm-llama4-maverick-17b-128e-instruct-fp8.yaml
    

    Dalam contoh ini, kita membatasi jendela konteks sebesar 512 K menggunakan opsi vLLM --max-model-len=524288.

Llama 4 Scout 17B-16e

Untuk men-deploy model Llama 4 Scout 17B-16E, ikuti petunjuk berikut:

  1. Buat manifes vllm-llama4-scout-17b-16e.yaml berikut:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: llama-deployment
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: llama-server
      template:
        metadata:
          labels:
            app: llama-server
            ai.gke.io/model: Llama-4-Scout-17B-16E
            ai.gke.io/inference-server: vllm
        spec:
          containers:
          - name: inference-server
            image: us-docker.pkg.dev/vertex-ai/vertex-vision-model-garden-dockers/pytorch-vllm-serve:20250405_1205_RC01
            resources:
              requests:
                cpu: 146
                memory: 1311Gi
                ephemeral-storage: 600Gi
                nvidia.com/gpu : 8
              limits:
                cpu: 146
                memory: 1311Gi
                ephemeral-storage: 600Gi
                nvidia.com/gpu : 8
            args:
            - python3
            - -m
            - vllm.entrypoints.api_server
            - --host=0.0.0.0
            - --port=7080
            - --swap-space=16
            - --max-model-len=262144
            - --limit_mm_per_prompt='image=5'
            - --disable-log-stats
            - --model=meta-llama/Llama-4-Scout-17B-16E
            - --tensor-parallel-size=8
            env:
            - name: MODEL_ID
              value: 'meta-llama/Llama-4-Scout-17B-16E'
            - name: HUGGING_FACE_HUB_TOKEN
              valueFrom:
                secretKeyRef:
                  name: hf-secret
                  key: hf_api_token
            volumeMounts:
            - mountPath: /dev/shm
              name: dshm
          volumes:
          - name: dshm
            emptyDir:
              medium: Memory
          nodeSelector:
            cloud.google.com/gke-accelerator: nvidia-h100-80gb
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: llama-service
    spec:
      selector:
        app: llama-server
      type: ClusterIP
      ports:
      - protocol: TCP
        port: 8000
        targetPort: 7080
    ---
    apiVersion: v1
    kind: Secret
    metadata:
      name: hf-secret
    type: Opaque
    stringData:
      hf_api_token: {{HF_TOKEN}}
  2. Terapkan manifes:

    kubectl apply -f vllm-llama4-scout-17b-16e.yaml
    

    Dalam contoh ini, kita membatasi jendela konteks sebesar 256 K menggunakan opsi vLLM --max-model-len=262144.

Llama 4 Scout 17B-16e-it

Untuk men-deploy model yang disesuaikan dengan petunjuk Llama 4 Scout 17B-16e Instruct, ikuti petunjuk berikut:

  1. Buat manifes vllm-llama4-scout-17b-16e-instruct.yaml berikut:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: llama-deployment
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: llama-server
      template:
        metadata:
          labels:
            app: llama-server
            ai.gke.io/model: Llama-4-Scout-17B-16E-Instruct
            ai.gke.io/inference-server: vllm
        spec:
          containers:
          - name: inference-server
            image: us-docker.pkg.dev/vertex-ai/vertex-vision-model-garden-dockers/pytorch-vllm-serve:20250405_1205_RC01
            resources:
              requests:
                cpu: 146
                memory: 1311Gi
                ephemeral-storage: 600Gi
                nvidia.com/gpu : 8
              limits:
                cpu: 146
                memory: 1311Gi
                ephemeral-storage: 600Gi
                nvidia.com/gpu : 8
            args:
            - python3
            - -m
            - vllm.entrypoints.api_server
            - --host=0.0.0.0
            - --port=7080
            - --swap-space=16
            - --max-model-len=1310720
            - --limit_mm_per_prompt='image=5'
            - --disable-log-stats
            - --model=meta-llama/Llama-4-Scout-17B-16E-Instruct
            - --tensor-parallel-size=8
            env:
            - name: MODEL_ID
              value: 'meta-llama/Llama-4-Scout-17B-16E-Instruct'
            - name: HUGGING_FACE_HUB_TOKEN
              valueFrom:
                secretKeyRef:
                  name: hf-secret
                  key: hf_api_token
            volumeMounts:
            - mountPath: /dev/shm
              name: dshm
          volumes:
          - name: dshm
            emptyDir:
              medium: Memory
          nodeSelector:
            cloud.google.com/gke-accelerator: nvidia-h100-80gb
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: llama-service
    spec:
      selector:
        app: llama-server
      type: ClusterIP
      ports:
      - protocol: TCP
        port: 8000
        targetPort: 7080
    ---
    apiVersion: v1
    kind: Secret
    metadata:
      name: hf-secret
    type: Opaque
    stringData:
      hf_api_token: {{HF_TOKEN}}
  2. Terapkan manifes:

    kubectl apply -f vllm-llama4-scout-17b-16e-instruct.yaml
    

    Dalam contoh ini, kita membatasi jendela konteks sebesar 1280 K menggunakan opsi vLLM --max-model-len=1310720.

Tunggu hingga Deployment tersedia:

kubectl wait --for=condition=Available --timeout=1800s deployment/llama-deployment

Lihat log dari Deployment yang sedang berjalan:

kubectl logs -f -l app=llama-server

Resource Deployment mendownload data model. Proses ini dapat memerlukan waktu beberapa menit. Outputnya mirip dengan hal berikut ini:

INFO:     Started server process [145]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
...
INFO 04-07 13:36:29 [async_llm.py:228] Added request chatcmpl-4149ea4cf35e48559f9f819dcdbbb23e.
INFO:     127.0.0.1:44018 - "POST /v1/chat/completions HTTP/1.1" 200 OK

Pastikan model telah didownload sepenuhnya sebelum Anda melanjutkan ke bagian berikutnya.

Menayangkan model

Di bagian ini, Anda akan berinteraksi dengan model.

Menyiapkan penerusan port

Untuk menyiapkan penerusan port ke model, jalankan perintah berikut:

kubectl port-forward service/llama-service 8080:8000

Outputnya mirip dengan hal berikut ini:

Forwarding from 127.0.0.1:8080 -> 7080

Berinteraksi dengan model menggunakan curl

Bagian ini menunjukkan cara melakukan pengujian awal dasar untuk memverifikasi model yang disesuaikan dengan petunjuk Llama yang di-deploy. Untuk model lain, ganti meta-llama/Llama-4-Scout-17B-16E dengan nama model masing-masing.

Contoh ini menunjukkan cara menguji model Llama 4 Scout 17B-16E dengan input khusus teks.

Dalam sesi terminal baru, gunakan curl untuk melakukan chat dengan model Anda:

curl http://localhost:8080/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "meta-llama/Llama-4-Scout-17B-16E",
    "messages": [{"role": "user", "content": "San Francisco is a"}],
    "max_tokens": 7,
    "temperature": 0
  }'

Outputnya mirip dengan hal berikut ini:

"message":{"role":"assistant","reasoning_content":null,"content":"San Francisco is a city","tool_calls":[]}

Memecahkan masalah

  • Jika Anda mendapatkan pesan Empty reply from server, penampung mungkin belum selesai mendownload data model. Periksa log Pod lagi untuk menemukan pesan Connected, yang menunjukkan bahwa model siap ditayangkan.
  • Jika Anda melihat pesan Connection refused, pastikan penerusan port Anda aktif.

Mengamati performa model

Untuk mengamati performa model, Anda dapat menggunakan integrasi dasbor vLLM di Cloud Monitoring. Dengan dasbor ini, Anda dapat melihat metrik performa penting seperti throughput token, latensi permintaan, dan rasio error.

Untuk menggunakan dasbor vLLM, Anda harus mengaktifkan Google Cloud Managed Service for Prometheus, yang mengumpulkan metrik dari vLLM, di cluster GKE Anda. vLLM mengekspos metrik dalam format Prometheus secara default; Anda tidak perlu menginstal pengekspor tambahan.

Kemudian, Anda dapat melihat metrik menggunakan dasbor vLLM. Untuk informasi tentang cara menggunakan Google Cloud Managed Service for Prometheus untuk mengumpulkan metrik dari model Anda, lihat panduan visibilitas vLLM dalam dokumentasi Cloud Monitoring.

Pembersihan

Agar tidak perlu membayar biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, hapus project yang berisi resource tersebut, atau simpan project dan hapus setiap resource.

Menghapus resource yang di-deploy

Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang Anda buat dalam panduan ini, jalankan perintah berikut:

gcloud container clusters delete CLUSTER_NAME \
    --region=REGION

Ganti nilai berikut:

  • REGION: region yang mendukung jenis akselerator yang ingin Anda gunakan, misalnya, us-central1 untuk GPU L4.
  • CLUSTER_NAME: nama cluster Anda.

Langkah berikutnya