运维部署
在 GKE 上部署和优化 AI/ML…
适用于在 GKE 上使用 GPU/TPU 和模型服务器部署及优化 AI/ML 推理工作负载,尤其是 LLM 服务。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
在 GKE 上部署和优化 AI/ML 推特定
解决思路
- 使用 MCP 工具操作 K8s:apply_k8s_manifest、get_k8s_resource、get_k8s_logs、get_k8s_rollout_status、describe_k8s_resource、list_k8s_events;仅 CLI 可用的能力为 gcloud container ai profiles *。
- 发现支持的模型和硬件:运行 `gcloud container ai profiles models list --quiet` 列出所有支持的模型。
- 查找模型可用的加速器/模型服务器组合:运行 `gcloud container ai profiles list --model=<MODEL_NAME> --quiet`;例如 `gcloud container ai profiles list --model=gemma-2-9b-it --quiet`。
- 生成推理清单:运行 `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` 为目标 Normalized Time Per Output Token(可选,用于延迟优化)。
- 生成示例:运行 `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`。
- 审查并部署:先用 `cat inference.yaml` 检查占位符(HF tokens、PVCs);然后 `kubectl apply -f inference.yaml`。
- 监控部署:用 `kubectl get pods -w` 观察 Pod;用 `kubectl logs -f <POD_NAME>` 跟踪日志。
- 处理需要 Hugging Face token 的模型:创建 Kubernetes Secret,并在清单中引用该 Secret。
- 在 Autopilot 集群上为推理创建 ComputeClass 以定位 GPU 节点:创建 `apiVersion: cloud.google.com/v1`、`kind: ComputeClass`、`metadata.name: l4-inference`,并在 `spec.priorities` 中指定 `machineFamily: g2`、`gpu.type: nvidia-l4`、`gpu.count: 1`、`minCores: 4`、`minMemoryGb: 16`。
- 加速器选择: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/chip,成本中高。
- 加速器选择:Cloud TPU v7x(Ironwood)适合超大规模推理与 agentic 工作流,192 GB/chip,成本高。
- 加速器选择:NVIDIA A100 适合大模型推理、企业 ML,40/80 GB,成本高。
- 加速器选择:NVIDIA H100 / H200 适合前沿模型训练、高吞吐,80/141 GB,成本最高。
- 加速器选择:NVIDIA B200(A4)适合 Blackwell 规模训练、FP4 精度,192 GB,成本最高。
- 加速器选择:NVIDIA GB200(A4X)适合机架级 AI(Grace Blackwell Superchip),显存巨大,成本最高。
- GPU-based 自动扩缩容:使用自定义指标 GPU 利用率创建 HorizontalPodAutoscaler(HPA),`scaleTargetRef` 指向 `Deployment llm-server`,`minReplicas: 1`,`maxReplicas: 10`,指标类型为 `Pods`,`metric.name: gpu_duty_cycle`,`target.type: AverageValue`,`averageValue: 80`。
- 推理自动扩缩容最佳实践:使用 DCGM 指标,Golden path 会启用 DCGM 监控以提供 GPU 利用率指标。
- 推理自动扩缩容最佳实践:设置合适的 minReplicas,常驻服务至少为 1,批处理/按需为 0。
- 推理自动扩缩容最佳实践:调整缩容延迟,LLM 模型加载慢,使用更长的稳定窗口。
- 推理自动扩缩容最佳实践:对延迟敏感负载考虑队列深度,根据 pending requests 扩缩,而不是只依赖 GPU 利用率。
- 优化:量化,使用量化模型(GPTQ、AWQ)降低 GPU 内存并提高吞吐。
- 优化:批处理,配置模型服务器 batch size 以权衡吞吐与延迟。
- 优化:张量并行,将大模型拆分到同一节点内的多张 GPU。
- 优化:KV cache 优化,在 vLLM 中调整 `--gpu-memory-utilization` 以分配 KV cache。
- 排障:Invalid model/accelerator combination,原因是不支持的组合;重新运行 `gcloud container ai profiles list --model=<MODEL>`。
- 排障:GPU quota exceeded,原因是区域配额限制;请求增加配额或换一个区域。
- 排障:OOM on GPU,原因是模型对加速器过大;使用更大 GPU、启用量化或使用张量并行。
- 排障:Slow cold start,原因是大型模型从 registry 加载慢;使用 local SSD 做模型缓存,并预拉取镜像。
适用边界 · 注意事项
- 不要用于通用批处理任务或 HPC 任务队列;这些应使用 gke-batch-hpc。
- 不适用于没有 GKE Autopilot/GCP GPU/TPU 配额、gcloud 认证或目标区域配额不足的环境。
- 不适用于非 GKE 的 Kubernetes 或非 Google Cloud 模型服务部署。