検索
連載

あまり知られていないFacebookの機械学習ツール「FBLearner Flow」とは「The Next Platform」で読むグローバルITトレンド(5)(2/2 ページ)

機械学習フレームワークでは、GoogleのTensorFlowが人気を博しているが、Facebookは「FBLearner Flow」というツールを自社開発し、同社エンジニアの4分の1が使っているという。このツールは、業界に大きな影響を与える可能性を秘めている。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

FBLearner Flowの実力

 FBLearner Flowプラットフォームのもう1つの重要な側面は、さまざまな機械学習技術を採用したワークフローをサポートすることだ。これらの技術にはニューラルネットワーク、Gradient Boosted Decision Trees(GBDT)、LambdaMART、確率的勾配降下法(Stochastic Gradient Descent:SGD)、ロジスティック回帰などが含まれる。

 同様に重要な側面は、こうしたモデル訓練ツールを実行するためのスケーラブルなインフラや本番インフラでAPIの呼び出しによって、Facebookがこうしたモデルをデプロイする方法を統合していることだ。われわれは、FacebookのオープンソースGPUプラットフォーム「Big Sur」(Open Compute Projectに寄贈されている)が、FBLearner Flowの訓練ハードウェアの大きな部分を占めるのではないかと見ている。だが、これについてFacebookは何も言及していない。

 ダン氏が明言しているのは、FBLearner Flowプラットフォームが開発されて以来、スケーリングによって同時に数千の実験を実行でき、100万以上のモデルが訓練されたということだ。こうしたモデルを使用するバックエンドの本番用予測システム(おそらく、CPUやNVIDIAのローエンドGPUアクセラレータ「Tesla M4」を搭載したシステムが組み合わされ、写真認識、音声テキスト変換などのアルゴリズムを処理するための完成したルーティンを実行する)は現在、本番で稼働しているFacebookの4つのデータセンター全体で毎秒600万回の予測を行っている。

 このFBLearner Flow機械学習トレーニングシステムの作業規模を例示するため、2016年4月、ダン氏は数千台のマシンのクラスタが、50万以上のユニークワークフローを実行できたと述べている(これは特定のアルゴリズムやデータセットを使った機械学習のトレーニングだった)。

 FBLearner Flowシステムは日々、Facebookのアプリケーションスタックなどの数兆のデータポイントからデータを取り込み、数千のモデルをトレーニングし(トレーニングは必要に応じてオフラインでもリアルタイムでも可能)、完成したアルゴリズムをFacebookの本番サーバ群にデプロイしている。これは本稿執筆時点で数十万台規模だろう(50万台くらい、つまりGoogle、Microsoft、Amazon Web Servicesの半分程度かもしれない)。

機械学習はスケーリングが難しい

 だが、これだけ大規模なシステムを使用しても、機械学習は単一ノードを超えるとあまりうまくスケーリングしない。数ノード以上になるとパフォーマンスがかなり悪化する。そのため、トレーニングセッションの一部は、完了までに何日もかかることがある。

 ハイパースケールデータセンターを運営し、機械学習を高速化するためにGPUの大口ユーザーとなっているFacebook、Google、Baiduといった企業が、NVIDIA Pascalアーキテクチャに基づく新しい「Tesla P100」アクセラレータとその「NVLink」インターコネクトの導入に熱心な一因はそこにある。これらは、従来のNVIDIA Maxwellアーキテクチャに基づく「Tesla M40」カードと比べて、機械学習のパフォーマンスが12倍に向上している。

 「われわれは、こうした実験の効率を高めることに力を入れている。このプラットフォームが需要の拡大に対応してスケーリングできるようにするとともに、実行レイテンシを最小限に抑えるためだ。さらにわれわれは、ソースデータの存在する場所で処理を実行できるように、データローカリティに関する新しいソリューションを探っている。また、リソース要件についての理解の向上により、各マシンにできるだけ多くの実験を集約できるようになっている」(ダン氏)

 Facebookは、FBLearner Flowのオーバーレイとして「AutoML」も開発済みだ。同社は、AutoMLについては「サーバ群のアイドルサイクルを利用して機械学習モデルを改良できる」ということ以外はほとんど公表していない。Wiredの記事は、AutoMLの機能がもう少し多岐にわたることを示唆している。記事によると、AutoMLは処理前にデータセットを自動的にクリーニングする他、エンジニアがFBLearner Flow自体のAIを利用して機械学習訓練モデルを最適化できるよう支援するという。

 Facebookでは、Applied Machine LearningチームがAIの本番運用に関わる仕事を担当している。総勢150人の同チームは、FBLearner Flowの開発と機械学習ワークフローのメンテナンスを行っている。だが将来、AIがAIを駆動するようになれば、これほどの人数は要らなくなるかもしれない。

 もちろん、Facebookにはサイトを見て回り広告をチェックする社員が必要だ。人員が完全に不要になることはない。

 いずれにしても、FacebookがFBLearner Flowをオープンソースとして公開したらどうなるか見ものだ。TensorFlowなどのオープンソース機械学習フレームワークと、どのように共存していくのだろうか。

出典:Facebook Flow Is An AI Factory Of The Future(The Next Platform)

筆者  Timothy Prickett Morgan

IT industry analyst, editor, journalist


Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
[an error occurred while processing this directive]
ページトップに戻る