LINE テクノロジー&エンジニアリング大全

LINEがサービス横断で実現する“データ活用の民主化”

インタビュイー

ML基盤開発担当 フェロー 並川淳
Data Engineering基盤開発担当 フェロー チェ チョルホ
Data Management室 室長 勝山公雄

画像

LINEでは、サービス横断でのデータ活用を実現するための組織として「Data Science and Engineeringセンター」を2019年に立ち上げています。⁠LINE DEVELOPER DAY 2020」では、ML基盤開発担当フェローの並川淳氏が、LINEにおけるデータ活用事例を解説しています。さらにここでは、その並川氏に加え、データ分析のためのプラットフォーム構築に携わるチョルホ氏、そしてデータマネジメント室の勝山公雄氏に、具体的な取り組みなどについて伺いました。

全サービス横断でデータを活用するためにData Science and Engineeringセンターを開設

――LINEにおいてデータ分析が本格的に行われるようになったのはいつからですか。

並川:それ以前からデータ分析は行われていましたが、大きなきっかけとなったのはデータ専門研究開発組織である「Data Labs」を2016年に立ち上げたことです。このように専門組織が立ち上がったことで、データ分析が本格的なスタートを切りました。

チョルホ:LINEのサービスを立ち上げた2011年6月からデータ分析は行っていました。ただ、このときはサービスを開発するソフトウェアエンジニアが、自分が担当するシステムのデータだけを自分なりの方法で分析するレベルに留まっていたんです。こうしたデータ分析に限界を感じたことから、専門の組織や仕組みが必要であるということで、Data Labsが立ち上がりました。

さらに2019年には、⁠Data Science and Engineeringセンター」を開設しています。メッセンジャーやタイムライン、LINE公式アカウント関連のメッセンジャー系と、我々がファミリー系と呼んでいる、それ以外のサービスの分析はそれぞれ別のシステム・基盤で行われていました。ただAIを活用してサービス横断でデータ分析を行うためには、メッセンジャー系とファミリー系の分析システムを統合する必要があると判断し、組織を統合しました。

現在は、さらに組織としての機動性を高めるために、⁠Data Engineeringセンター」「Data Scienceセンター」の2つに分かれています。

――どのような機能を持った組織なのでしょうか。

並川:すべてのデータ分析基盤を担当するData Platform室、そして集まったデータを活用してサービスの向上などを実現するData Labsがあります。また、データを使うためのルールの整備やトレーニングなどを行うのがData Management室です。

データ分析のためのプラットフォーム「Information Universe」

――Data Management室の具体的な業務内容を伺えますか。

勝山:みんながデータを使いたいから使う、やりたいことをやるという形では、どうしてもリスクが広がってしまいます。情報漏えいであったり、あるいは悪意がなくてもミスによってデータを流出させてしまうといったことです。こうした事件が発生すると大きなダメージを被ることになるため、ルールを作って皆さんに守ってもらうという取り組みをしています。

画像

このルールについて、新しく入ってきた人に守ってくださいというのはそれほど難しくないのですが、ルールがなかったところからデータを活用している人たちにとっては、それまでにはなかった足かせができることになるため、少なからず反発はあります。ただ徹底しなければリスクは上がってしまうため、ルールを守っていただけるように、またルールの存在を知ってもらうためにトレーニングを実施しています。

現状は守りが中心ですが、データ活用という攻めの観点でも取り組みを進めています。たとえばとくに新規事業ではベーシックなデータ分析もできていないケースがあるので、そうした部門に対してデータ分析をサポートするようなことを始めています。

また契約関連も我々の守備範囲ですが、これも大変です。たとえば金融サービスが絡むと、契約関連の処理が非常に複雑になります。またEUのGDPR(General Data Protection Regulation:EU一般データ保護規則)やアメリカのカリフォルニア州のCCPA(California Consumer Privacy Act)など、各国・各地域の法規制への対応もにらみながら対応しています。

――LINEで利用しているデータプラットフォームについて教えてください。

チョルホ:データプラットフォームの名称は「IU」⁠Information Universe)で、現時点でサーバ台数は2,500台以上、ストレージサイズは270PB、日々のワークロードは30万を越えています。利用しているのはKubernetesとHadoop、そして分散ストレージであるCephです。

