「Machine Learning Solution1チーム」のミッション

久保慶伍氏(以下、久保):Machine Learning Solution1チームのマネージャーをしている久保と申します。ここでは、簡単にMachine Learning Solution1チームの紹介をします。

まず私たちのチームのミッションですが、「機械学習を用いたサービスの競争力強化」を掲げていまして、1つが推薦システムなどのサービスに導入する機械学習システムの構築と継続的改善を行うこと、2つ目が提供する機械学習システムの有効活用を提案することです。

単純にモデルの精度を改善していくだけでなく、そのサービスにおいて機械学習の価値が最大になるように活用方法を提案していくこともします。

「Machine Learning Solution1チーム」の業務

ここで、私たちが行なっている業務を一部紹介したいと思います。主に行なっているのが、推薦システムの開発です。LINEにはたくさんのサービスがありますし、さまざまな特徴量があり、さまざまな枠があります。これだけ多いと、求められるのは「パフォーマンスが出るモデルである」という制約条件のもと、どれだけコストを抑えられるかを考えています。

パフォーマンスの悪いモデルを大量生産できたところで、価値がないどころかテストにかかる時間や人材にコストがかかってしまって、むしろマイナスになってしまうので、品質を担保しつつ、ABテストの結果が悪くても次のステップにつなげられるような知見が得られるようにする必要があります。

そこでmasalaというものを開発していまして、yaml駆動型のMLタスクコレクションなんですが、データセットの構築から自動チューニングまで、それぞれコード化されたタスクをyaml1つで実現できます。

これにより、大量にあるデータの特徴量を有効活用しつつ、自動チューニングで選び、サービスごとのABテストの結果と相関がある知見などを多種多様な指標やデモで見つけて、その相関をうまく使って次のABテストに活かしていくようなことをしていきます。詳しくはLINE DEVELOPER DAY 2020で発表しているので、そちらを参照していただければと思います。

続きまして、レコメンド以外で行なっている私たちの業務として、画像の自動タグ付けや、オンラインで状況が変わる中での需要予測や所要時間予測、またタスクを自動的に最適な人に割り当てる最適化などにも取り組んでいます。こういう機械学習に関しては、サービス側からの依頼であったり、私たちからの提案によって、新しく取り組んだりすることが多いです。

「Machine Learning Solution1チーム」に必要な人材

私たちのチームに必要なスキルセットは、全部でなくてもいいのですが、「ドメイン知識獲得能力」「機械学習の深い知識」「設計・実装能力」が挙げられます。

特に「ドメイン知識獲得能力」は重要で、プロジェクトに1人のPMと1人のMLエンジニアがアサインされることが多いのですが、サービス側とのミーティング時に、必要な情報を担当者やサービス側の開発者から聞き出して、また独自に調査を行なったりして機械学習の有効活用を探れる必要があります。

募集したい人材は、機械学習でサービスの競争力を高め、サービスの成功に貢献することに意欲がある方や、推薦システムやオンライン需要予測、所要時間予想、地理空間関連の機械学習に詳しい方。またデータ量が多いので、大量のデータを効率的に扱える方を募集しています。

Machine Learning Solution1チームの紹介は以上になります。ありがとうございました。

「Machine Learning Solution2チーム」のミッション

吉永:では、Machine Learning Solution2チームの紹介を始めたいと思います。チームのマネージャーをしている吉永といいます。よろしくお願いします。

本日の内容は、まずチームのミッションを説明した上で、そのミッションに紐づく案件をいくつか紹介します。そして、典型的な働き方の紹介と、それに紐づくスキルセットやマインドセットの紹介をしたいなと思っています。よろしくお願いします。

Machine Learning Solutionと名前のつく2チームは、機械学習のアプリケーションに責任を持つチームになります。その中で、Machine Learning Solution2チームは、こちらに書いてあるような3つの項目のミッションを掲げています。

まず機械学習のアプリケーションを通じて、LINEのさまざまなサービス価値の源泉の向上に貢献しています。さらに、よい案件の横展開を推進すること、また継続的に事業貢献していくような仕組み作りにも関わっています。

「Machine Learning Solution2チーム」の業務実例

この中で1つ目に上げた、「価値の源泉」にフォーカスして、案件を紹介していきたいと思います。

まず「価値の源泉」ってなんですかという話ですが、これは必要なユーザーに必要な情報を届けるための基本情報をこのように呼んでいます。端的にいうと、それを正しく改善したり使ったりすると、売上やユーザー体験の向上につながるものになっています。

そういった観点で、こちらに書いてあるような項目のプロジェクトを進めています。順に説明していきたいと思ってます。

まずFeature Store系のプロジェクトをチームで行なっています。こちらは室長の菊地が先ほど紹介したので、簡単な説明になります。サービス横断のユーザーの行動ログを、LINEのプライバシー方針に従ってFeature Store化、これは「z-features」などと言われていますが、そういったかたちで蓄積して、各種の機械学習モデルに使いやすいようにしています。こういったところのメンテナンスや、新しい特徴量の追加などを行なっています。

