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

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

Avatar for Yuki Yada Yuki Yada
March 28, 2025

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

Avatar for Yuki Yada

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% • 構築したモデルは推薦のみならず, 画像検索等、至る箇所で使われてい る。今後も継続的に改善予定