【レポート】Google を支える推薦モデル「Two-Tower」とベクトル近傍検索技術 #GoogleCloudDay
本記事は2022/04/21(木)に行われた「Google Cloud Day: Digital ’22」 の機械学習セッション「Google を支える推薦モデル「Two-Tower」とベクトル近傍検索技術」についてのレポート記事となります。
セッション情報
登壇者
- Google 佐藤 一憲 様
- デベロッパー リレーションズ
- デベロッパー アドボケイト
セッション概要
インターネット上の膨大なコンテンツからユーザーにとって価値の高い情報を瞬時に見つけ出すために、Google 検索や YouTube、Google Play 等では「Two-Tower」と呼ばれるディープラーニング モデルと大規模高速なベクトル近傍検索基盤が利用されています。本セッションでは、これら Google を支えるレコメンデーション技術を Google Cloud 上で再現し、さまざまなビジネスに適用する方法を解説します。
取り上げる主な Google Cloud 製品 / サービス
- AI Infrastructure
- Vertex AI (旧 AI Platform)
レポート
Googleを支えるベクトル検索技術
一般的な検索では、タグ、ラベル、カテゴリ等のキーワード検索が主流
Googleのサービスでは、ベクトル類似度を用いたベクトル検索が主流
例えば、あるコンテンツのジャンルが下記の割合で占めている場合
- movie(映画):10%(0.1)
- music(音楽):2%(0.02)
- actor(俳優):30%(0.3)
3つの数字(0.1, 0.02, 0.3)からベクトルを定義して、類似しているベクトルのコンテンツを検索する
様々なコンテンツの種類(画像、動画、アプリなど)に対応可能で、数ミリ秒で検索している
ベクトル検索でビジネスの課題を解決する
Embeddings:
- ビジネスやユーザーの要件にフィットするベクトル空間
- 「かしこい」ベクトル
ベクトル検索の応用範囲
下記のように、あらゆる用途で利用可能
- 文書や 画像の内容で探す
- 似ている 製品を探す
- 似ている ユーザーを探す
- おすすめの 音楽や 動画を探す
- 故障しそうな IoTデバイスを探す
Vertex AI Matching Engineによる高速近似近傍検索
次元(dimensions)の数やコンテンツ(items)の数が多いほど、類似度の計算などが大変
Google Reserch 開発では、「ScaNN」と呼ばれる技術を用いて、類似度の計算を高速化している
ScaNN:
- Google 画像検索、Youtube、Google Play 等を支える高速近似近傍検索技術
- 精度と速度のトレードオフを大幅に改善
Vertex Matching Engine( ScaNNを実行できるGoogle Cloudのマネージドサービス )を使って、高速なベクトル検索が実装可能
- Step 1: Embeddings 抽出モデルの学習 → ユーザー側で実施
- Step 2: ベクトル検索 → Vertex Matching Engine(Google Cloud側)で実施
リコメンドのためのembeddingsの作り方
協調フィルタリング (広く利用されているリコメンド手法)
- 良い点
- ドメイン知識が不要
- 偶然性(serendipity)が期待できる
- 実装例や実績が豊富
- いまひとつな点
- コールドスタート問題 (未知のクエリに対応にしくい)
- 例.視聴履歴がほとんどない新しいコンテンツなどが推薦されにくい
- 多彩な特徴量を加味できない
- コールドスタート問題 (未知のクエリに対応にしくい)
Googleのサービス(YouTubeやGoogle Playなど)では、「Two-Towerモデル」を採用している
Two-Towerモデル
- 良い点
- 特徴量と特徴量の関係を学習 (コールドスタート問題の解消)
- 多彩な特徴量を加味できる (マルチモーダルにも対応)
- いまひとつな点
- まだ広く利用されてない
- モデルの設計と学習が必要
特徴量と特徴量の関係を学習
視聴履歴がほとんどない新しい映画などでも、特徴量から推論することができる
多彩な特徴量を加味できる
ユーザーの ベクトルと製品の ベクトルとの関係を学習させたりすることも可能
デモ
実際のセッションでは、下記のページを参考にしてTwo-Towerモデルを使ったembeddingsの作り方が紹介されてました。
おわりに
普段使っているサービス(YouTubeやGoogle Play)の裏側を覗き見できた感覚で、非常に有意義なセッションでした!
個人的には、「コールドスタート問題の解消」ができるTwo-Towerモデルは印象深かったです。
セッション自体も約30分以内のコンパクトな内容になっているので、是非視聴してみることをお勧めいたします!
以上、DA(データアナリティクス)事業本部のナガマサでした。