BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース TensorFlowとKubernetesでGPUを利用したワークフローを構築する

TensorFlowとKubernetesでGPUを利用したワークフローを構築する

原文(投稿日:2018/01/04)へのリンク

読者の皆様へ: あなたのリクエストに応じて、大切な情報を見逃すことなく、ノイズを減らす機能を開発しました。お気に入りのトピックを選択して、メールとウェブで通知をもらいましょう

Daniel Whitenack氏は先日のKubeCon + CloudNativeCon North America 2017 Conferenceで、TensorFlowKubernetesテクノロジを使用した、GPUベースのディープラーニングワークフローについて講演した。

氏の講演は、オブジェクト検出を例とした、典型的な人工知能(AI)ワークフローの議論から始まった。このワークフローには、プリプロセス、モデルトレーニング、モデル生成、最後のモデル推論までのステップが含まれている。AI/MLワークフローのステージはすべて、Dockerコンテナ上での実行が可能だ。

モデルトレーニングは通常、TensorflowやCaffeのようなフレームワークを使って行われる。このステージはまた、GPUがパフォーマンス面での役割を果たす場所でもある。TensorFlowあるいは他のフレームワークを利用したディープラーニングワークフローで、イメージデータ上でモデルを効果的にトレーニングするためにはGPUが必要だ。

モデルトレーニングプログラムは、 Kubernetesクラスタを使ってGPUノード上で動作する。Kubernetesはプラットフォーム上で動作する複数のGPUノードに対して、優れたフレームワークを提供する。ワークフロープロセスをうまく機能させるには、以下のステップに従う。

  • 正しいデータを適切なコード(ポッド)が取得する
  • 適切なノード上でデータを処理する
  • 正しいタイミングで適切なコードをトリガする

どのバージョンのコードとデータを実行して、どの結果が得られたのかを(デバッグや保守、コンプライアンスの目的で)追跡するためにも使用できる。

Kubernetesがこれらすべての基盤を提供する。その移植性と拡張性は、マシンラーニングプロジェクトに最適だ。

続いてWhitenack氏は、Pachydermという名称の、Kubernetesでデータパイプラインとデータ管理をサポートするオープンソースプロジェクトについて論じた。ワークフローには通常、複数のステージからなるデータの前処理および後処理用のジョブが含まれている。Pachydermでは、マルチステージのワークフローのスケジューリング、データ管理、ワークロードのGPUへのオフロードなどを統合するフレームワークを提供する。

氏は次に、Pachydermフレームワークの以下の機能について説明した。

  • データのバージョニング: Amazon S3データベースのように、バージョン付番されたデータをオブジェクトストアにストアできる。
  • 分析用コンテナ
  • データ処理用の分散型パイプライン、あるいはDAG
  • データの起源: コンプライアンスとデバッグに有効

Whitenack氏はさらに、PachydermとKubernetesを使ったAIワークフローをデモして見せた。サンプルアプリケーションは、衛星写真を自動的にマップに変換するという、イメージからイメージへの変換のユースケースを実装したもので、モデルトレーニングと推論にTensorFlowを使用している。

Pachydermフレームワークをより詳しく知りたい読者は、マシンラーニングの例開発用ドキュメントKubernetes GPU資料をチェックするか、あるいはStackチャネルを覘いてみるとよいだろう。
 

 
 

この記事を評価

採用ステージ
スタイル
 
 

この記事に星をつける

おすすめ度
スタイル

BT