機械学習ツールキット「Kubeflow 1.0」をGoogleが公開、「Anthos」と組み合わせると何ができるのか自動スケーリングを利用可能

Googleは、オープンソースのKubernetes対応機械学習(ML)ツールキットの正式版「Kubeflow 1.0」を公開し、企業がKubeflowをGoogle Cloudの「Anthos」プラットフォーム上で利用するメリットを紹介した。

» 2020年03月11日 11時00分 公開
[@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 Googleは2020年3月3日(米国時間)、オープンソースのKubernetes対応機械学習(ML)ツールキットの正式版「Kubeflow 1.0」を公開した。同時に、企業がKubeflowをGoogle Cloudの「Anthos」プラットフォーム上で利用するメリットを紹介した。Kubeflowは、Googleが2017年12月に立ち上げたオープンソースプロジェクト。

 MLライフサイクル全体にわたって、企業がオープンソースのデータサイエンスやクラウドネイティブエコシステムを利用して、ソフトウェア開発とMLのインフラを共通化したり、標準化したりする際に、Kubeflowが役立つという。

 Kubeflowは、スケーラブルでポータブルなMLワークロードの開発に加えて、オーケストレーションやデプロイ、実行のためのKubernetesネイティブプラットフォームを提供すると、Googleは説明している。Kubeflowの開発ではコントリビューターコミュニティーの強力なサポートを得たという。

なぜAnthosなのか

 Google CloudのAnthosプラットフォームをKubeflowで用いる理由は何だろうか。

 まず、MLワークフローをハイブリッドまたはマルチクラウド環境で実行できるようになる。同時にGoogle Cloudの「Google Kubernetes Engine」(GKE)が備えるエンタープライズ向けのセキュリティや自動スケーリング、ロギング、アイデンティティー(ID)機能を利用できるからだ。

 Anthosは、ハイブリッドクラウドやマルチクラウド環境に向けたオープンアプリケーションプラットフォームであり、Googleが開発に深く関与したオープンソース技術(Kubernetes、「Istio」「Knative」など)を基盤としている。GKEは、エンタープライズ向けの安全なマネージドKubernetesサービスだ。

 Googleは、Anthos上でKubeflow 1.0を利用するメリットを次のようにより詳しく説明している。

セキュリティの維持に役立つ

 データサイエンティストが生産性を発揮するには、KubeflowダッシュボードやJupyter UI、TensorBoardといったUIに容易にアクセスできる必要がある。同時に安全性も確保されていなければならない。

 KubeflowをAnthosにデプロイすれば、「BeyondCorp」とも呼ばれるGoogle Cloudのゼロトラストアクセスソリューション「Cloud Identity-Aware Proxy」(IAP)を使用して、Kubeflowを保護できる。

 IAPを使うことで、IP(企業ネットワークなど)やデバイス属性(最新版のソフトウェアを適用したものに限るなど)に基づいて、Kubeflowへのアクセスを制限できる。IPとデバイス属性の組み合わせも可能だ。

自動スケーリングを利用可能

 KubeflowをAnthosにデプロイすれば、KubeflowはGKEの自動スケーリングとノードの自動プロビジョニングを利用できる。つまり、ワークロードに基づいて、クラスタを適切なサイズに拡張できる。

 既存のノードプールのリソースが、未処理のワークロードをスケジューリングするのに不十分な場合は、ノードの自動プロビジョニングにより、新しいノードプールを自動的に作成する。例えば、GPUリソースが要求されると、GPUノードプールを自動的に追加する。

 この他、保留中のポッド(Pod)をスケジューリングする十分なキャパシティーがない場合は、自動スケーリングによって、仮想マシン(VM)を既存ノードプールに追加できる。

ログ取得と検索が容易

 GKEはGoogle Cloudの「Cloud Logging」と直接統合されているため、全てのワークロードのログを保存する。検索も容易だ。

 具体的には次のようなクエリを使って、ポッドラベルに基づくフィルタリングを実行し、分散TensorFlowジョブ内のポッドのログを取得できる。

resource.type="k8s_container"
labels."k8s-pod/tf-job-name" = "mnist"
labels."k8s-pod/tf-replica-type" = "worker"
resource.labels.container_name="tensorflow"

 Cloud LoggingとBigQueryを統合すると、性能評価のために必要なメトリクスの収集が容易になる。アプリケーションがJSONエントリーとしてログを出力すると、Pythonコードによってインデックス化が進み、検索可能になる。その後、Cloud Loggingのエクスポート機能を利用して、Cloud StorageやBigQueryにデータを送ることができる。こうして容易に分析が進む。

有用なワークロードID

 KubeflowはAnthos上で「Workload Identity」を使って、GKE上で実行されているAIワークロードとGoogle Cloudサービスをシームレスに統合する。

 Kubeflowのプロファイルコントローラーを使ってKubeflowの名前空間を作成すると、作成した名前空間内のKubernetesサービスアカウントにバインドできるようにGoogle Cloudサービスアカウントを選択できる。

 このKubernetesサービスアカウントを使ってポッドを実行すれば、追加の資格情報がなくても「Cloud Storage」や「BigQuery」のようなGoogle Cloudサービスにアクセスできる。

今後の開発方針は?

 Kubeflowの今後のリリースでは、次のような機能強化を計画している。

  • Anthosを用いたオンプレミスでのMLワークロード実行のサポート
  • Kubeflowコンポーネントの「Katib」や「Batch on GKE」を用いた大規模なハイパーパラメーターチューニングジョブの実行
  • プライベートGKEとGoogle Cloudの「VPC Service Controls」でKubeflowをデプロイすることにより、データ漏えいを防止するソリューションの提供

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。