コンピューティングフレームワークとしては、ストリーミング処理にはHive、汎用的に使われているのはSpark、SQLで使いたい場合はHiveなどと使い分けています。これらの分散処理フレームワークはIU上でデータを処理するためだけでなく、サービス側のストレージにデータを提供したり、あるいはサービス側からデータを収集してIUに保存したりする際にも使っています。

データサイエンティストやサービス企画者がインサイトを得るために、あるいは機械学習エンジニアがモデルを開発することを目的として、Tableauなどの分析環境も提供しています。

各サービスのデータの収集はストリーミングの場合もあればバッチで取得するケースもあります。これらのデータは整形されて、サービスごとの差異を吸収し、横断的に利用できるように格納されています。また機械学習にはユーザーの行動ログとコンテンツの情報の両方が必要なため、それぞれを連携して利用できる形で保存しているほか、ディープラーニングなどで使いやすいように、特徴量を埋め込んだベクトルに変換したデータも提供しています。

得られた特徴量はコンテンツの推薦やクラス分類、CT予測のようなタスクに利用されていて、各々のサービスに反映されています。また、サービス側は自らのサービス以外のデータを使った機械学習の結果を得ることも可能です。

機械学習の最新トレンドも積極的にキャッチアップ

――IUの構築や運用において意識していることはありますか。

チョルホ:もっとも重要だと考えているのは、これはLINEの魂でもあるのですが、絶対にオフラインでメンテナンスは行わないことです。メンテナンスのためにシステムをダウンさせることなく、オンラインの状態でアップグレードやバックアップなどの作業を行います。このように、サービスの可用性は極めて重要な要素となっています。

画像

また扱うデータ量が膨大であるため、同じプロダクトを使っているほかのケースとは異なるノウハウやテクニックが必要になります。IUではHadoopやSparkなどオープンソースのプロダクトを数多く利用していますが、単に使うだけでなく、その中身もきちんと理解し、必要であれば我々自身がコードを修正し、安定運用につなげています。なお修正したコードはコミットし、プロジェクトにも貢献しています。

――機械学習やデータ分析で使われるテクノロジーやプロダクトの選定はどのように行われるのでしょうか。

並川:画像の解析やクリックレートの予測、あるいはレコメンデーションなど、さまざまなタイプの機械学習の要件があり、その種類によって機械学習のモデルやアルゴリズム、手法は異なります。この要件に合わせて最適なものを探し、また内部で研究開発しているものでマッチするものがあれば、それを基準に検討していくことになります。その後、それを動かすためのオープンソースのプロダクト、あるいは内製で研究開発しているものを使うといった流れになります。

――とくに機械学習は世界中で研究開発が積極的に進められていますが、それにはどのように対応しているのでしょうか。

並川:AI系の国際学会であるNeurIPSなどに出席しているほか、各基調の状況などもキャッチアップしています。その中で魅力的なものがあれば適用していくわけですが、その際にあまり作り込んでしまうと、最新のものが出てゲームチェンジしたときに対応が遅れる可能性があります。これは将来的にも使われ続けると判断できれば最適に作り込みますが、そうでなければ少し遊びを待たせた形で開発するケースもあります。

チョルホ:昨今の機械学習のトレンドの移り変わりは非常に早く、新しいテクノロジーに対して大きなニーズがあります。当然インフラもそれに追従することが求められるわけですが、一方でIUはレガシーなテクノロジーも多く使っていて、それをすぐに変えるのは容易ではありません。

ただ機械学習やデータサイエンティストのチームから要望があれば、できるだけ対応することを意識しています。トレンドに追従できなければ人材採用の観点でも不利になりますし、ひいては機械学習の世界で競合に遅れを取ることにもなりかねないためです。今後もグローバルのトレンドをきちんとキャッチアップし、プラットフォームを進化させていきたいと考えています。

機械学習のための統合プラットフォームの開発も進行中

――機械学習のためのプラットフォームを構築するというお話も伺いました。

並川:はい、IUの上で機械学習のプラットフォームを統一し、機械学習エンジニアやデータサイエンティストが、より快適にすばやく成果を出せる環境を作ることを目標にしています。

