AI開発室のSRE

荻林裕憲氏:私はAI開発室の荻林と申します。私からはAI開発室のSREについて説明いたします。

まず簡単に自己紹介をします。LINEには2015年に入社をしまして、最初の2年ぐらいはデータ分析基盤の仕事をしていました。2017年に、今のLINE AI事業の最初の取り組みとなるLINE CLOVAのスマートスピーカーのプロジェクトにジョインしまして、そこからはAI事業の中で、主にプラットフォーム部分の開発や運用をやっています。

2021年の5月に、新しくAI開発支援チームができまして、今はそこのマネージャーをしています。チームについては、後ほど詳しく紹介します。あとプライベートの時間は、基本的に外で遊ぶのが好きで、サイクリングをしたりキャンプをしたり。あとは今年はカヤックを始めました。

まずLINEのAI事業がそもそも何をやっているのかを説明して、そのあとその中のSREについて説明する流れで説明しようかと思います。

LINEのAI技術

LINEのAIカンパニーは、LINEの中で培ったAIの技術をプロダクトやソリューションにして、他の会社さんに使ってもらうかたちのビジネスをしています。歴史的なところでいうと、先ほど自己紹介でも話したスマートスピーカーからAI事業は始まっています。ご存知の方も多いと思うんですが、スマートスピーカーは裏で、けっこうAIの技術を使っているんですね。

例えば「天気を教えて」と言うと、それを音声認識して、それからユーザーの意図を自然言語処理で理解して、さらにそこからビジネスロジックを動かして回答を音声合成を使ってしゃべるみたいな、そういう感じです。

最初そういう事業をやっていましたが、その後AIの技術自体を他の会社さんにも提供したほうがビジネスとして広がりがあるんじゃないかということで、LINE BRAINという名前でB2Bの事業を始めました。今はそちらのビジネスのほうが、規模としては大きくなっています。

LINEのAI技術は非常に幅広い技術領域でやっていることが特徴です。音声だったり画像だったり自然言語だったり、いろんな分野でそれぞれ優秀なリサーチャーが開発しています。

具体的なプロダクトとしては、このようなものがあります。音声認識・合成、チャットボット、画像認識。これらの技術をプロダクトにして提供しています。

LINEのAI技術の利用事例

一例としてはOCRがあります。請求書の処理をやっているSAPのConcurという会社さんがあるんですけど、そちらに組んで請求書をOCRで認識して、それをConcurさんに渡す。そういうことをやっていたり、あとはLINEのサービスの中でもOCRの技術は使われていて、このようなトークルームの中での文字認識だったり、レシートの読み込みだったり、そういうところもやったりしています。

あとは単一のAI技術じゃなくて、複数の技術を組み合わせて1個のソリューションにして提供するということもやっていまして、それにはLINE AiCallという電話応対のサービス。スピーカーとけっこう似ていますが、音声認識してチャットボットで回答を作って音声合成して……というのを電話口でやるみたいなものです。

そういうものをやっていたり、あとはeKYCという、オンラインで本人確認をするソリューションですが、現地で書類を出したりしなくても本人確認をオンラインで完結できる、そういうソリューションを提供しています。

有名な導入事例としては、ヤマト運輸さんの宅急便の集荷依頼で、AIで受けるものです。私も実際にこのプロジェクトに関わっていましたが、1日にけっこう電話があるんですね。それをAIで受けて完結して、もちろん途中でできないものはオペレーターさんに転送したりはしますが、けっこうな部分をAIでカバーしているので、これでだいぶ電話応対のコストを削減できていると思っています。

LINEのAIカンパニーの組織

そういうことをやっているのがAIカンパニーなのですが、その中の組織はこんな感じです。まずはカンパニーと言ってはいますが、実体としてはLINEの中の一部門です。そこに事業部門だったり企画だったり、そういうのと並ぶかたちでAI開発室があります。その開発室の中には、リサーチャーもいればAI技術を開発しているエンジニア、サーバーサイドをやっているエンジニアもいて、すべてがこのAI開発室に入っています。

本日紹介するのは、その中のSREのポジションです。ちなみにもし今までプロダクトの話を聞いて、AIのプロダクトに関わりたいという方がいましたら、サーバーサイドエンジニアも募集しているので、そちらに応募してもらえるといいかなと思います。

LINEのAI開発支援チーム

では、SREを担う者として、AI開発支援チームを紹介します。英語にはProductivityという名前が入っていますが、開発と運用の仕組みを整備して、開発者の仕事を効率良くすることをミッションにしています。結果、他のエンジニアが気持ちよく開発したり運用したりできるようになったらいいなと思っています。

