gke-inference

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

GKE AI/ML Inference

GKE AI/ML 推理

This reference covers deploying AI/ML inference workloads on GKE using Google's Inference Quickstart (GIQ) and best practices for LLM serving.
MCP Tools:
apply_k8s_manifest
,
get_k8s_resource
,
get_k8s_logs
,
get_k8s_rollout_status
,
describe_k8s_resource
,
list_k8s_events
. CLI-only:
gcloud container ai profiles *
本参考文档介绍如何使用Google的推理快速入门(GIQ)在GKE上部署AI/ML推理工作负载,以及LLM服务的最佳实践。
MCP工具:
apply_k8s_manifest
get_k8s_resource
get_k8s_logs
get_k8s_rollout_status
describe_k8s_resource
list_k8s_events
仅支持CLI:
gcloud container ai profiles *

When to Use

适用场景

  • Deploy an AI model (Llama, Gemma, Mistral, etc.) to GKE
  • Generate optimized Kubernetes manifests for inference
  • Select GPU/TPU accelerators for model serving
  • Configure autoscaling for LLM inference
  • 将AI模型(Llama、Gemma、Mistral等)部署到GKE
  • 生成用于推理的优化Kubernetes清单
  • 为模型服务选择GPU/TPU加速器
  • 为LLM推理配置自动扩缩容

Prerequisites

前提条件

  • A golden path GKE Autopilot cluster (GPU workloads are supported via ComputeClasses and NAP)
  • gcloud
    CLI authenticated
  • Sufficient GPU/TPU quota in the target region
  • 一个符合最佳路径的GKE Autopilot集群(GPU工作负载通过ComputeClasses和NAP支持)
  • gcloud
    CLI已完成认证
  • 目标区域有足够的GPU/TPU配额

Workflow

工作流程

1. Discovery: Find Models and Hardware

1. 发现:查找模型与硬件

bash
undefined
bash
undefined

List all supported models

列出所有支持的模型

gcloud container ai profiles models list --quiet
gcloud container ai profiles models list --quiet

Find valid accelerator/server combinations for a model

查找模型对应的有效加速器/服务器组合

gcloud container ai profiles list --model=<MODEL_NAME> --quiet
gcloud container ai profiles list --model=<MODEL_NAME> --quiet

Example: what can run Gemma 2 9B?

示例:哪些资源可以运行Gemma 2 9B?

gcloud container ai profiles list --model=gemma-2-9b-it --quiet
undefined
gcloud container ai profiles list --model=gemma-2-9b-it --quiet
undefined

2. Generate Manifest

2. 生成清单

bash
gcloud container ai profiles manifests create \
  --model=<MODEL_NAME> \
  --model-server=<SERVER> \
  --accelerator-type=<ACCELERATOR> \
  --target-ntpot-milliseconds=<NTPOT> --quiet > inference.yaml
Parameters:
  • --model
    : Model ID (e.g.,
    gemma-2-9b-it
    ,
    llama-3-8b
    )
  • --model-server
    : Inference server (
    vllm
    ,
    tgi
    ,
    triton
    ,
    tensorrt-llm
    )
  • --accelerator-type
    : GPU/TPU type (
    nvidia-l4
    ,
    nvidia-tesla-a100
    ,
    nvidia-h100-80gb
    )
  • --target-ntpot-milliseconds
    : Target Normalized Time Per Output Token (optional, for latency optimization)
Example:
bash
gcloud container ai profiles manifests create \
  --model=gemma-2-9b-it \
  --model-server=vllm \
  --accelerator-type=nvidia-l4 \
  --target-ntpot-milliseconds=50 --quiet > inference.yaml
bash
gcloud container ai profiles manifests create \
  --model=<MODEL_NAME> \
  --model-server=<SERVER> \
  --accelerator-type=<ACCELERATOR> \
  --target-ntpot-milliseconds=<NTPOT> --quiet > inference.yaml
