Google Cloud Platform

Kubernetes Engine の GPU サービスをベータ リリース

Google は昨年、Google Kubernetes Engine で GPU を利用できるようにする初の試みとして、アルファ クラスタで NVIDIA Tesla GPU をサポートするように Kubernetes Engine をアップデートし、お客様から大変な好評をいただきました。そしてこのほど、Kubernetes Engine の最新リリースで GPU サービスをベータ版へと移行し、GPU を広く利用できるようにしました。

Kubernetes Engine で GPU を使用すれば、機械学習(ML)や画像処理、財務モデリングのようなコンピュート集約型アプリケーションのパフォーマンスを高めることが可能です。CUDA ワークロードをコンテナにパッケージ化することで、Kubernetes Engine GPU の強力な処理能力の恩恵を必要なときに享受できます。その際、ハードウェアや VM を管理する必要はありません。

Google Cloud にはクラス最高の CPU、GPU、TPU(最近追加されました)が用意されており、クラウドでの ML ワークロードの実行に最適な選択肢、柔軟性、パフォーマンスを提供します。たとえば、ライドシェアのパイオニアである Lyft は、Kubernetes Engine で GPU を利用して、ディープ ラーニング モデルのトレーニングを高速化しています。

Kubernetes Engine クラスタはディープ ラーニングのワークロードにうってつけです。あらかじめ GPU が統合されており、トレーニング ワークロードの急激な変化に応じてクラスタの自動スケーリングが行われ、統合されたコンテナ ロギングおよびモニタリング機能も利用できます。Luc Vincent 氏、Lyft のエンジニアリング担当バイス プレジデント

Kubernetes Engine では現在、NVIDIA Tesla P100 および K80 GPU がベータ リリースされており、V100 についてもベータ版の提供に向けて準備が進んでいます。また最近では、お客様に新たな機会を提供するためにプリエンプティブル GPU が新たに導入されたほか、GPU の料金も値下げされました。GPU の最新の料金はこちらをご覧ください。

Kubernetes Engine で GPU を使用する

GPU を使用するクラスタを Kubernetes Engine で作成するのは簡単です。Cloud Console から “Creating Kubernetes Cluster” ページにアクセスし、マシン タイプのボックスを展開して GPU のタイプと数を選択します。

gpu-gke-4u3wo.png

GPU を使用するノードを既存クラスタに追加したい場合は、ノード プールクラスタ オートスケーラの両機能を利用できます。GPU を使用するノード プールを利用すれば、クラスタはいつでも必要なときに GPU を使用できます。一方、クラスタ オートスケーラは、GPU を要求するポッドがスケジュールされるたびに、GPU を使用するノードを自動的に作成し、アクティブ ポッドで GPU が使用されなくなると、こうしたノード数をゼロにスケールダウンします。

次のコマンドを実行すると、GPU を備えたノード プール(0~5 ノードにスケーリング可能)が作成されます。

  gcloud beta container node-pools create my-gpu-node-pool 
--accelerator=type=nvidia-tesla-p100,count=1 
--cluster=my-existing-cluster --num-nodes 2 
--min-nodes 0 --max-nodes 5 --enable-autoscaling

舞台裏では、テイントと容認(taint and toleration)という機能を利用して、GPU を要求するポッドだけが、GPU を使用するノードにスケジュールされるようにし、GPU を要求しないポッドがそうしたノードで動作するのを防ぎます。

Kubernetes Engine はバックグラウンドで多くの作業を行いますが、GPU ジョブの実行状況をお客様の側で把握することも可能です。GPU を使用するコンテナのメトリクス(指標)を Kubernetes Engine が出力するからです。その中には、GPU のビジー度、使用可能なメモリ量、割り当て済みのメモリ量などが含まれます。これらのメトリクスは、Stackdriver を使って可視化することができます。

gpu-gke-2mvf1.png
図 1. 3 つの異なるジョブの GPU デューティ サイクル

Kubernetes Engine の GPU サービスの詳細、たとえば、NVIDIA ドライバのインストールや、GPU を使用するようにポッドを構成する方法などについては、こちらのドキュメントをご覧ください。

新しいワークロードを Kubernetes で

2017 年、Kubernetes Engine のコア時間は前年比で 9 倍に増加し、ML ワークロードの優れたデプロイ プラットフォームとして大きく躍進しました。ML スタックを Kubernetes で簡単かつ高速、拡張性の高い方法で実行できるようにする Kubeflow のような非常にエキサイティングなオープンソース プロジェクトも登場しています。こうしたオープンソースと Kubernetes Engine の GPU との組み合わせが、お客様のビジネスやエンジニアリング、科学のイノベーションに役立つことを私たちは願っています。

今すぐお試しを!

300 ドル分の無料クレジットが使える無料トライアルで Kubernetes Engine の GPU を使い始めるには、アカウントをアップグレードし、GPU クォータを申し込んで無料クレジットを有効にする必要があります。

お客様のニーズへの的確な対応を目指すロードマップの作成に対して、ご支援とフィードバックをいただき、感謝いたします。これからもご意見やご感想をお寄せいただければ幸いです。Slack の Kubernetes Engine チャンネルをご利用ください。

* この投稿は米国時間 2 月 12 日、Google Kubernetes Engine の Product Manager である Yoshi Tamura によって投稿されたもの(投稿はこちら)の抄訳です。

- By Yoshi Tamura, Product Manager, Google Kubernetes Engine