によって Joel Bowen 、 ジェイコブ・ポーテス による投稿
Ibottaでは、「すべての買い物を価値あるものに(Make Every Purchase Rewarding)」することをミッションとしています。D2C(direct-to-consumer)アプリ、ブラウザ拡張機能、ウェブサイトを通じて、ユーザー(私たちは「Saver」と呼んでいます)が関連性の高いオファーを見つけて有効化できるように支援することは、このミッションの極めて重要な要素です。当社のD2Cプラットフォームは、食料品のお得な情報をアンロックしたり、ボーナス特典を獲得したり、次の旅行を計画したりするなど、何百万人もの買い物客が日々の買い物からキャッシュバックを得るのを支援しています。また、Ibotta Performance Network(IPN)を通じて、WalmartやDollar Generalなどの大手小売企業向けにホワイトレーベルのキャッシュバックプログラムを提供しており、2,600以上のブランドがパートナーエコシステム全体で2億人以上の消費者にデジタルオファーを届けるのを支援しています。
その舞台裏では、当社のデータチームと機械学習チームが、不正検知、オファー推奨エンジン、検索の関連性などの重要なエクスペリエンスを支え、Saverのジャーニーをパーソナライズし、安全なものにしています。規模の拡大に伴い、あらゆるタッチポイントにおけるすべてのインタラクションをサポートする、データ駆動型のインテリジェントなシステムが必要となっています。
D2CとIPN全体において、検索はエンゲージメントにおいて極めて重要な役割を果たしており、ビジネスの規模、進化するオファー内容、そして変化するSaverの期待に対応し続ける必要があります。
本記事では、野心的なハッカソンプロジェクトから、現在何百万人ものSaverに恩恵をもたらしている堅牢な本番機能に至るまで、当社のD2C検索エクスペリエンスをどのように大幅に改善したかをご紹介します。
ユーザーの検索行動は、単純なキーワードから、自然言語、スペルミス、会話的なフレーズを取り入れる形へと進化しています。現代の検索システムは、ユーザーが入力した内容と実際の意図とのギャップを埋め、文脈や関係性を解釈して、クエリの用語がコンテンツと完全に一致しない場合でも、関連性の高い結果を提供する必要があり ます。
Ibottaでは、独自の自社開発検索システムが、進化するSaverの期待に対応するのに苦慮することがあり、それを改善する機会があると考えていました。
私たちが注目した主な改善の機会は以下の通りです。
私たちは、システムが変化するオファー内容、検索行動、そして進化するSaverの期待に、より適切に対応できると信じていました。そして、Saverとブランドパートナーの両方にとっての価値を高める機会を見出しました。
従来の検索システムの限界に対処するには、集中的な取り組みが必要でした。このイニシアチブは、データ、エンジニアリング、マーケティング分析、機械学習のメンバーを含むクロスファンクショナルなチームが集まり、一部のメンバーが「Databricks Data + AI Summit」で学んだDatabricks AI Searchを使用して、最新の代替検索システムを構築するというアイデアを出した社内ハッカソンで、大きな弾みがつきました。
わずか3日間で、当社のチームはセマンティックに関連性の高い検索結果を提供する、実用的な概念実証を開発しました。その方法は以下の通りです。
このハッカソンプロジェクトは最優秀賞を獲得し、プロトタイプを本番システムへと移行するための強力な社内の支持と推進力を生み出しました。数 ヶ月にわたり、Databricksのエンジニアや研究者と緊密に連携しながら、プロトタイプを堅牢で本格的な本番検索システムへと変革させました。
ハッカソンの概念実証を本番環境に対応したシステムに移行するには、慎重なイテレーションとテストが必要でした。このフェーズは、技術的な統合やパフォーマンスチューニングだけでなく、期待されるシステムの改善がSaverの行動やエンゲージメントの好ましい変化につながるかどうかを評価するためにも極めて重要でした。検索が果たす不可欠な役割と、社内システム全体にわたる深い統合を考慮し、私たちは次のアプローチを採用しました。従来の検索システムを呼び出していた主要な社内サービスを修正し、それらの呼び出しをDatabricks AI Searchエンドポイントへのリクエストに置き換える一方で、レガシーシステムへの堅牢でスムーズなフォールバックを組み込みました。
初期の取り組みの大部分は、以下の理解に焦点を当てていました。
最初の1ヶ月間、少数のSaverを対象にテストを実施しましたが、期待していたエンゲージメントの結果は得られませんでした。クリック数、アンロック(Saverがオファーに関心を示すこと)、およびアクティベーションの減少に示されるように、特に最もアクティブなSaverの間でエンゲージメントが低下しました。
しかし、AI Searchソリューションは以下のような大きなメリットをもたらしました。
システムの基本的な技術パフォーマンスには満足していたため、その高い柔軟性こそが、検索結果の品質を反復的に改善し、期待外れだったエンゲージメント結果を克服するために必要な重要な強みであると考えました。
最初のテスト結果を受けて、検索のイテレーションをA/Bテストのみに頼ることは明らかに非効率的で非現実的でした。埋め込みモデル、テキストの組み合わせ、ハイブリッド検索の設定、近似最近傍探索(ANN)のしきい値、リランキングオプションなど、検索品質に影響を与える変数は膨大でした。
この複雑さを乗り越え、進捗を加速させるために、私たちは堅牢な評価フレームワークを確立することにしました。このフレームワークは、当社の特定のビジネスニーズに独自に適合し、オフラインのパフォーマンス指標から現実世界のユーザーエンゲージメントを予測できる必要がありました。
当社のフレームワークは、50以上のオンラインおよびオフラインの指標を追跡する統合的な評価環境を中心に設計されました。オフラインでは、関連性を測定するために、平均逆順位(MRR)やprecision@kなどの標準的な情報検索指標を監視しました。極めて重要な点として、これをオファーのアンロックやクリック率などのオンラインの現実世界のエンゲージメントシグナルと組み合わせました。重要な決定は、LLM-as-a-judgeを導入したことでした。これにより、データをラベリングし、オンラインのクエリと結果のペア、およびオフラインの出力の両方に品質スコアを割り当てることができました。このアプローチは、信頼性の高い指標に基づく迅速なイテレーションと、将来のモデルのファインチューニングに必要なラベル付きデータの収集において極めて重要であることが証明されました。
その過程で、私たちは以下を含むDatabricks Data Intelligence Platformの複数の機能を活用しました。
この堅牢なフレームワークにより、イテレーションの速度と確信度が劇的に向上しました。私たちは30回以上の異なるイテレーションを実施し、AI Searchソリューションにおける主要な変数の変更を体系的にテストしました。これには以下が含まれます。
この評価フレームワークは開発プロセスを一変させ、データ駆動型の意思決定を迅速に行い、ユーザーに公開する前に高い確信を持って潜在的な改善を検証できるようになりました。
エンゲージメントの結果が期待外れに終わった最初の広範なテストの後、私たちはオフライン評価で有望とされた特定のモデルのパフォーマンスの探索に焦点を移しました。本番環境でのテスト用に2つのサードパーティ製埋め込みモデルを選択し、AI Gatewayを介して安全にアクセスしました。これらのモデルを使用して、本番環境で数日間の短期的な反復テストを実施しました。
初期の結果に満足したため、主要なサードパーティモデルとその最適化された構成をレガシーシステムと比較する、より長期で包括的な本番テストを実施しました。このテストの結果は一長一短でした。エンゲージメント指標の全体的な改善が見られ、以前に見られた悪影響を排除することには成功したものの、これらの向上はわずかなものであり、ほとんどが1桁台のパーセンテージの増加にとどまりました。これらの段階的なメリットは、既存の検索エクスペリエンスを完全に置き換えることを十分に正当化できるほど説得力のあるものではありませんでした。
しかし、より厄介だったのは、詳細な分析から得られた知見でした。一部の検索クエリではパフォーマンスが大幅に向上した一方で、他のクエリではレガシーソリューションと比較して結果が悪化したのです。この不整合は、アーキテクチャ上の大きなジレンマをもたらしました。予測されるパフォーマンスに基づいてクエ リをルーティングする複雑なトラフィックスプリットシステムを導入するか(このアプローチでは、2つの異なる検索エクスペリエンスを維持する必要があり、ルールベースのルーティング管理という新たな複雑なレイヤーが導入されます)、あるいはその制限を受け入れるかという、どちらも魅力的ではない選択を迫られました。
これは重要な局面でした。取り組みを継続するのに十分な見込みは得られていたものの、自社開発の検索システムを完全に置き換えることを正当化するには、より大幅な改善が必要でした。これにより、私たちはファインチューニングを開始することにしました。
以前に検討したサードパーティ製の埋め込みモデルは、技術的な有望性とエンゲージメントのわずかな改善を示したものの、Ibottaにおける長期的なソリューションとしては受け入れがたい重大な制限もありました。これには以下が含まれます。
進むべき明確な道は、IbottaのデータとSavers(ユーザー)のニーズに特化してカスタマイズされたモデルをファインチューニングすることでした。これは、カスタム評価フレームワーク内のLLM-as-a-judgeプロセスを通じて、実際のユーザーから蓄積した何百万ものラベル付き検索インタラクションのおかげで可能になりました。この高品質な本番データが、私たちのトレーニングにおける「宝の山」となりました。
その後、私たちはオフライン評価フレームワークを最大限に活用し、体系的なファインチューニングプロセスに着手しました。
主な要素は以下の通りです。
フレームワーク内での多数のイテレーションと評価の結果、最もパフォーマンスの高いファインチューニング済みモデルは、合成評価において最良のサードパーティ製ベースラインを20%上回りました。これらの説得力のあるオフライン結果により、次の本番テストを加速するために必要な確信が得られました。
技術的な厳密さと反復プロセスが実を結びました。私たちは、Ibotta独自のオファーカタログとユーザーの行動パターンに特化して最適化された検索ソリューションを構築し、期待を上回る結果を達成するとともに、ビジネスの成長に合わせて進化するために必要な柔軟性を提供しました。これらの強力な結果に基づき、本番検索システムの基盤としてDatabricks AI Searchへの移行を加速しました。
独自のファインチューニング済み埋め込みモデルを使用した最終的な本番テストでは、以下の改善が見られました。
ユーザー向けのメリットにとどまらず、新しいシステムはパフォーマンスの面でも成果を上げました。AI Searchのクエリパフォーマンスとファインチューニング済みモデルのオーバーヘッドの低さにより、検索システムのレイテンシが60%低下しました。
この新しい基盤の柔軟性を活かし、Query Transformation(曖昧なクエリの強化)やMulti-Search(一般的な用語の展開)などの強力な拡張機能も構築しました。関連性の高いコアモデル、向上したシステムパフォーマンス、インテリジェントなクエリ拡張の組み合わせにより、よりスマートで高速、そして最終的により価値のある検索エクスペリエンスが実現しました。
埋め込みモデルの課題の1つは、新興ブランドなどのニッチなキーワードに対する理解が限られていることです。これに対処するため、事前定義されたルールに基づいて、実行中に検索語を動的に強化するクエリ変換レイヤーを構築しました。
例えば、埋め込みモデルが認識できない可能性のある新興のヨーグルトブランドをユーザーが検索した場合、クエリを変換してブランド名に「ギリシャヨーグルト」を書き加えた上で AI Search に送信できます。これにより、ハイブリッド検索用に元のテキストを保持しつつ、埋め込みモデルに必要な製品のコンテキストを提供できます。
この機能は、ファインチューニングのプロセスとも密接に連携します。変換に成功したクエリはトレーニングデータの生成に利用できます。例えば、将来のトレーニング実行において、元のブランド名をクエリとし、関連するヨーグルト製品をポジティブな結果(正例)として含めることで、モデルがこれらの特定の関連性を学習するのに役立ちます。
「ベビー」のような広範で一般的な検索の場合、AI Search が最初に返す候補の数は限られている可能性があり、ターゲティングや予算管理によってさらに絞り込まれることもあります。これに対 処し、結果の多様性を高めるために、単一の検索語を複数の関連する検索に展開するマルチ検索機能を構築しました。
システムは単に「ベビー」と検索するだけでなく、「ベビーフード」「ベビー服」「ベビー薬」「おむつ」などの用語の並列検索を自動的に実行します。AI Search はレイテンシが低いため、ユーザーへの全体的なレスポンス時間を増やすことなく、複数の検索を並列に実行できます。これにより、幅広いカテゴリの検索に対して、より広範で多様な関連結果を提供できます。
最終的な本番テストの成功と、ユーザーベースへの Databricks AI Search の全面的な展開(良好なエンゲージメント結果、柔軟性の向上、クエリ変換やマルチ検索などの強力な検索ツールの提供)を経て、このプロジェクトの道のりからいくつかの貴重な教訓が得られました。
ファインチューニングされた埋め込みモデルがすべての D2C チャネルで稼働したため、次はこのソリューションを Ibotta Performance Network (IPN) にスケールアップすることを検討しています。これにより、パブリッシャーネットワーク全体のさらに数百万人もの買い物客に、より優れたオファー発見機能を提供できるようになります。Databricks を通じてラベル付きデータの収集とモデルの洗練を続けることで、パートナーのニーズや顧客の期待に合わせて検索体験を進化させるための有利なポジションを築けていると確信しています。
ハッカソンのプロジェクトから本番システムへのこの道のりは、適切なツールとサポートがあれば、コア製品 の体験を迅速に再構築できることを証明しました。Databricks は、迅速な移行、効果的なファインチューニング、そして最終的には Savers にとってすべての検索をより価値あるものにする上で、極めて重要な役割を果たしました。
(このブログ記事はAI翻訳ツールを使用して翻訳されています) 原文記事
ブログを購読して、最新の投稿を受信トレイにお届けします。