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