スタディサプリ Product Team Blog

株式会社リクルートが開発するスタディサプリのプロダクトチームのブログです

【Google Cloud Next '18】サーバーレスとデータ活用の未来を見てきました!

はじめに

みなさんこんにちは。データグループエンジニアリングチームの @toita です。

7/24~26にサンフランシスコで行われた Google Cloud Next '18 に参加してきました。

今回の出張での一番大きな事件は、帰国時に台風12号の影響で予定の便が欠航になり、振替の便がシカゴ経由になったことです。最終的に1日くらい帰国が遅れましたが、無事元気に帰って来れました!

さて、今回のイベントで色々な発表がありましたが、私個人の印象に特に残ったセッションを3つ紹介したいと思います。

会場のモスコーニセンター

Serverless on Google Cloud

まずは、GCP のサーバーレスな環境でサービスを提供するというお話。

ここでいうサーバーレスというのは、Cloud Functions だけでなく App Engine も指しているようで、The New York Times や SAP の導入事例も紹介されました。 一般的にアプリ開発はインフラの選定、OS のセットアップ、コンテナ化、モニタリング、ロギング、テストなどやることがたくさんあります。また、運用フェーズでも負荷対策や障害対応などの作業が待っています。 しかし、サーバーレスな世界ではこれらの煩雑な作業から解放されます。簡単な設定のみでデプロイとオートスケーリングができ、費用も使った分だけですみます。 さらに GCP では、サーバーレスなコンポーネントとして Cloud Functions と App Engine をコアに据えつつ DB やストレージなどのマネージドサービスで脇も固めているということを強調していました。

GCP でのサーバーレスコンピューティング関連のサービス

また、Cloud Functions からコンテナ化したアプリを実行できる Serverless Containers on GCF のデモなどがあり、サーバーレスの新たな可能性も紹介していました。

サーバーレス関連技術の最新トピック

ちなみに私はプライベートのアカウントで5個以上 App Engine のプロジェクトを管理しています。昔は某 VPS を数台借りていた事もありましたが、金銭的コストと運用コストの観点から App Engine + Cloud Datastore を使うようになりました。

基本的にとても運用が楽でいったんデプロイしてしまえば放っておいてもいいので(スタンダード環境の Python のバージョンが 2.7 であることは除いて)満足して使っています。

ただ Facebook が Parse を閉鎖を発表した時など、特定のベンダーに依存していることに不安を感じることはありました。ときたま Google Cloud の中の人に会う機会があり、それを話すと「Snapchat が使ってるから大丈夫!」みたいなことをおっしゃってました。その言葉を信じ使い続け、今回の Google Cloud Next '18 でサーバーレスコンピューティングの盛り上がりと将来性を肌で感じ(Python もバージョンが 3.7 に上がるようだし)自分の選択は間違ってなかったかなと嬉しく思いました!

How BuzzFeed Build A Great Data Experience using BigQuery And Looker

続いては BuzzFeed が、BigQuery と Looker を使ってデータ分析基盤を構築しデータドリブンな意思決定を行っているという事例。 BuzzFeed は月間約90億のコンテントビューがあり、FacebookTwitter など20以上のプラットフォームに展開中です。これらのデータを1つのデータベースに置き社内の様々な人が自由に分析できる基盤をなるべく開発コストをかけずに構築したかったそうです。

もともとデータウェアハウスとして Redshift を使っていたそうですが、料金と開発コスト面で検討した結果 BigQuery に置き換えたそうです。 また、BI ツールの Looker も開発コストをそこまでかけずに導入でき、定常的なものアドホックなもの両方指標をカバーできるため導入したそうです。

結果、300以上のテーブルに数百テラバイトのデータがあり、1日10万クエリ以上(うちLooker経由のものは5000強)が投げられ、BuzzFeed のほぼ半数の社員に活用されているそうです。

今後は、今回初お披露目となった BigQuery ML を活用してレコメンド機能などを改善していくそうです。