画像

これまでの取り組みを通じて、データ分析基盤が統一されていることの利便性を感じており、同様に機械学習においても統一したいと考えています。それによって、機械学習のエンジニアがどこの組織に移っても同様に便利な機能が使えるという状況を実現できると思っています。

このプラットフォームはMLU(ML Universe)と呼んでいます。主要なコンポーネントとしては、OCRやオブジェクトコレクションなど、世間ではAIと呼ばれるケースが多い機能をAPIで提供するサービスに利用するDeepPocketや、統合的な開発環境に対し、モデルのデプロイまでをサポートすることを目指したプラットフォームであるJutopiaなどがあります。

またIUクラスタとつながることを前提に設計したKubernetesクラスタであるDatagroundもあります。普段、機械学習のタスクはKubernetesで動かすことが多く、またデータはIUのものを用いています。そこでKubernetesクラスタからUIのデータを使うためのインフラ部分をDatagroundで実現しようとしています。

機械学習用の分散処理ライブラリとして、Masalaも提供します。IUには非常に大きなデータが存在するため、エンジニアはそれらを効率的に扱う必要があります。しかし機械学習のエンジニアや研究者が、個別に並列計算のためのロジックを書くのは非常にコストが高くなります。そこで分散処理の部分をライブラリ化し、並列計算が容易に行えることを目指してMasalaを開発しています。

チョルホ:MLUは機械学習のエンジニアのためのプラットフォームですが、それ以外のユーザーにとっても重要なものになると考えています。機械学習のエンジニアが活用した結果、その成果物としてモデルやデータなどが生まれます。そのモデルがどういったものであり、その結果どのようなベネフィットが生まれるのか、そういったことを可視化し、経営レベルで判断できるようにしておく必要があります。そのため、MLエンジニアだけでなく、それ以外の人たちでも機械学習のメリットを享受できるプラットフォームにしていきたいと思っています。

MLU(ML Universe)の構成
MLU(ML Universe)の構成
――最後に、今後の取り組みについて教えてください。

並川:まずMLUの開発を進めていきます。先ほどのチョルホの話につながりますが、機械学習のエンジニアだけが機械学習を分かっていて、その人たちが成果を出すというだけでなく、経営やプランナー、エンジニアなどさまざまな立場の人が機械学習について理解できる、何か面白いアイデアがあれば機械学習のエンジニアでなくてもMLUを使ってサービスを改善できるような世界を目指していきたいですね。

勝山:我々の組織のミッションにデータの民主化という言葉がありますが、それを我々はデータ活用の民主化と置き換えています。いろんな事業の人たちがデータを分析できる、あるいはデータを活用できる、そういった世界を創っていきたいという思いがあり、それを後押しする組織にしていきたいと考えています。

私がリードしている Data Management室は、データ利用に際してのルールを整備するなど守りの側面もありますが、一方でデータ活用を進めていくには攻めも必要です。守りばかりをやっていてもだめで、やはり攻めてこそ意味がある。優先しているのは攻めであり、危ないところだけを守る、そういった考え方で今後の取り組みを進めていきたいと思っています。

チョルホ:IUは主にデータ分析と機械学習のためのシステムとして存在しているのですが、これをもっと一般的なデータプロセッシングのシステムとしていきたいと考えています。つまり分析の観点だけでなく、データが生成されて、それを処理して結果をデリバリーする、その一連の処理をサポートしていくことを考えています。

またガートナーが発信したHTAP(Hybrid Transaction and Analytical Processing)と呼ばれるコンセプトでは、OLTPとOLAPを1つのシステムで実現できるデータベースがこれからは必要であるとしています。IUはまさにそういったシステムになっていきたい。そのために、Hadoopのみではなく、さまざまな分散データベースを活用し、それぞれのワークロードに合わせて使い分ける、そういった形を見据えて研究開発に取り組んでいます。

最終的には、LINEのすべての社員が積極的にデータを活用するデータコミュニティとして活動できるプラットフォームを実現していきます。

――本日はありがとうございました。

おすすめ記事

記事・ニュース一覧