参数说明:
  • --model
    :模型ID(例如:
    gemma-2-9b-it
    llama-3-8b
  • --model-server
    :推理服务器(
    vllm
    tgi
    triton
    tensorrt-llm
  • --accelerator-type
    :GPU/TPU类型(
    nvidia-l4
    nvidia-tesla-a100
    nvidia-h100-80gb
  • --target-ntpot-milliseconds
    :目标归一化输出令牌耗时(可选,用于延迟优化)
示例:
bash
gcloud container ai profiles manifests create \
  --model=gemma-2-9b-it \
  --model-server=vllm \
  --accelerator-type=nvidia-l4 \
  --target-ntpot-milliseconds=50 --quiet > inference.yaml

3. Review and Deploy

3. 审核与部署

bash
undefined
bash
undefined

Review for placeholders (HF tokens, PVCs)

审核清单中的占位符(HF令牌、PVC等)

cat inference.yaml
cat inference.yaml

Deploy

部署

kubectl apply -f inference.yaml
kubectl apply -f inference.yaml

Monitor

监控

kubectl get pods -w kubectl logs -f <POD_NAME>

> Some models require Hugging Face tokens. Create a Kubernetes Secret and
> reference it in the manifest.
kubectl get pods -w kubectl logs -f <POD_NAME>

> 部分模型需要Hugging Face令牌。请创建Kubernetes Secret并在清单中引用它。

GPU ComputeClass for Inference

用于推理的GPU ComputeClass

For Autopilot clusters, create a ComputeClass to target GPU nodes:
yaml
apiVersion: cloud.google.com/v1
kind: ComputeClass
metadata:
  name: l4-inference
spec:
  priorities:
  - machineFamily: g2
    gpu:
      type: nvidia-l4
      count: 1
    minCores: 4
    minMemoryGb: 16
对于Autopilot集群,创建ComputeClass以指定GPU节点:
yaml
apiVersion: cloud.google.com/v1
kind: ComputeClass
metadata:
  name: l4-inference
spec:
  priorities:
  - machineFamily: g2
    gpu:
      type: nvidia-l4
      count: 1
    minCores: 4
    minMemoryGb: 16

Accelerator Selection Guide

加速器选择指南

AcceleratorBest ForMemoryRelative Cost
NVIDIA T4Budget inference,16 GBLowest
: : lightweight legacy : : :
: : models : : :
NVIDIA L4 (G2)Small-medium model24 GBLow
: : inference, video, : : :
: : graphics : : :
NVIDIA RTX PRO 6000Multimodal AI,96 GBMedium
: (G4) : high-fidelity 3D, : : :
: : fine-tuning : : :
Cloud TPU v5eCost-effectiveVariesMedium
: : transformer inference : : :
Cloud TPU v5pHigh-performanceVariesHigh
: : training : : :
Cloud TPU v6eHigh-efficiency next-gen32 GB/chipMedium-High
: (Trillium) : training & serving : : :
Cloud TPU v7xUltra-scale inference &192 GB/chipHigh
: (Ironwood) : agentic workflows : : :
NVIDIA A100Large model inference,40/80 GBHigh
: : enterprise ML : : :
NVIDIA H100 / H200Frontier model training,80/141 GBHighest
: : high throughput : : :
NVIDIA B200 (A4)Blackwell-scale192 GBHighest
: : training, FP4 precision : : :
NVIDIA GB200 (A4X)Rack-scale AI (GraceMassiveHighest
: : Blackwell Superchip) : : :
加速器适用场景内存相对成本
NVIDIA T4低成本推理、轻量级遗留模型16 GB最低
NVIDIA L4 (G2)中小型模型推理、视频、图形处理24 GB
NVIDIA RTX PRO 6000 (G4)多模态AI、高保真3D、微调96 GB中等
Cloud TPU v5e高性价比Transformer推理可变中等
Cloud TPU v5p高性能训练可变
Cloud TPU v6e (Trillium)高效下一代训练与服务32 GB/芯片中高
Cloud TPU v7x (Ironwood)超大规模推理与智能代理工作流192 GB/芯片
NVIDIA A100大型模型推理、企业级ML40/80 GB
NVIDIA H100 / H200前沿模型训练、高吞吐量80/141 GB最高
NVIDIA B200 (A4)Blackwell级训练、FP4精度192 GB最高
NVIDIA GB200 (A4X)机架级AI(Grace Blackwell超级芯片)超大容量最高

Autoscaling LLM Inference

LLM推理自动扩缩容

GPU-based autoscaling

基于GPU的自动扩缩容

Use custom metrics for GPU utilization:
yaml
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: llm-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: llm-server
  minReplicas: 1
  maxReplicas: 10
  metrics:
  - type: Pods
    pods:
      metric:
        name: gpu_duty_cycle
      target:
        type: AverageValue
        averageValue: "80"
使用自定义指标监控GPU利用率:
yaml
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: llm-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: llm-server
  minReplicas: 1
  maxReplicas: 10
  metrics:
  - type: Pods
    pods:
      metric:
        name: gpu_duty_cycle
      target:
        type: AverageValue
        averageValue: "80"

Best practices for inference autoscaling

推理自动扩缩容最佳实践

  1. Use DCGM metrics: Golden path enables DCGM monitoring for GPU utilization metrics
  2. Set appropriate minReplicas: At least 1 for always-on serving; 0 for batch/on-demand
  3. Tune scale-down delay: LLM model loading is slow; use longer stabilization windows
  4. Consider queue depth: Scale on pending requests rather than pure GPU utilization for latency-sensitive workloads
  1. 使用DCGM指标:最佳路径已启用DCGM监控以获取GPU利用率指标
  2. 设置合适的minReplicas:持续服务至少设为1;批处理/按需服务可设为0
  3. 调整缩容延迟:LLM模型加载速度较慢,请使用更长的稳定窗口
  4. 考虑队列深度:对于延迟敏感型工作负载,根据待处理请求数而非单纯GPU利用率进行扩缩容

Optimization Tips

优化技巧

  • Quantization: Use quantized models (GPTQ, AWQ) to reduce GPU memory and increase throughput
  • Batching: Configure model server batch size for throughput vs latency trade-off
  • Tensor parallelism: Split large models across multiple GPUs within a node
  • KV cache optimization: Tune
    --gpu-memory-utilization
    in vLLM for KV cache allocation
  • 量化:使用量化模型(GPTQ、AWQ)减少GPU内存占用并提高吞吐量
  • 批处理:配置模型服务器的批处理大小,平衡吞吐量与延迟
  • 张量并行:将大型模型拆分到节点内的多个GPU上
  • KV缓存优化:在vLLM中调整
    --gpu-memory-utilization
    参数以优化KV缓存分配

Troubleshooting

故障排查

IssueCauseFix
InvalidUnsupported tupleRe-run `gcloud container ai
: model/accelerator : : profiles list :
: combination : : --model=<MODEL>` :
GPU quota exceededRegional quota limitRequest quota increase or
: : : try a different region :
OOM on GPUModel too large forUse larger GPU, enable
: : accelerator : quantization, or use tensor :
: : : parallelism :
Slow cold startLarge model loading fromUse local SSD for model
: : registry : caching; pre-pull images :
问题原因解决方案
无效的模型/加速器组合不支持的组合重新运行
gcloud container ai profiles list --model=<MODEL>
GPU配额不足区域配额限制请求增加配额或尝试其他区域
GPU内存不足(OOM)模型超出加速器内存容量使用更大的GPU、启用量化或使用张量并行
冷启动缓慢从镜像仓库加载大型模型使用本地SSD缓存模型;预拉取镜像