BuzzFeed での BigQuery と Looker の利用状況

この事例は、弊社の取り組みとかぶる部分が大いにあります。

エンジニアを魅了する次世代 BI ツール『Looker』を Quipper が導入した理由(わけ)」で紹介した通り、弊社は BI ツールとして Looker を活用しています。

また、現在の日本のスタティサプリのデータウェアハウスは Treasure Data をベースに構築していますが、今後はグローバル横断の分析基盤構築でBigQueryの導入を進めていく予定です。そのため、この二つを活用している BuzzFeed にとても親近感を感じました!

そして、やはり私たちも今後は BigQuery ML を積極的に活用し R&Dの取り組みを本番環境で実装していき、より良い学習体験を提供していきたいです。

Analytics and ML Will Transform Education

最後にご紹介するのは、GCP を活用した分析や機械学習がどのように教育を変えていくかというテーマのセッションです。

いくつかの企業や研究機関の事例が紹介されるなか、一番興味深かったカーネギーメロン大学ArticuLab の研究を紹介します。

従来の AI チャットボットでは、音声認識自然言語処理、対話の管理、自然言語の生成、マルチモダリティといった要素技術を用いて対話を実現します。

これに加えて、ArticuLab では文化的もしくは社会的な要素を加味した AI チャットボットを開発しているそうです。

ArticuLab が取り組む AI チャットボットの要素技術

まず、実際の人間のチューターと人間の生徒の対話のテキストデータと表情の画像データを集めます。この後にこれらのデータを元に機械学習を行い、最終的には文化的もしくは社会的な要素を加味した AI チャットボットを開発したそうです。

ArticuLab が研究している AI チャットボットの学習モデル

ここの機械学習のモデルでは、生徒の表情を画像解析してチューターとの関係性を10段階にスコアリングし、生徒との良い関係を維持できるような細かい言い回しを学習しながら会話を組み立てることができるそうです。例えば、生徒の間違いを指摘する場合でも関係を壊さないオブラートな表現で伝えることができるそうです。

このモデルを構築する部分に Cloud ML を活用しており、比較的学習コストが低いため新学期に入ったばかりの研究室の学生もすぐにモデルをいじれるようになるそうです。

画像認識による生徒との関係性のスコアリング

生徒への返答を組み立てるモデル

スタディサプリでは、合格特訓コースで大学生コーチがオンラインチャットで生徒に寄り添います。

現在、R&D チームの取り組みとして過去の会話のデータベースから生徒へのより良いアドバイスをコーチが探せるシステムを開発しています。

今後、ArticuLab の事例のように社会的・文化的な要素を加味した会話の組み立てを AI がサジェストして大学生コーチがそれを選択または適宜編集し、生徒とのより良い対話を実現できれば良いと思いました。

さいごに

今回のイベント中、基調講演や各企業のブースなどを見る中で、参加者たちの熱気や盛り上がりに生で触れることができ、何に関心が集まっているかを感じることができました。

また出張中、サンフランシスコやシリコンバレーのテック企業をいくつか訪問し、Google Cloud Next '18 で発表された GCP の新機能に対する現地のエンジニアのリアクションを聞けたのも非常に参考になりました。

例えば、Day1 の Keynote で発表され話題になった GKE on-prem は Google 曰くオンプレとクラウドのハイブリッドなインフラを利用しているエンタープライズ企業の要望に応えるためのリリースと説明していました。発表を聞いたとき、スタディサプリはエンタープライズではなくシステムも全てクラウド上で動いているため、どこか他人事のように聞いていました。しかし、実際にコンシューマ向けのサービスを運用している企業の方と話してみると、ハイブリッドなインフラを使っているケースがいくつかあり、予想以上に GKE on-prem の恩恵を受ける企業があることに気づきました。

今回の出張で、クラウドの未来(NEXT)が少し見えた気がします!この経験を今後のエンジニア人生の糧にしていきたいと思います!(ので、来年もぜひ行かせてください!! To: 偉い人)