Apache Hadoop上でTensorFlowを動かす「TonY」

 米Microsoft傘下のLinkedIn開発者は9月12日、Apache Hadoop上でTensorFlowをネイティブに動かすオープンソースプロジェクト「TensorFlow on YARN(TonY)」を発表した。

 TensorFlow on YARN(TonY)は、大規模なApache Hadoop実装上で分散型で機械学習を運用するためにLinkedIn社内で開発されたフレームワーク。単一ノードまたは分散型のTensorFlowトレーニングをHadoopアプリケーションとして動かすことができる。

 開発チームによると、それまで「TensorFlow on Spark」やIntelの「TensorFlowOnYARN」を試したが、信頼性や柔軟性に欠けたため新たに開発することにしたという。TonYでは、リソースネゴシエーションやコンテナ環境設定などのタスク処理を通じてTensorFlowのジョブをMapReduce、Sparkのように扱うことを目指した。分散されたTensorFlowのオーケストレーションのための層であることから、TensorFlowのジョブ実行に干渉がないため、オーバーヘッドもないとしている。

 Gradleを使って構築しており、Client、ApplicationMaster、TaskExecutorの3つのコンポーネントで構成される。これにより、TensorFlowモデルトレーニングコードの提出、クライアントのApplicaionMaster(AM)の設定とYARNクラスタの提出、AMによるリソースネゴシエーション、ユーザーのトレーニングコードの実行などを行うことができる。

 これらに加え、GPUスケジューリング、種類別のリソース要求、TensorFlowプログラムのデバッグ、最適化などを容易にするツールTensorBoardのサポート、フォールトトレランスなどの機能も備える。

 TonYはプロジェクトのWebサイトより入手できる。ライセンスは2条項BSDライセンス。

TensorFlow on YARN(TonY)
https://github.com/linkedin/TonY