TonY – HadoopクラスタでTensorFlowをネイティブサポートするフレームワーク

LinkedInが新たなマシンラーニングフレームワークをオープンソース(Apache License 2.0)でリリースしました。「TonY – TensorFlow on YARN」、TensorFlowをApache Hadoopクラスタ上でネイティブにサポートするライブラリです。すでにGitHub上にプロジェクトが公開されています。

【LinkedIn】Open Sourcing TonY: Native Support of TensorFlow on Hadoop

【GitHub】TensorFlow on YARN (TonY) is a framework to natively run TensorFlow on Apache Hadoop

LinkedInのAIエンジニアたちはこれまで、比較的小さなベアメタルクラスタ上でTensorFlowを動かしてきたのですが、モデリングのスピードや精度を上げるためには同社のビッグデータプラットフォームであるHadoopクラスタに接続し、その膨大なコンピュート&ストレージパワーを有効活用する必要があると判断、Hadoopクラスタ上でTensorFlowをネイティブサポートしようと試みた結果、プロジェクトとしてTonYが誕生しました。

TensorFlowユーザはTonYにより、Hadoopクラスタ上のメモリやGPUといったリソースをエンドツーエンドで割り当てられ、ジョブを実行することになります。GPUスケジューリングやTensorFlowプログラムをデバッグ/最適化するツール「TensorBoard」のサポートもあるとのこと。実は、既存のオープンソースプロジェクト(Intel主導)に「TennsorFlowOnYarn」という非常に似た名前のソリューションが存在していましたが、現在ではほとんどメンテされておらず、ユーザビリティも貧弱で、LinkedInのニーズを満たすには至らず、また、Apache Spark上でTensorFlowをサポートするYahoo!主導の「TensorFlowOnSpark」も、名前の通りSparkに特化しているため、GPUスケジューリングとヘテロジニアスなコンテナのスケジューリングの両方に難があり、やはりLinkedInの求めるレベルになかったようです。

既存のプロダクトでダメなら自分たちで作ってしまおう、といういつものLinkedInならではのアプローチではありますが、これからニーズが高まるであろうAI環境のスケーリングという意味でも興味深いプロジェクトだといえそうです。