次にこういったものを活用するプロジェクトを紹介していきます。その1個の例が、「ペルソナプロジェクト」と呼ばれているものです。

こちらは、このスライドに例があるのですが、ユーザーの年代、性別といったような属性や、興味関心がペルソナの例になっています。

こういったものを、先ほどいったFeature Storeの特徴量を利用して、DNN系ロジックで推定していって、広告利用を始めとした各種サービスに適用することをやっています。

こちらは、さまざまなサービスに提供しているので、推定結果がすごく安定しているものが非常に求められて、そのためにさまざまな工夫をしています。

例えば、推定結果をそのまま提供するのではなく、smoothingなどの処理を行なって頑健にした上で提供しています。あとは新しいモデルを適用して改善した場合にも、いきなり適用するのではなく、ゆっくりゆっくり徐々に適用していって、影響をより少なくしていく、そういったMLOps的な観点を非常に重要視したプロジェクトになっています。

このプロジェクト内ではDevOpsやMLOpsといった観点がけっこう重要なのですが、まだまだ改善の余地があるので、今後はそういったところに力を入れるプロジェクトになっています。

さらに、LINE公式アカウントという事業に対して、例えば推薦エンジンなどでアカウントやコンテンツを推薦し、アカウントの友だち追加を促していって、ユーザーに対して適切な情報を届ける体験や、アカウントオーナーに対しては、より高度なマーケティング体験を提供していくこともやっています。

こちらも同様で、先ほど説明したFeature Storeにある特徴量を用いて、さまざまなサービスの行動からユーザーの興味を引き出して、それに基づいて、次にどういったアカウントをプロデュースすればいいかを、推薦エンジンで提供するかたちになっています。

こちらに関しては、LINEのアプリケーションの主要なメディアにも、いろいろ展開しています。例えば、ホームタブと呼ばれるLINEのアプリケーションを開くと一番左側にあるタブに、公式アカウントの推薦などを行なっています。

いくつか主要なメディアには展開していますが、既存のものに関しても、いくつかレガシーなロジックのものがあったりしていて、それをより高度なものに置き換えていきたいというのもありますし、枠自体も、どんどん広げていくポテンシャルがまだある領域になっているので、そういったロジック改善と露出していくメディアを拡大していくのが、今後やりたいことです。案件に関しては、以上です。

「Machine Learning Solution2チーム」に必要な人材

次に、ざっくりどんな感じでプロジェクトで働いてるのかについて説明したいと思います。Machine Learning Solution2チームは、機械学習のプロジェクトに全体的に関わるのが特徴になっています。

こちらですが、機械学習プロジェクトの典型的なサイクルを表していて、プランニングの部分から、機械学習モデルを作るための基礎分析、モデリング、オンライン検証、本番適用、そして継続的改善のためのモニタリングといったサイクルを表しています。

Machine Learning Solution2チームのエンジニアは、この各ステップに全体的に関わっていきますが、各プロセスでさまざまなチームや部署と協業、サポートを受けながら、このプロジェクト全体を推進していくような働き方をしています。

そういった働き方をしているので、さまざまな領域をバランスよくカバーするスキルセットが必要になってきます。

例えばですが、各事業の課題を、きちんと数理的な課題に落とし込んで解決するためのビジネス理解が必要になります。そしてそれらを解決する時に、選択肢の幅として、機械学習のアルゴリズムの理解や、その機械学習モデルを活かすためのデータ分析のスキルなども必要になります。

そうやって構築した機械学習モデルを、この国内屈指の大規模なデータ環境で、きちんと本番適用して、運用していくためのソフトウェアエンジニアリングの経験も必要になってきます。

こういった領域をバランスよくカバーしつつ、自分の得意な領域を持っていて、それを活かして仕事をしているのが、活躍しているチームメンバーの特徴かなと思ってます。

最後に、こういった方を求めているといったマインドセットの話をしたいと思います。

まずうちのチームは、正しく使うと売上にもなるし、ユーザーにも価値を届けるといった、売上とユーザー価値を両立できる可能性のあるものを、機械学習でよくしていくというミッションがあるので、そういったことをやりたいと思っている方、特に機械学習やソフトウェアエンジニアリングで、それをできると信じてる方を求めています。

そういった時における技術力の発揮の仕方に関しては、高い技術を持っているだけじゃなく、さまざまな状況に応じて最適な技術を選択できるような、技術を通じて事業貢献することに興味がある方を非常に求めています。これはチームというよりも、LINE全体としてそういった方が非常に活躍できてるなと感じています。

チームの働き方としては、さまざまな人たちを巻き込んでいって、主体的に仕事をしていくことがあるので、責任感強く仕事を完遂していくメンタリティを持ってる方が、非常に多いかなと思っています。

それを「Skin in the Game」、身銭を切れという精神、と私は呼んでいますが、ちょっとここは気になる方はナシーム・ニコラス・タレブ著の『身銭を切れ』という本にそういったことなどが載ってるので、興味のある方は読んでいただければと思います。

以上で、私のチームの紹介を終わります。ご清聴ありがとうございました。