立ち位置としては、こんな感じです。LINEでは本日発表があったプライベートクラウドの「Verda」もそうですが、モニタリングなど全社的に使える仕組みがいろいろあります。それらを使って実装されるプロダクトとして、先ほどお話ししたAI系のものや、その他いろいろあるかたちになっているんですね。私たちAI開発支援のSREのチームとしては、その間に立つかたちで、実行基盤は何を使っていこうであったり、CI/CDはどうやろうであったり、モニタリングは何をどう見るのがいいのかなど、そういうことを整えるのが仕事になっています。

現在やっている取り組みとしては、ガイドラインを整えています。やはりプロダクト間で、CI/CDにしてもモニタリングにしても、いろいろやり方が違っているので、「こうやるのがだいたい良い感じだね」みたいに。そういうベストプラクティス的なものをまとめています。

もちろん、ドキュメントだけを書いているわけじゃ全然なくて、実際にはサンプルでプロジェクトを作っていろいろ検証していくというのも、けっこうな時間を使ってやっています。出来上がったものをドキュメントとセットで、開発チームに公開しています。その中で、もし何かをやるのにツールを作ったほうが楽であればツールを作ったりもします。

AIカンパニーの技術スタック

使っている主な技術としてはこんな感じです。サーバー環境については基本社内クラウドのVerdaなんですけど、AIということでGPUサーバーを使うみたいなケースも出てきています。あとは開発言語もJavaやKotlinがありますが、Goもけっこうあります。

例えばスマートスピーカーやLINE AiCallの電話のプラットフォームはGoで動いていたりしますし、ちょっとツール作るみたいな範囲でも、Goを使うところもけっこうあります。あとはストレージ、メッセージングはこんな感じで、CI/CDは、VMだったらAnsible、KubernetesだったらArgoCD、みたいな感じでやっています。

Ansible playbookの実行は、今Jenkinsでやっていますが、これをAWXにしようともしています。ロギングは、Logstashもちょっとありますが、だいたいFluentdという感じです。

AIカンパニーの現状の課題

次に現状の課題についてお話しします。全体的にいろいろありますが、まだSREというのは、AIカンパニーの部門内でちゃんと定着していないので、まずこのあたりをやっていかないといけないかなと思っています。まずは基本として、稼働率などをちゃんと可視化して、みんなで共有しながらそれを上げていくというところをやりたい。稼働率に限らず、モニタリングがけっこうバラバラだったりするので、先ほど紹介したガイドなんかを通して、揃えていきたいなと思っています。

あとは、セキュリティのところもけっこうちゃんとやらないといけません。例えば暗号化をどうやるのかであったり権限をどう管理するのかであったり。そういうところを各チームでやると大変なので、私たちのチームで揃えて、展開していきたいなと思っています。その上で、オンコールも含めて、安心してサービスを提供するための体制作りが、今の時点での課題かなと思っています。

AIカンパニーのSREの特徴

あとは最後になりますが、本日いろいろな業務のSREの紹介があるので、AIカンパニーのSREはどういうところが特徴かな、と考えて書いてみました。やはりプロダクトを支えるというところで、対象のプロダクトに興味を持っていて、貢献したいと思えることは大事なのかなと思っています。AIカンパニーに関しては、前のほうで説明した感じで、AIのプロダクトで世の中の人を楽にすることを目指しています。

なので、それを一緒にやりたくて、それに貢献したいという方は応募してもらえるといいんじゃないかなと思います。あとは、サービスレベルについては、私たちはB2Bでお客さんからお金をもらって提供する立ち位置になっているところが、特徴かなと思っています。

あとはSREの部署というのがまだ出来上がって間がないんですね。まだまだ、何からやっていこうかとか、そういう感じの議論もしたりしている段階なので、そんな中で一緒に決めながらやっていく人が入ってくれるといいなと思います。自分で「これを次やったほうがいいんじゃないか」ということを考えて、一緒に進めてくれる人に入ってもらえると、とてもうれしいです。

あとはSREをやりたい方というと、けっこう「高トラフィックな環境に行きたいんです!」みたいな方も多いかなと思いますが、AIカンパニーで言うと、今日の他のSREと比べると、めっちゃ多いという感じではないのかなと。もちろんそこそこはあって、これからもどんどん増えていくんですが、今の時点だとすごいというわけではないです。

ただ、複数のAIのコンポーネントを組み合わせてサービス提供していたりするので、システムとしてはちょっと複雑だったり。あとは、Webの知識だけで解決できない問題が出てきて、他の人の協力を得るという場面も出てくるかなと思います。例えば音声認識のエンジンを更新したら、認識結果の文字列が変わって対話がうまくいかなくなったみたいな、そういうトラブルとかもあったりします。サービスとしてはそういう状況も含めて、安定性を担保していく必要があるので、要素技術を担当しているエンジニアなどと協調しながら、品質を高めていくことになります。

以上がAIカンパニーの特徴になります。もしこのような発表に興味を持ってもらえたら、応募していただけるとありがたいです。ご清聴、どうもありがとうございました。