読者の皆様へ: あなたのリクエストに応じて、大切な情報を見逃すことなく、ノイズを減らす機能を開発しました。お気に入りのトピックを選択して、メールとウェブで通知をもらいましょう。
Daniel Whitenack氏は先日のKubeCon + CloudNativeCon North America 2017 Conferenceで、TensorFlowとKubernetesテクノロジを使用した、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チャネルを覘いてみるとよいだろう。
この記事を評価
- 編集者評
- 編集長アクション