コンテンツに移動
AI & 機械学習

Snap Inc.、ディープ ラーニングのレコメンデーション モデルに Google Cloud TPU を採用

2022年6月7日
https://storage.googleapis.com/gweb-cloudblog-publish/images/snap_tpu.max-2600x2600.jpg
Google Cloud Japan Team

※この投稿は米国時間 2022 年 6 月 1 日に、Google Cloud blog に投稿されたものの抄訳です。

ディープ ラーニングというと、学術的な研究をイメージする人がまだ多いと思います。しかし、Snap は、ディープ ラーニング モデルを応用して、日々レコメンデーション エンジンの改良を行っています。Snap は、Google の Cloud Tensor Processing Units(TPU)を活用し、イノベーションとモデル改良のペースを加速させてユーザー エクスペリエンスの強化につなげています。

Snap のブログ: TPU による大規模なレコメンデーション モデルのトレーニングは、Snap の広告ランキング チームが、Google の最先端の TPU を活用して、ディープ ラーニング モデルを迅速かつ効率的にトレーニングした方法を紹介しています。この投稿では、Snap のブログで書かれた方法だけでなく、もっと多くのことをお伝えしたいと思います。

より速く、より良いものを提供する

Snap の広告ランキング チームは、「適切な広告を適切な Snapchatter に適切なタイミングで配信する」モデルをトレーニングする役割を担っています。毎日 3 億人以上のユーザーと何百万もの広告をランク付けするので、Snap ML エンジニアは、毎日多くの時間を迅速かつ効率的にモデルをトレーニングすることに注力しています。より多くのモデルを学習させればさせるほど、より良いモデルを見つけることができ、そのためのコストも削減できます。より良い広告レコメンデーション モデルは、ユーザーにとってより適切な広告となり、広告主にとってはエンゲージメントの向上とコンバージョン率の改善につながります。

Snap が広告ランキングに使用しているような大規模な ML モデルを学習するためのハードウェア アクセラレータは、この 10 年間で汎用のマルチコア中央演算処理装置(CPU)からグラフィック処理装置(GPU)、TPU へと飛躍的な進化を遂げました。

TPU は、Google がカスタム開発した ASIC(特定用途向け集積回路)で、ML ワークロードを高速化するために使用されます。TPU は、大規模なモデルを学習する際に、精度を上げるまでの時間を最小にするために、ゼロから設計されています。以前、他のハードウェア プラットフォームでトレーニングに数週間かかっていたモデルが、TPU では数時間で学習できるようになりました。これは、機械学習における Google のリーダーシップと経験の賜物です(Snap のブログで、この技術について詳しく説明しています)。

成功のベンチマーク

Snap は、TPU を使うことで学習速度がどのように向上するのか把握したいと考えていました。Snap チームが TPU を使ったモデル学習のベンチマークを、GPU、CPU と比較したところ、すばらしい結果が得られました。GPU はスループットとコストの両面で TPU を下回り、スループットは 67% の低下、コストは 52% の上昇となりました。同様に、Snap の最も一般的なモデルでは、TPU ベースの学習が CPU ベースの学習を大幅に上回りました。たとえば、標準的な広告レコメンデーション モデルで比べると、TPU は処理コストを 74% も削減しながら、スループットを 250% も向上させ、しかも同じレベルの精度を保っています。

TPU 埋め込み API は埋め込みベースの演算のためのネイティブかつ最適化されたソリューションです。そのため、埋め込みの演算やルックアップをより効率的に実行できます。これは、高速な埋め込み検索や高いメモリ帯域幅などの追加要件を持つ Recommender にとって、特に価値のあるものです。

全体的なメリット

Snap の広告ランキング チームにとって、これらの改善は具体的なワークフローの利点となります。Snap では、特定の広告を表示したユーザーのログや、広告とインタラクションしたかどうかの記録をすべて含む 1 か月分のデータを保有することも珍しくありません。何百、何千万ものデータを処理する必要があるため、Snap はデータをできるだけ早くモデル化し、今後より良い提案をできるようにしたいと考えています。Snap のエンジニアは、1 つの実験の結果をより早く得ることができれば、より良い結果を得るために別の実験をより早く立ち上げることができます。

効率と速度の向上は、Snapchat ユーザーにもメリットがあります。モデルが優れていればいるほど、ユーザーが特定の広告にインタラクションする可能性を正しく予測できるようにななるので、ユーザー エクスペリエンスを強化し、エンゲージメントを高めることができます。エンゲージメントの向上は、コンバージョン率の向上や広告主の価値向上につながります。Snap が扱う広告やユーザーのボリュームを考えると、1% でも改善されると、実質的に経済的な影響が発生します。

最先端での仕事

Snap は、広告主にはより大きな価値を、Snapchat ユーザーにはより良い体験を提供することを目標に、レコメンデーションの品質の向上に努めています。その中には、Google TPU のような、才能ある ML エンジニアを輝かせる最先端のソリューションに全面的に取り組むことも含まれています。

全容がわかったところで、Snap が Google の力を借りて実現したことを、私たちのブログ、TPU による大規模なレコメンデーション モデルの学習でご覧ください。



- Snap Inc.、機械学習エンジニア、Aymeric Damien
- Snap Inc.、ソフトウェア エンジニア、Samir Ahmed
投稿先