0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

レコメンデーションシステムのワイド&ディープモデルの構築とサービング

Last updated at Posted at 2022-03-24

Build and serve a wide-and-deep model in a recommender system | Databricks on AWS [2021/10/20時点]の翻訳です。

本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。

レコメンデーションシステムにおける機械学習モデルパイプライン構築には、通常以下のステップが含まれます。

このリファレンスソリューションでは、青色の部分のステージをカバーします。(本書でカバーされていないトピックをご覧ください)

Databricksツールのハイライト

ノートブックでは、機械学習パイプライン構築をシンプルにするDatabricksで提供されている幾つかのツールをカバーしています。

  1. SparkDatasetConverter
  2. MLflowモデルレジストリ
  3. MLflowモデルサービング

データ

このノートブックで使用するデータは以下のDeltaテーブルで構成されています。

  • user_profile: user_idの値と静的なプロファイルを含みます。
  • item_profile: item_idの値と静的なプロファイルを含みます。
  • user_item_interaction: ユーザーがアイテムとインタラクションしたイベントを含みます。このテーブルはモデルを構築、評価するために3つのDeltaテーブルtrainvalidationtestへランダムに分割されます。

このデータフォーマットは、以下の例のようにレコメンデーション問題では一般的なものです。

  • 広告のレコメンデーションにおいては、アイテムは広告であり、ユーザーとアイテムのインタラクションはユーザーが広告をクリックした記録となります。
  • オンラインショッピングのレコメンデーションにおいては、アイテムは商品であり、ユーザーとアイテムのインタラクションはユーザーのレビューあるいは注文履歴のレコードとなります。

このノートブックを皆様のデータセットに適用する際は、皆様のデータをDeltaテーブルとして保存し、テーブル名と格納場所を指定するだけで大丈夫です。データロードのためのコードの大部分を再利用できます。

詳細は以下のデータセット作成ノートブックを参照ください。

データセット作成、保存のためのノートブック

モデル

このノートブックではワイドアンドディープモデル(論文|tensorflow実装)を使用します。これは、記憶と汎化の両方を取り扱うために、ワイドな線形モデルとディープニューラルネットワークを組み合わせた人気のあるモデルです。

このモデルは、レコメンデーション問題や一般的な機械学習パイプラインに対する数多くのディープラーニングモデルの一例に過ぎません。ここでは、ワークフローの構築手順を説明することにフォーカスしています。ご自身のユースケースに適した異なるモデルに差し替えることや、より優れた評価メトリクスのためにモデルをチューニングすることができます。

レコメンデーションシステムにおけるワイド&ディープモデルの構築、サービングのためのノートブック

本書でカバーされていないトピック

このノートブックでは、レコメンデーションシステムをどのように実装するのかを説明することにフォーカスしているので、以下のステージはカバーされていません。これらのステージはワークフローの図でグレーのブロックとして表現されています。

  1. データ収集と探索的データ分析。データガイドをご覧ください。
  2. 特徴量エンジニアリング。特徴量エンジニアリングはレコメンデーションシステムにおける重要なパートであり、このトピックに関する多くの情報を利用することができます。このノートブックでは、ユーザーとアイテムのインタラクションを含む整理されたデータセットを想定しています。このノートブックで使用されたデータセットの詳細については、データを参照ください。特徴量エンジニアリングの詳細については以下のリソースを参照ください。
  3. モデルチューニング。モデルチューニングには、特徴量エンジニアリング、モデル構造、モデルのハイパーパラメーター、モデルのパフォーマンスを改善するためのデータ収集ステージのアップデートを含む既存のパイプラインのコードの改訂が関係します。Databricksにおけるモデルチューニングのツールに関しては、Hyperparameter tuningをご覧ください。

Databricks 無料トライアル

Databricks 無料トライアル

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?