Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Vision Language Modelを活用した メルカリの類似画像レコメンドの性能改善

Yuki Yada
March 28, 2025

Vision Language Modelを活用した メルカリの類似画像レコメンドの性能改善

Yuki Yada

March 28, 2025
Tweet

More Decks by Yuki Yada

Other Decks in Technology

Transcript

  1. 5 会社概要 Japan Region Mercari Group Fintech メルカリグループは、株式会社メルカリと、その連結子会社で構成されています。 Marketplace 株式会社メルカリ

    ◼設立 ◼事業内容 ◼所在地 ◼拠点 ◼代表取締役 CEO ◼CEO Marketplace     2013年2月1日     スマートフォン向けフリマアプリ     「メルカリ」の企画・開発・運営     〒106-6118 東京都港区六本木6-10-1     六本木ヒルズ森タワー     東京、福岡、大阪     山田進太郎     山本真人 ①2017年11月20日 ②金融事業 ③永沢岳志 株式会社メルペイ ①2014年1月 ②US版メルカリの企画・開発・運営 ③John Lagerling ④Palo Alto, California Mercari, Inc.(US) ①1991年10月1日 ②フットボールクラブ運営 ③小泉文明 ④茨城県立カシマサッカースタジアム 指定管理茨城県鹿嶋市 粟生東山2887番地 株式会社鹿島 アントラーズ・エフ・シー インド開発拠点 ①2022年6月 ②インターネットサービス開発 ③Carlos Donderis(取締役 Managing Director) ④Bangalore, Karnataka, India Mercari Software Technologies India Private Limited ①2021年4月28日 ②暗号資産・ブロックチェーン ③中村奎太 株式会社メルコイン
  2.    事業展開 
 ビットコイン 取引サービス 「メルコイン」 スマホ決済サービス 「メルペイ」 フリマアプリ 「メルカリ」 事業者向けEコマース

    プラットフォーム 「メルカリ Shops」 US版フリマアプリ 「mercari」 スポットワーク サービス 「メルカリ ハロ」
  3. 9 Confidential 商品詳細ページの「見た目が近い商品」 • テキスト情報の限界 
 C2Cマーケットプレイスでは出品者自身が商品情報を入力するた め、キーワードやカテゴリなどのテキスト情報にばらつきが生じ、 類似商品の検索精度に影響
 •

    画像主導の購買行動 
 「このデザインが気に入った」「この見た目に似た商品を探してい る」といった、ブランドやスペックよりも視覚的類似性を重視する ユーザーニーズへの対応 実装の背景 • 商品の見た目が似ている度合い(視覚的類似性)に基づく推薦 見た目が近い商品
  4. 10 Confidential • ファインチューニングなしのMobileNet (+PCA)から得られる128次元の商品画像 Embeddingを用いて近傍検索(ANN) 「見た目が近い商品」 version 1.0 見た目が近い商品

    version 1.0 • MobileNetはCNNベースのモデルで表現力の面で不足感 • 自社データでの学習ができておらず、ドメインへの適応という観点で不十分 課題
  5. 11 Confidential • ファインチューニングなしのMobileNet (+PCA)から得られる128次元の商品画像 Embeddingを用いて近傍検索(ANN) 「見た目が近い商品」 version 1.0 見た目が近い商品

    version 1.0 • MobileNetはCNNベースのモデルで表現力の面で不足感 • 自社データでの学習ができておらず、ドメインへの適応という観点で不十分 課題 → より表現力の高いモデル を自社データでファインチューニング し、新たな画像 Embeddingモデルを構築
  6. 13 Confidential • Vision Language ModelのSigLIPをメルカリの商品データ 100万件程度でファ インチューニングし、画像Embeddingモデルを構築 • オフライン評価:

    ◦ 定量評価: 「見た目が近い商品」v 1.0の行動ログを使って検索指標で評価 ◦ 定性評価: クエリ画像と似ているとして推薦された商品画像を目視で確認 • 新たなEmbeddingモデルが最も高い性能をオフラインで示した SigLIPによるEmbeddingモデルの構築
  7. 14 Confidential • 大規模な画像とテキストのペアのデータセットで事前学習されたモデル (CLIP, ALIGN… etc) → ゼロショット画像分類や検索等のタスクで高い性能 •

    SigLIP ◦ Loss関数にSigmoid Lossを使用 (CLIPはSoftmax Loss) ◦ ImageNet を使用した画像分類タスクを含む複数のベンチマークで、 SigLIPは既存手法と比べてパフォーマンスが大幅に向上 • Pretrained SigLIP: google/siglip-base-patch16-256-multilingual SigLIP
  8. 15 Confidential 自社データによるファインチューニング • Pretrained SigLIPをメルカリの商品 データでFine Tuning • データセット

    ◦ 商品画像と商品名のペア ◦ 件数: 1,000,000件 • 事前学習の方法と同じく Sigmoid Lossにより対照学習
  9. 16 Confidential 自社データによるファインチューニング • 実験環境: L4 GPU x 1, Vertex

    AI Custom Job, • Dataset: GCS, BigQuery • Libraries: PyTorch, transformers, WebDataset • 実験管理: wandb
  10. 17 Confidential オフライン評価 (定量評価) • 「見た目が近い商品」version 1.0で得られたTapログを用いて定量評価 • 評価指標: nDCG@K,

    Precision@K, session_id | query_item_id | similar_item_id | clicked | ----------------|----------------|-----------------|---------| 0003e191… | m826773… | m634631… | 0 | 0003e191… | m826773… | m659824… | 1 | 0003e191… | m826773… | m742172… | 1 | 0003e191… | m826773… | m839148… | 0 | 0003e191… | m826773… | m758586… | 0 | 0003e191… | m826773… | m808515… | 1 | ...
  11. 18 Confidential オフライン評価 (定量評価) 手法 nDCG@5 Precision@1 Precision@3 Random 0.525

    0.256 0.501 MobileNet 0.607 0.356 0.601 SigLIP + PCA 0.647 0.406 0.658 SigLIP 0.662 0.412 0.660
  12. 20 Confidential その他試したこと : Matryoshka Representation Learning • 後述するストレージにかかるコストの観点からベクトルの次元圧縮は必須 →

    次元数削減のためにMatryoshka Representation Learning(MRL)を 検討. • Matryoshka Representation Learning(MRL): 指定した次元の高品質なEmbeddingモデル(複数)を一度の学習で構築でき る表現学習の手法 ◦ E.g. 128, 256, 512次元の画像Embeddingモデルを一度の学習で構築 できる ◦ Popular use case: OpenAI Text Embedding • 詳しい理論は省くが、気になる人は 論文か、hppさんの資料 がおすすめ
  13. 21 Confidential その他試したこと : Matryoshka Representation Learning • SigLIPのMRL事前学習モデルの visheratin/nllb-siglip-mrl-large

    を用い てファインチューニングしたが、オフライン評価指標が PCAによる次元圧縮よ り低くなってしまい、あまりうまくいかず ... 😢 • visheratin/nllb-siglip-mrl-large の内部実装を見たところ、指定した次元 数のEmbeddingに単純に線形変換しており、MRLとはいえなさそうなので Pretrained modelに問題...? • A/Bテストでは最終的に 「SigLIP + PCAによる次元圧縮」 をデプロイすることに決定
  14. 26 Confidential Vertex AI Vector Search • Embeddingを用いた近傍検索(ANN)にはVertex AI Vector

    Searchを 使用し、数千万件程度の商品画像 Embeddingを格納。
  15. 29 Confidential Tips: TensorRTによるモデル効率化 • TensorRT: ◦ 学習済みのMLモデルをPrecision CalibrationやLayer Fusion等

    で NVIDIA GPU上で高速かつ効率的に実行 できるように最適化 • 毎秒大量の出品が生成され、高速に推論を行う必要がある → SigLIPのImage Encoderをtorch2trt を用いて、 TensorRT 形式に変換 • 推論時間が 約5倍高速化
  16. 30 Confidential Tips: PCAを用いた次元圧縮によるコスト削減 • Vertex AIのVector Searchは、データサイズやノード数、QPSといった要素 により課金される •

    コストの最適化のため古典的なPCAによる次元圧縮を実施 ◦ 768(original) to 128 • データサイズによるコスト : 80%程度削減 ◦ 元々の次元数の 97%程度の性能を維持 • 古典的な手法でありながらかなりコスト削減にインパクト があった 手法 nDCG@5 Precision@1 Precision@3 SigLIP 0.662 0.412 0.660 SigLIP + PCA 0.647 0.406 0.658
  17. 32 Confidential A/Bテスト • 「見た目が近い商品」でA/Bテスト ◦ Control: 見た目が近い商品 by MobileNet(v1.0)

    ◦ Treatment: 見た目が近い商品 by SigLIP • A/Bテストの結果: ◦ クリック率: + 50% ◦ 詳細ページ経由のCVR(購買率): +14% • 新しいモデルは無事採用 & 100% Release 🎉
  18. 34 Confidential まとめ • Vision Language Modelを活用し、メルカリの商品詳細ページの類似 画像レコメンドの「見た目が近い商品」の性能を改善 • SigLIPモデルを100万件のメルカリの商品データでファインチューニン

    グ。 • オフライン評価を行い、性能改善を確認したため, A/Bテストを実施 → タップ率 +50%, 詳細経由の購買率 + 14% • 構築したモデルは推薦のみならず, 画像検索等、至る箇所で使われてい る。今後も継続的に改善予定