私はTwitterでダイナミック・プロダクト・広告をリードし、実際の時間で何百万ものユーザーと何百万もの電子商取引製品をマッチしました. 出力は各ユーザーが最も購入する可能性のあるトップ5〜6の製品でした. システムはクラシックのMLモデルの製品とユーザーの組み込みを使用して、Twitterの規模でパーソナライズされた広告を提供しました. ブランド広告と比較して、CTRの15〜18%の改善とコンバージョン率の12%の改善を見ました. それは数年前のことだったが、今では誰もがAIと大言語モデルについて、まるですべてを革命的に変えるかのように話している。それで、私は今日のダイナミック・プロダクト・広告を構築するならば、LLMを使うだろうか?そして、もっと重要なのは、何が全く変わらないだろうか、そしてなぜだろうか。 答え:私はシステムの約20%のためのLLMを使用し、特に埋め込みを生成し、他のすべてを同じように保ちます。 オリジナルアプローチ 問題は、ユーザーがクリックして購入する可能性が最も高いユーザーに製品を勧めることであり、彼らはタイムラインを急速にスロールしています。 何百万もの製品と広告主から選ぶことがありました。 その上に、何百万ものユーザーが同時にスロールしていました。 システムは、サブミリ秒遅延で何百万ものユーザーのための予測をしなければならなかった。 広告サービスパイプラインは、最大で50ミリ秒未満で予測を完了する必要があります。 方法は非常に教科書でした(少なくとも2022年)。 製品 Embeddings タイトル、説明、カテゴリ、価格など、各製品のメタデータを使用して、128次元の密集ベクター空間でそれを暗号化しました。 ユーザー Embeddings ユーザーは、プラットフォームへの参加、プロフィール情報、過去の購入などのシグナルに基づいてベクトルで表されていました。 マッチングモデル 結論の時点で、我々は2段階のアプローチを使用します。第一に、我々は、ユーザーの組み込みに近い候補製品を取得するために、近い近隣の検索を迅速に実行します。 このアプローチは機能しました。モデルとANN(約近隣)は、ツイッターのスケールに十分に説明可能で、デバッグ可能で、最も重要なことです。 今日はどうやってこれに近づくか。 もし私が今日このシステムを構築していれば、これが私が実際に変えることになる。 Better Product Embeddings with LLM Encoders(LLMエンコーダー) 最大の改善は、より良い製品埋め込みを生成することです。現代の大言語モデルは、セマンティックな意味と文脈を理解するのに驚くほど優れています。製品の説明をまとめる代わりに(そのほとんどが最初はかなり悪かった)、私はLLMベースのエンコーダーを使用して製品埋め込みを生成します。 これは、「ランニングシューズ」というタイトルの製品が「ジョギングのためのスニーカー」に近いものだからです、正確な言葉を共有していないにもかかわらず。 これを無駄に取り扱う。 all-MiniLM-L6-v2 私たちはかつて「Air Max 270 React」というタイトルのNike製品カタログのエントリがあり、2022の埋め込みは、キーワードの重なりがないため、「スカートのランニングシューズ」や「スポーツシューズ」を探しているユーザーと一致しませんでした。 コールドスタートの改善 LLMsはまた、冷たいスタートの取り扱いを少し改善します。新しい製品がカタログに表示されるとき、LLMは製品説明、レビュー、画像から豊富なシグナルを抽出して合理的な初期埋め込みを生成することができます。同様に、希少な関与歴を持つ新しいユーザーにとって、現代のエンコーダーは、プロフィール情報と初期のツイート(あるいはそれがある場合)をよりよく理解し、有意義な表現を作成することができます。 では、LLMは実際の建築にどのように適合するのでしょうか。 ハイブリッドアプローチ 実際のレイヤーの保管とサービスのためのクラシック ML をまだ使用します。 Feature LLM or Classic LLM-based encoder to generate user and product embeddings LLM Match embeddings to generate candidate products per user Classic Final scoring and ranking Classic LLMベースのエンコーダーで、ユーザーと製品の組み込みを生成 LLM Match embeddings to generate candidate products per user(ユーザーごとに候補製品を生成するためのマッチングインベーディング) クラシック 最終スコアとランキング クラシック なぜクラシックなモデルを使うのか? 理由は遅延、コスト、説明性です。 LLMsは、10ミリ秒未満で何百万ものユーザーの製品を予測することはできません。 彼らは数値機能を組み合わせ、ランキング決定をするためのオーバーキルです。 クラシックモデルはマイクロ秒でこれを行うでしょう。 Twitterの規模では、1msと10msの推定時間の違いは、インフラストラクチャコストとユーザー関与の測定可能な減少に数百万ドルを翻訳します。 すべての予測リクエストのためのLLM推論を実行することは、私たちの古典的なアプローチよりも50〜100倍費用がかかります。 「Ad Copy」とは? フライト上でパーソナライズされた広告のコピーを生成するためにLLMsを使用することについて、インターネット上で多くのハイプがありますか、またはリアルタイムでユーザーの意図について議論する。 LLMsを使用して広告コピーを生成することは、製品の特徴、不一致なブランド、およびこの規模でレビューするのが難しいコンテンツについての幻想のような許容できないリスクを導入します。 システムは、1日あたり何百万もの広告変数を表示する必要があり、正確性とブランドの安全性のためにそれらをレビューする方法はありません。 それが存在しない場合、「防水」または「FDA承認」のような製品についての幻想的な主張は、法的責任を生み出すでしょう。 何が変わらないのか。 システムが2022年の埋め込みや2026年のLLMを使用するかに関係なく、根本的な課題は同じである:誰かが騒々しい信号から望むものを推測する。ランニングシューズについてツイートする人は、次のカップルのマラソンランナーのショッピングかもしれない、またはテレビでレースを見たばかりの偶然の観察者です。この問題は解決するために良いデータ、慎重な機能エンジニアリング、そして多くの実験が必要です。 Understanding user intent 広告システムはタイムラインのロードを遅らせることができない。私は、うまくオイル化されたシステムに100msの遅延を追加したため、A/BテストでいくつかのMLインフラシステムが崩壊するのを見た。 Latency requirements 新製品やユーザーの冷たいスタートなどの問題、カタログに欠けているか、または間違った製品記述がある場合のデータ品質の問題は、依然として存在します。これらの問題は、モデルアーキテクチャに正方形であり、モデルアーキテクチャの構築ではなく、システム設計思考を必要とする。 Last-mile problems シンプルなモデルで週10回実験を実行できるチームは、非常に洗練されたモデルで週1回実験を実行するチームを常に上回ります。迅速にテストし、結果を測定し、繰り返す能力は、モデル品質の限界的な改善よりも価値があります。当社がダイナミック製品広告を立ち上げたとき、毎週3〜4回実験を実行しました。我々は「完璧な」モデルアーキテクチャを選択するよりも速さが重要でした。 Iteration speed 本当の疑問は、ボトルネックはどこにあるのか。 正直に言うと、現代のAIで今日の「どうやって作るか」という議論のほとんどは、問題に欠けているのであり、問題は新しいテクノロジーで何が可能かというのではありません。 私たちにとって、ボトルネックは組み込みの品質に関係したことはありませんでした。それはユーザーの意図を理解し、製品カタログ内のデータ品質の問題を処理し、冷たいスタートの問題を管理し、スケールに対応できるシステムを構築することでした。 今日このシステムを構築していたら、私は20%の努力を「LLMを使用してより良い埋め込みを生成する」ことに費やし、80%は、スケール、データの品質、実験、ユーザーの意図を理解する同じ問題に費やします。 非人気の意見 テクノロジー業界は革命的な物語を愛しています。ブロックチェーンとWeb3の周辺で数年前にも似たようなヒープがありました。しかし、真実は、ほとんどの生産MLシステムが動作し、スケールし、お金を稼ぐことです。LLMを使用する革命的なアプローチは5%の改善をもたらしますが、10倍遅くなり、100倍高価になります。現代のAIは、すでに動作している全体のシステムの代替としてではなく、ボトルチェーンに慎重に適用されると真に価値があります。