2024.10.01
自社の社内情報を未来の“ゴミ”にしないための備え 「情報量が多すぎる」時代がもたらす課題とは?
LINEのML業務の紹介(全1記事)
提供:LINE株式会社
リンクをコピー
記事をブックマーク
菊地悠氏:LINEの菊地と申します。今日はよろしくお願いします。私はMachine Learning Solution室とMachine Learning Platform室という2つの部署を見ています。私自身はプロダクトマネジメントを主に仕事としてやっていて、プラスアルファで組織を見ています。
私自身の過去の経歴は書いてあるとおりですが、機械学習をずっと専門にしていたというよりは、さまざまな分野をけっこうとっかえひっかえやって今に至っている感じの経歴です。
今日は、主にマシンラーニングの領域で特定の組織で見ている話が中心にはなりますが、まず開発事例を紹介して、その後にどう働いているかというお話をしたいと思っています。新卒で2年目の方がこのあとの分科会で一緒にQ&Aをやってくれるので、どういう働き方をしているか、どういうプロダクトを実際にリリースしているかは、そちらで詳しく聞いてもらえたらなと思っています。
それでは、開発事例にいこうと思います。LINEのアプリケーションを使っている方はアプリの中にタブが5つぐらいあることをご存じかもしれません。左からHome、Talk、VOOM、News、Walletと並んでいます。マシンラーニングがこの中のどこに入っているかというと、(スライドを示して)このあたりに入っています。
アプリの中のさまざまなコンポーネントの中にMLが入っているのですが、私たちの組織ですべてを作っているわけではありません。一部は韓国で作っていたり、福岡の組織が関わっていたり、そういうかたちでいろいろな組織が携わっています。
実際に私がいる組織で扱っているものをザーッと順番にお見せしていきます。1つ目がスタンプのレコメンデーションです。A/Bテストなどをやる際には、データサイエンティストを抱えている別の組織と連携をしながら機械学習のモデルが良くなったかどうか、検証をしています。
対象ユーザーが億を超えたり、おすすめの対象アイテムが1,000万を超えたりなど、そのような規模のデータを使って機械学習でレコメンデーションをやったりしています。年に1回ぐらいの頻度で、モデルの更新を行うことが多いです。スタンプに関して言うと、キーボード上で文字を入力した際に意味的に合致するスタンプが並ぶのですが、このあたりも実はMLで画像の分析をしてタグ付けの処理をやっています。
ほかにも広告の事業、あるいはLINE公式アカウントの領域で、ユーザーになにかコンテンツや広告を配信したりする際に、なんとなくこれくらいの年代・性別の人に送りたいというニーズはよくあって、こうしたものも機械学習でユーザーの分類の処理を行っています。こちらのデータの規模もやはり数億というユーザー単位になっています。
出前館に関しても同様に関わっています。先ほどディー・エヌ・エーさんのお話にもありましたが、私たちも需要予測をやっています。ほかにも、商品の推薦やドライバーにどの家に配達に行ってもらいたいかなど、うまく差配するための取り組みをやっています。
そのほかにも、LINEのトークタブの画面の上のほうにはコンテンツや広告が出てくる枠の裏には、実は100を超えるロジックが入っています。例えば新しいスタンプを過去に購入した人におすすめしたいというルールベースの場合もありますし、レコメンデーションでやっている場合もあります。
1サービスには複数のロジックがあり、また、我々以外の複数の組織がそれぞれ、ユーザにおすすめしたいアイテムを入稿しています。表示枠は1つなので、複数の候補の中から1つだけを選ぶ、という処理も必要になります。
なので、ここは実は2段構えの機械学習あるいは推薦の処理になっています。後段の処理は俗にいうバンディットアルゴリズムが使われていて、直近で得られたユーザーの選んだ・選ばなかったというフィードバックも利用しながら、リアルタイムに学習をする処理が走っています。
あとこれは先週(※登壇当時)ちょうど発表の機会があったのですが、LINEは2022年9月の末にFederated Learningと呼ばれる技術をサービスに導入しています。(スライドの)右下にリンクも貼っているので、もし興味があればこのあたりも見てもらえたらなと思います。
具体的にどのような環境で開発をしているかの紹介も簡単にしたいなと思います。
実際にサービスになにかを導入したり、作ったものが本当に良いものかどうかを確認するためには、レコメンデーションやMLのモデルだけを作っていてもうまくいきません。実際にどういうものがユーザーに出るのかを可視化したり、あるいはA/Bテストの仕組み自体を整えて全社の基盤として導入したりなどの開発も私たちが担っています。
マシンラーニングエンジニアはこういうことができてほしいという要件や要望を出す側でもありますが、その上で実際に同じチーム内にいるインフラ系やサーバーサイドのエンジニアと連携して開発をしています。
実はLINEの社内にも機械学習のプロダクトがたくさんあるのですが、複数のサービスにいろいろなものを提供している中で、似たような仕組みを共通で作りたいというニーズがあります。実際に私たちのところでは、LINE MUSIC、LINEスタンプ、LINEマンガなどのデータを共通のデータ処理の手続きに乗せてサービス横断で各種の推薦だったり分類だったり予測だったりという問題を解決できるようにしています。
そこでは生のデータも扱います。生のデータだと次元がメチャクチャ大きくて扱いにくいので、表現学習で密なベクトル(dense vector)に変換するということもやっています。
同じく、昔はマシンラーニングの処理をモデルそれぞれ同じように書いていたのですが、だんだんディープラーニングが主流になってくる中で再利用できるモデルをどんどん作っていこうという流れになっています。
モデル自体もライブラリとして共通化はしてきていますが、さらにそのモデルを利用する処理自体をAPI越しに利用できるようにプラットフォームの開発にも力を入れています。
実際に開発をする環境についてお話しします。私たちはマシンラーニングのモデリングがメインの業務ではありますが、そのシステムを、社内の他の組織にも提供してくれるデータプラットフォーム上で運用したり動かしたりしています。Hadoopの大きなクラスタがあって、SparkやHiveで処理を走らせて機械学習をバッチでやる場合もあるし、結果をRedisのような環境に入れてリアルタイム、オンラインで取り出せるようにするケースもあります。
こうした環境を私たちは利用者として使い、システムを運用してくれている人たちと連携をしながら仕事をしています。
開発に使っている環境や言語は今画面に出ているようなものが主ですが、マシンラーニングエンジニアは、主にPythonやデータの前処理にSQLを使うことが多いです。
ディープラーニング系だと、PyTorchで処理をする部分が最近は非常に多くなっています。このあたりも詳しく聞きたい場合、後ほどの分科会で質問をしていただければと思います。
仕事をする環境についてお話しします。MLエンジニアというポジションに関してお話をすると、プラットフォーム開発に寄っている組織と、事業やアプリケーションに近いところでマシンラーニングを導入していくソリューション寄りのエンジニアと、今は大きく2つに分けています。
ポジションとしては共通で応募いただきますが、実際に入ってみて、あるいは面接やその他の過程で「どちらが向いてそうか」を判断しながら実際の業務に従事してもらいます。
「マシンラーニング」と一言で言っても、今のようなことをやるために複数のロールが必要になっており、募集のポジションに関して言うと、(スライドを示して)ここの青色と黄色で書いてあるところが機械学習エンジニアが担当することです。
システムやプラットフォームを運用しようとすると、当然インフラの面でDevOpsのエンジニアやサーバーサイドのエンジニアも必要になりますし、これらの人たちが連携してプロジェクトを回していくためにプロダクトマネージャーやプロジェクトマネージャーと呼ばれるポジションの人も密に仕事をやっていく必要があります。
実際にプロジェクトを進める場合には、複数のチームからそれぞれ必要な人たちを適宜アサインしてプロジェクトを構成して仕事をすることが多いです。ここには書かれていませんが、メンバーがプロジェクトのタッグを組んで事業側の人たちと連携して開発をしたり、企画の方と話したり、サービス側の開発エンジニアの人と連携したりすることもあります。
最後になりますが、私たちがぜひ受け入れたいなと思っているのは、(スライドを示して)こういうマインドセットやスキルセットを持っている方です。LINEはけっこうエンジニアリングに強い組織で、企画側や事業側の組織も当然あるのですが、エンジニアの中にはものすごいスキルを持っている方々がいます。
開発・実装は自分たちでやるし、使っているものの中身の隅から隅まで知っている人たちも多いです。当然事業に貢献するという意味では、データを見ていろいろ調べないとわからないこともあるので、こういうところに関しても温度感が高かったり、積極性が高い人はたぶん活躍してもらえるんだろうなと思います。
まとめになりますが、大量のデータやたくさんのサービスを扱って、これらのデータをうまく用意するというところで仕事をしているのが私たちのチームです。共通機能やプラットフォーム的な開発もだんだん増えてきているので、こうしたものに興味がある方はぜひ応募してほしいなと思っています。
こうしたページもまとまっているので、興味がある方は見ていただければと思います。このようなメンバーがチームの中にいます。みなさんと一緒にお仕事ができたらなと思っています。よろしくお願いします。私からは以上です。
LINE株式会社
関連タグ:
2024.10.29
5〜10万円の低単価案件の受注をやめたら労働生産性が劇的に向上 相見積もり案件には提案書を出さないことで見えた“意外な効果”
2024.10.24
パワポ資料の「手戻り」が多すぎる問題の解消法 資料作成のプロが語る、修正の無限ループから抜け出す4つのコツ
2024.10.28
スキル重視の採用を続けた結果、早期離職が増え社員が1人に… 下半期の退職者ゼロを達成した「関係の質」向上の取り組み
2024.10.22
気づかぬうちに評価を下げる「ダメな口癖」3選 デキる人はやっている、上司の指摘に対する上手な返し方
2024.10.24
リスクを取らない人が多い日本は、むしろ稼ぐチャンス? 日本のGDP4位転落の今、個人に必要なマインドとは
2024.10.23
「初任給40万円時代」が、比較的早いうちにやってくる? これから淘汰される会社・生き残る会社の分かれ目
2024.10.23
「どうしてもあなたから買いたい」と言われる営業になるには 『無敗営業』著者が教える、納得感を高める商談の進め方
2024.10.28
“力を抜くこと”がリーダーにとって重要な理由 「人間の達人」タモリさんから学んだ自然体の大切さ
2024.10.29
「テスラの何がすごいのか」がわからない学生たち 起業率2年連続日本一の大学で「Appleのフレームワーク」を教えるわけ
2024.10.30
職場にいる「困った部下」への対処法 上司・部下間で生まれる“常識のズレ”を解消するには