2024.10.10
将来は卵1パックの価格が2倍に? 多くの日本人が知らない世界の新潮流、「動物福祉」とは
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.11.13
週3日働いて年収2,000万稼ぐ元印刷屋のおじさん 好きなことだけして楽に稼ぐ3つのパターン
2024.11.11
自分の「本質的な才能」が見つかる一番簡単な質問 他者から「すごい」と思われても意外と気づかないのが才能
2024.11.13
“退職者が出た時の会社の対応”を従業員は見ている 離職防止策の前に見つめ直したい、部下との向き合い方
2024.11.12
自分の人生にプラスに働く「イライラ」は才能 自分の強みや才能につながる“良いイライラ”を見分けるポイント
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.11.11
気づいたら借金、倒産して身ぐるみを剥がされる経営者 起業に「立派な動機」を求められる恐ろしさ
2024.11.11
「退職代行」を使われた管理職の本音と葛藤 メディアで話題、利用者が右肩上がり…企業が置かれている現状とは
2024.11.18
20名の会社でGoogleの採用を真似するのはもったいない 人手不足の時代における「脱能力主義」のヒント
2024.11.12
先週まで元気だったのに、突然辞める「びっくり退職」 退職代行サービスの影響も?上司と部下の“すれ違い”が起きる原因
2024.11.14
よってたかってハイリスクのビジネスモデルに仕立て上げるステークホルダー 「社会的理由」が求められる時代の起業戦略
2024.11.13
週3日働いて年収2,000万稼ぐ元印刷屋のおじさん 好きなことだけして楽に稼ぐ3つのパターン
2024.11.11
自分の「本質的な才能」が見つかる一番簡単な質問 他者から「すごい」と思われても意外と気づかないのが才能
2024.11.13
“退職者が出た時の会社の対応”を従業員は見ている 離職防止策の前に見つめ直したい、部下との向き合い方
2024.11.12
自分の人生にプラスに働く「イライラ」は才能 自分の強みや才能につながる“良いイライラ”を見分けるポイント
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.11.11
気づいたら借金、倒産して身ぐるみを剥がされる経営者 起業に「立派な動機」を求められる恐ろしさ
2024.11.11
「退職代行」を使われた管理職の本音と葛藤 メディアで話題、利用者が右肩上がり…企業が置かれている現状とは
2024.11.18
20名の会社でGoogleの採用を真似するのはもったいない 人手不足の時代における「脱能力主義」のヒント
2024.11.12
先週まで元気だったのに、突然辞める「びっくり退職」 退職代行サービスの影響も?上司と部下の“すれ違い”が起きる原因
2024.11.14
よってたかってハイリスクのビジネスモデルに仕立て上げるステークホルダー 「社会的理由」が求められる時代の起業戦略