gke-inference について
gke-inference は、GKE に AI/ML 推論ワークロードをデプロイするチーム向けのスキルです。ハードウェア選定、マニフェスト生成、自動スケーリング、推論の調整を扱います。
主な機能
- 01対応モデルとアクセラレータの組み合わせ検索
- 02Kubernetes 推論マニフェストの生成
- 03GPU または TPU アクセラレータの選択
- 04LLM 推論の自動スケーリング設定
- 05量子化、バッチ処理、並列度の調整
活用シーン
- 01GKE への Llama、Gemma、Mistral のデプロイ
- 02モデルサービング用 Kubernetes 設定の生成
- 03レイテンシ目標に応じた推論ハードウェア選定
- 04GPU クォータやメモリ不足のトラブルシューティング
MCP 対応
Kubernetes マニフェストの適用、リソースやログの取得、ロールアウト状況の確認、イベント一覧に使う MCP ツールが記載されています。モデルプロファイルの検索とマニフェスト生成コマンドは CLI 専用です。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ google/ skills --skill gke-inferenceインストール後、Claude Code で/gke-inferenceを入力して読み込まれたか確認します。
同梱ファイルreferences/attribution.md
詳細
GKE AI/ML 推論
ルーティングに関する注記: 既存の AI ワークロードを GKE に移行する場合は、
google-cloud-solution-guided-gke-ai-migration/SKILL.mdを開いてください。Cloud SQL または AlloyDB(pgvector)を使用した GKE RAG については、google-cloud-solution-rag-enterprise-search-gke-sqldb/SKILL.mdを開いてください。
このリファレンスでは、Google の Inference Quickstart(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 *
クレジット表記
必ずお読みください: gcloud、REST API、または MCP コマンドを実行する前に、必ず 使用状況のクレジット表記 をお読みください。ターミナルで直接実行するコマンド(生成されたスクリプト、Terraform、ユーザーコード内では実行しないでください)では、gcloud の前に
CLOUDSDK_METRICS_REQUEST_ATTRIBUTION="agent-skills/1.0 (skill:gke-inference)"
を付け、User-Agent ヘッダーに agent-skills/1.0 (skill:gke-inference) を追加してください。
使用する場面
- AI モデル(Llama、Gemma、Mistral など)を GKE にデプロイする
- 推論用に最適化された Kubernetes マニフェストを生成する
- モデルサービング用の GPU/TPU アクセラレーターを選択する
- LLM 推論用のオートスケーリングを設定する
前提条件
- ゴールデンパス GKE Autopilot クラスター(GPU ワークロードは ComputeClasses と NAP によりサポートされています)
gcloudCLI の認証済み環境- 対象リージョンで十分な GPU/TPU クォータがあること
ワークフロー
1. 調査:モデルとハードウェアを見つける
# List all supported models
gcloud container ai profiles models list --quiet
# Find valid accelerator/server combinations for a model
gcloud container ai profiles list --model=<MODEL_NAME> --quiet
# Example: what can run Gemma 2 9B?
gcloud container ai profiles list --model=gemma-2-9b-it --quiet
2. マニフェストを生成する
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:目標正規化出力トークンあたり時間 (任意。レイテンシ最適化用)
例:
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 for placeholders (HF tokens, PVCs)
cat inference.yaml
# Deploy
kubectl apply -f inference.yaml
# Monitor
kubectl get pods -w
kubectl logs -f <POD_NAME>
一部のモデルでは Hugging Face トークンが必要です。Kubernetes Secret を作成し、マニフェストで参照してください。
推論用 GPU ComputeClass
Autopilot クラスターで GPU ノードを対象にするには、ComputeClass を作成します。
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
アクセラレーター選択ガイド
| アクセラレーター | 最適な用途 | メモリ | 相対コスト |
|---|---|---|---|
| NVIDIA T4 | 低コストの推論、 | 16 GB | 最低 |
| : : 軽量なレガシー : : : | |||
| : : モデル : : : | |||
| NVIDIA L4 (G2) | 小〜中規模モデルの | 24 GB | 低 |
| : : 推論、動画、 : : : | |||
| : : グラフィックス : : : | |||
| NVIDIA RTX PRO 6000 | マルチモーダル AI、 | 96 GB | 中 |
| : (G4) : 高忠実度 3D、 : : : | |||
| : : ファインチューニング : : : | |||
| Cloud TPU v5e | コスト効率の高い | Varies | 中 |
| : : トランスフォーマー推論 : : : | |||
| Cloud TPU v5p | 高性能な | Varies | 高 |
| : : トレーニング : : : | |||
| Cloud TPU v6e | 高効率な次世代 | 32 GB/chip | 中〜高 |
| : (Trillium) : トレーニングとサービング : : : | |||
| Cloud TPU v7x | 超大規模な推論と | 192 GB/chip | 高 |
| : (Ironwood) : エージェント型ワークフロー : : : | |||
| NVIDIA A100 | 大規模モデルの推論、 | 40/80 GB | 高 |
| : : エンタープライズ ML : : : | |||
| NVIDIA H100 / H200 | 最先端モデルのトレーニング、 | 80/141 GB | 最高 |
| : : 高スループット : : : | |||
| NVIDIA B200 (A4) | Blackwell 規模の | 192 GB | 最高 |
| : : トレーニング、FP4 精度 : : : | |||
| NVIDIA GB200 (A4X) | ラック規模の AI(Grace | Massive | 最高 |
| : : Blackwell Superchip) : : : |
LLM 推論のオートスケーリング
GPU ベースのオートスケーリング
GPU 使用率にはカスタムメトリクスを使用します。
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"
推論のオートスケーリングに関するベストプラクティス
- DCGM メトリクスを使用する:Golden path では、GPU 使用率メトリクスの DCGM モニタリングが有効になります
- 適切な minReplicas を設定する:常時稼働のサービングでは少なくとも 1 に、バッチ処理やオンデマンドでは 0 に設定します
- スケールダウンの遅延を調整する:LLM モデルの読み込みには時間がかかるため、長めの安定化期間を設定します
- キューの深さを考慮する:レイテンシーに敏感なワークロードでは、GPU 使用率だけでなく、保留中のリクエスト数に基づいてスケーリングします
最適化のヒント
- 量子化:量子化モデル(GPTQ、AWQ)を使用して GPU メモリを削減し、スループットを高めます
- バッチ処理:スループットとレイテンシーのトレードオフを考慮して、モデルサーバーのバッチサイズを設定します
- テンソル並列化:大規模モデルをノード内の複数の GPU に分割します
- KV キャッシュの最適化:KV キャッシュの割り当てについて、vLLM の
--gpu-memory-utilizationを調整します
トラブルシューティング
| 問題 | 原因 | 対処 |
|---|---|---|
| 無効な | 未対応のタプル | `gcloud container ai |
| : model/accelerator : : profiles list : | ||
| : combination : : --model=` を再実行します | ||
| GPU クォータ超過 | リージョンのクォータ制限 | クォータの増加をリクエストするか、 |
| : : : 別のリージョンを試します : | ||
| GPU のメモリ不足 | アクセラレーターに対して | より大きな GPU を使用し、 |
| : : モデルが大きすぎます : 量子化を有効にするか、テンソル : | ||
| : : : 並列処理を使用します : | ||
| コールドスタートが遅い | レジストリからのモデル読み込み | モデルのキャッシュにはローカル SSD |
| : : に時間がかかります : を使用し、イメージを事前に : | ||
| : : : プルします : |