メインコンテンツへジャンプ
データエンジニアリング2024年9月4日2分で読めます

Databricks上で高度にスケーラブルなディープ推薦システムを訓練する(パート1)

推薦システム(RecSys)は、さまざまなプラットフォームでパーソナライズされたコンテンツの提案を支える現代のデジタル体験の不可欠な部分となっています。これらの洗練されたシステムとアルゴリズムは、ユーザーの行動、好み、アイテムの特性を分析し、興味のあるアイテムを予測し、推奨します。ビッグデータと機械学習の時代において、推薦システムは単純な協調フィルタリングのアプローチから、深層学習技術を活用する複雑なモデルへと進化しています。 これらの推薦システムをスケールすることは、特に何百万人ものユーザーや何千もの製品を扱う場合には、困難な場合があります。これを行うには、コスト、効率、精度のバランスを見つける必要があります。 このスケーラビリティの問題に対処する一般的なアプローチは、2段階のプロセスを含みます:初期の効率的な「広範な検索」に続いて、最も関連性の高いアイテムに対するより計算的に集中的な「狭範な検索」です。例えば、映画の推薦では、効果的なモデルはまず検索空間を数千からユーザーごとに約100項目に絞り込み、その後、上位10の推薦を正確に順序付けるためにより複雑なモデルを適用するかもしれません。この戦略は、推薦品質を維持しながらリソース利用を最適化し、大規模推薦システムのスケーラビリティの課題に対処します。 多くの企業は、この規模の推奨システムを構築し、スケールアップするためのリソースを持っていませんが、Databricksは、データ処理、特徴エンジニアリング、モデル訓練、モニタリング、ガバナンス、サービングなど、最先端の推奨システムを作成するために組み合わせることができるすべての基本的なコンポーネント、およびそれらを実装するための技術サポートリソースを提供します。この記事は、Databricks上でスケールする推奨モデルの訓練とデプロイの効果的な手法を示すためのシリーズの最初のものです。この記事では、分散データローディングと訓練に焦点を当てています。後続の記事では、分散チェックポイント、推論、ベクトルストアなどの補完的なコンポーネントの統合について探求し、堅牢なエンドツーエンドの推奨システムパイプラインを作成します。 この記事では、Databricks Data Intelligence Platformで企業規模の推奨システムを訓練するための堅牢な基盤となる一連の参照ソリューションを紹介します。これらのソリューションは、 Mosaic Streaming をデータローダーとして、 TorchDistributor を分散訓練のオーケストレーターとして使用しています。これらはいずれもDatabricks社内で開発されました。PyTorchを活用した高度にスケーラブルな推奨システムパッケージである TorchRec を使用することで、先述の二段階アプローチに合致する2つの高度な深層学習モデルの実装を示します。それらは、効率的な「広範な検索」フェーズに最適な Two Tower model と、より集中的な「狭範な検索」フェーズに適したMetaの DLRM (Deep Learning Recommendation...

最新の投稿

最新の投稿を受信トレイで受け取る

ブログを購読して、最新の投稿を受信トレイにお届けします。