BT

InfoQ ホームページ ニュース YahooがTensorFlowOnSparkをオープンソースに

YahooがTensorFlowOnSparkをオープンソースに

ブックマーク

原文(投稿日:2017/03/20)へのリンク

YahooがTensorFlowOnSparkをオープンソース化した。データサイエンティストやエンジニアは、SparkHadoopを動かしているCPU/GPUアーキテクチャ上で、分散トレーニングとモデル提供を行うことができる。彼らの報告によると、このライブラリを使うことで、既存のTensorFlowプログラムを新しいAPIにポーティングすることができ、トレーニングとモデル提供のパフォーマンスが改善されるという。

Yahooはその発表で、TensorFlowOnSparkを開発した動機について、ディープニューラルネットワークをトレーニングするためにSparkデータパイプラインの外部に追加のクラスターを管理することの運用オーバーヘッド、トレーニングクラスター内外のネットワークI/Oバウンドなデータセット転送、望ましくないシステムの複雑さ、全体的なエンドツーエンドの学習レイテンシなどを挙げた。TensorFlowOnSparkの取り組みは、それに先立ってYahooがはじめたCaffeOnSparkの取り組みと似ている。TensorFlowとSparkのインテグレーションという課題に対して、DataBricksのTensorFrameやAmp LabSparkNetといった取り組みがある。Yahooによると、これらは正しい方向に進んでいるが、TensorFlowプロセスが相互に直接コミュニケーションするには不十分だという。Yahooの目標のひとつは、Spark処理パイプライン内に統合できるという点で、SparkSQLMLib、その他コアSparkライブラリと同様に機能するよう、TensorFlowOnSparkを完全にSpark互換のAPIにすることだ。

このアーキテクチャでは、与えられたTensorFlowアルゴリズムとTensorFlowコアをSpark Executor内に配置し、TensorFlowのFile ReaderQueueRunner経由でHDFSデータに直接アクセスできるTensorFlowジョブを提供し、ネットワークI/Oの削減と「計算をデータにする」アプローチを実現している。TensorFlowOnSparkは、executorのポート予約/リスニングのためのセマンティックス、データおよび制御関数のメッセージポーリング、TensorFlowのメインファンクション起動、データ取り込み、HDFSから直接読み込むためのReaderとQueueRunnerの仕組み、feed_dictによるTensorFlowへのSpark RDDフィード、シャットダウンをサポートする。

TensorFlowOnSparkに加えて、Yahooは独自のforkでコアのTensorFlow C++エンジンを拡張しInfiniband上でRDMAを実現している。これはメインのTensorFlowプロジェクトで要求され、議論を生んでいる機能だ。YahooのAndy Feng氏は、gRPCベースのプロセス間通信上でRDMAを使うことで、様々なネットワークにおけるトレーニング速度が10から200%改善されたと述べている。

 
 

Rate this Article

Relevance
Style
 
 

この記事に星をつける

おすすめ度
スタイル

特集コンテンツ一覧

C# 8の非同期ストリーム

Bassam Alugili 2018年10月11日 午前3時13分

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

BT

あなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。

Eメールを変更すると確認のメールが配信されます。

会社名:
役職:
組織規模:
国:
都道府県:
新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。