mcpField
G
gke-inference

gke-inference

github.com/googleクラウド・DevOps21.6k7.0k 回インストール今日更新
リポジトリ

gke-inference について

gke-inference は、GKE に AI/ML 推論ワークロードをデプロイするチーム向けのスキルです。ハードウェア選定、マニフェスト生成、自動スケーリング、推論の調整を扱います。

主な機能

  1. 01対応モデルとアクセラレータの組み合わせ検索
  2. 02Kubernetes 推論マニフェストの生成
  3. 03GPU または TPU アクセラレータの選択
  4. 04LLM 推論の自動スケーリング設定
  5. 05量子化、バッチ処理、並列度の調整

活用シーン

  1. 01GKE への Llama、Gemma、Mistral のデプロイ
  2. 02モデルサービング用 Kubernetes 設定の生成
  3. 03レイテンシ目標に応じた推論ハードウェア選定
  4. 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 によりサポートされています)
  • gcloud CLI の認証済み環境
  • 対象リージョンで十分な 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(GraceMassive最高
: : 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"
推論のオートスケーリングに関するベストプラクティス
  1. DCGM メトリクスを使用する:Golden path では、GPU 使用率メトリクスの DCGM モニタリングが有効になります
  2. 適切な minReplicas を設定する:常時稼働のサービングでは少なくとも 1 に、バッチ処理やオンデマンドでは 0 に設定します
  3. スケールダウンの遅延を調整する:LLM モデルの読み込みには時間がかかるため、長めの安定化期間を設定します
  4. キューの深さを考慮する:レイテンシーに敏感なワークロードでは、GPU 使用率だけでなく、保留中のリクエスト数に基づいてスケーリングします

最適化のヒント

  • 量子化:量子化モデル(GPTQ、AWQ)を使用して GPU メモリを削減し、スループットを高めます
  • バッチ処理:スループットとレイテンシーのトレードオフを考慮して、モデルサーバーのバッチサイズを設定します
  • テンソル並列化:大規模モデルをノード内の複数の GPU に分割します
  • KV キャッシュの最適化:KV キャッシュの割り当てについて、vLLM の --gpu-memory-utilization を調整します

トラブルシューティング

問題原因対処
無効な未対応のタプル`gcloud container ai
: model/accelerator : : profiles list :
: combination : : --model=` を再実行します
GPU クォータ超過リージョンのクォータ制限クォータの増加をリクエストするか、
: : : 別のリージョンを試します :
GPU のメモリ不足アクセラレーターに対してより大きな GPU を使用し、
: : モデルが大きすぎます : 量子化を有効にするか、テンソル :
: : : 並列処理を使用します :
コールドスタートが遅いレジストリからのモデル読み込みモデルのキャッシュにはローカル SSD
: : に時間がかかります : を使用し、イメージを事前に :
: : : プルします :

コメント