ソフトウェア

Twitterが機械学習用ライブラリをTensorFlowに移行しようとしている理由とは?


Twitterはユーザーに合わせたコンテンツを表示するため、機械学習を使用してサービスの改善に取組んでいます。記事作成時点で、Twitterは機械学習にTorchを使用していますが、2017年の夏頃からGoogleが開発したTensorFlowに移行する取り組みを行っています。TensorFlowに移行することで得られるメリットについて、Twitterのソフトウェアエンジニアであるニコラス・レオナール氏とシベーリ・モンテス・ハラース氏が説明しています。

Twitter meets TensorFlow
https://blog.twitter.com/engineering/en_us/topics/insights/2018/twittertensorflow.html

Twitterは2014年にディープラーニングを使用した画像検索やデータベース構築に取り組むMadbitsを買収し、同社にディープラーニングを扱う部署「Cortex」を立ち上げました。

Cortex立ち上げ後、Twitter社内では機械学習が徐々に浸透していくことになるのですが、チームによって使用する機械学習ライブラリが異なるなど統制が取れていませんでした。そこで、2016年中ごろからCortexはTwitter社内で開発の統制を取るため、社内共通で使用する機械学習プラットフォームの開発を開始。この結果、Lua言語で記述されたTorchベースのDeepBirdが生まれ、サービスの改善などに大きな効果をもたらしたそうです。


しかし、2017年になると、Torchの開発コミュニティが開発言語をPythonに移したことで、Lua言語のTorchサポートがなくなってしまいます。そこで、CortexはPython版のTorchであるPyTorchか、TensorFlowのどちらに移行するか評価を実施。数多くの議論を重ねた結果、CortexはTensorFlowに移行することに決めました。

CortexがTensorFlowを採用することに至った主な理由は、TensorFlowが提供する開発者向けサポートです。TensorFlowには、大規模データ用の分散処理フレームワークApache Hadoopのファイルシステム「HDFS」をサポートしており、大規模な開発コミュニティと多くのドキュメントもあります。これ以外にデバッグツールとして活用できるTensorBoardもあり、開発効率を高めることが可能になります。


これらを踏まえ、TensorFlowを採用したCortexは、TensorFlowベースのDeepBird2の開発に着手。当然ながら、Deepbird2の開発はスムーズにはいかないもので、TorchとTensorFlowの実装上の違いから生じる問題による処理パフォーマンスの低下など、さまざまな問題にぶつかることになりました。

なんとか、これらの問題を全て解決したCortexは社内のエンジニアにDeepBird2を普及するため、2018年6月時点ではドキュメント作成を行っているているとのこと。今後数カ月ほどでTwitterのサービスにDeepbird2が適用される見込みであり、適用後はタイムライン表示などの改善などに努めていくとしています。

この記事のタイトルとURLをコピーする

・関連記事
Googleのオープンソース機械学習システム「TensorFlow」はどのように活用されているのか? - GIGAZINE

ブラウザで機械学習が実行できるようになる「TensorFlow.js」が登場 - GIGAZINE

コンピューターが人間を超える「AI」「ディープラーニング」「機械学習」とは何かについて解説する「Machine Learning 101」 - GIGAZINE

Googleの開発者が作った3時間でディープラーニング(深層学習)をスライドとムービーで学べる集中レッスン - GIGAZINE

「アイドルの顔画像ジェネレーター」をGoogleの機械学習システム「TensorFlow」を応用して開発した人が現る - GIGAZINE

in ソフトウェア,   ネットサービス, Posted by darkhorse_log

You can read the machine translated English article here.