YahooがTensorFlowをApache Sparkで高度なスケーラビリティへアップ

Servers in Data Center

Apache Sparkの模範市民Yahooはかつて、CaffeによるディープラーニングモデルのスケーラビリティをSparkの並列処理で高めるフレームワーク、CaffeOnSparkを開発した。そしてそのYahooが今回は、TensorFlowOnSparkと呼ばれるプロジェクトをオープンソースで公開した。今度のそれは、SparkとTensorFlowを組み合わせることによって、大規模なクラスターで動くディープラーニングモデルを作るデベロッパーにとってTensorFlowフレームワークを、より魅力的にするものだ〔==TensorFlowのスケーラビリティを高める〕。

ビッグデータ時代の人気者になったApache Sparkは、効率の高い並列処理を可能にするオープンソースのフレームワークだ。Hadoopのようなシステムを追う形で出てきたSparkは、たとえばNetflixのような企業における大量のユーザーデータの処理を支え、リコメンデーションのスケールアップを可能にしている。

GoogleのTensorFlowやCaffeのような機械学習のフレームワークの登場によって、機械学習の専門知識のない者でもディープラーニングのモデルを作れるようになった。抽象度の高いライブラリがオープンソースで存在するからデベロッパーは、車輪を再発明する苦労から解放されて、いきなりモデルそのものを作ることができる。

ビッグデータの処理を高効率なクラスタリング並列処理で支えるSparkは、機械学習、中でもディープラーニングが必要とする膨大な量の、そして高速であることを要する、データ処理にも向いている。Yahooは自社で利用するためにCaffeOnSparkを作ったが、Caffe用のツールは機械学習のコミュニティのごく一部にとってしか恩恵がない。それに対して、人気がすごく高いフレームワークがTensorFlowだ(下図)。そこでYahooは、ディープラーニングのための大量高速データ処理をSparkにやらせるその処理枠組みを、TensorFlowに移植し、コミュニティの尊敬をかちとることを目指した。

YahooはTensorFlowとSparkのあいだに橋をかけるために、既存のツールSparkNetやTensorFrameを参考にしたが、最終的には一から自分で作る方が良い、と結論した。その結果デベロッパーは、自分の既存のTensorFlowプログラムを比較的簡単に、TensorFlowOnSparkを使うよう改造できる。

ディープラーニングのフレームワークは、デベロッパーたちが特定の“部族”に凝り固まる傾向がある。たとえばJavaで書かれたSkymindのDeeplearning4jは、最初からSparkを統合しているオープンソースのフレームワークだが、このライブラリの人気は6位と低い。そして他方には、複数種類のGPUにまたがるスケーラビリティを誇るMXNetがある。その特長がAmazonの関心をとらえ、AWSの努力によりMxNetはApacheのインキュベータに加入した

TensorFlowOnSparkはオープンソースだが、Yahoo自身による改良努力は今後も続く。入手は、YahooのGitHubから可能だ。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))

投稿者:

TechCrunch Japan

TechCrunchは2005年にシリコンバレーでスタートし、スタートアップ企業の紹介やインターネットの新しいプロダクトのレビュー、そして業界の重要なニュースを扱うテクノロジーメディアとして成長してきました。現在、米国を始め、欧州、アジア地域のテクノロジー業界の話題をカバーしています。そして、米国では2010年9月に世界的なオンラインメディア企業のAOLの傘下となりその運営が続けられています。 日本では2006年6月から翻訳版となるTechCrunch Japanが産声を上げてスタートしています。その後、日本でのオリジナル記事の投稿やイベントなどを開催しています。なお、TechCrunch Japanも2011年4月1日より米国と同様に米AOLの日本法人AOLオンライン・ジャパンにより運営されています。