Share
Embed
Transcript
35 slides
-
4 グループミッション あらゆる価値を循環させ、あらゆる人の可能性を広げる “Circulate all forms of value to unleash
the potential in all people” -
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日 ②暗号資産・ブロックチェーン ③中村奎太 株式会社メルコイン -
事業展開 ビットコイン 取引サービス 「メルコイン」 スマホ決済サービス 「メルペイ」 フリマアプリ 「メルカリ」 事業者向けEコマース
プラットフォーム 「メルカリ Shops」 US版フリマアプリ 「mercari」 スポットワーク サービス 「メルカリ ハロ」 -
9 Confidential 商品詳細ページの「見た目が近い商品」 • テキスト情報の限界 C2Cマーケットプレイスでは出品者自身が商品情報を入力するた め、キーワードやカテゴリなどのテキスト情報にばらつきが生じ、 類似商品の検索精度に影響 •
画像主導の購買行動 「このデザインが気に入った」「この見た目に似た商品を探してい る」といった、ブランドやスペックよりも視覚的類似性を重視する ユーザーニーズへの対応 実装の背景 • 商品の見た目が似ている度合い(視覚的類似性)に基づく推薦 見た目が近い商品 -
10 Confidential • ファインチューニングなしのMobileNet (+PCA)から得られる128次元の商品画像 Embeddingを用いて近傍検索(ANN) 「見た目が近い商品」 version 1.0 見た目が近い商品
version 1.0 • MobileNetはCNNベースのモデルで表現力の面で不足感 • 自社データでの学習ができておらず、ドメインへの適応という観点で不十分 課題 -
11 Confidential • ファインチューニングなしのMobileNet (+PCA)から得られる128次元の商品画像 Embeddingを用いて近傍検索(ANN) 「見た目が近い商品」 version 1.0 見た目が近い商品
version 1.0 • MobileNetはCNNベースのモデルで表現力の面で不足感 • 自社データでの学習ができておらず、ドメインへの適応という観点で不十分 課題 → より表現力の高いモデル を自社データでファインチューニング し、新たな画像 Embeddingモデルを構築 -
13 Confidential • Vision Language ModelのSigLIPをメルカリの商品データ 100万件程度でファ インチューニングし、画像Embeddingモデルを構築 • オフライン評価:
◦ 定量評価: 「見た目が近い商品」v 1.0の行動ログを使って検索指標で評価 ◦ 定性評価: クエリ画像と似ているとして推薦された商品画像を目視で確認 • 新たなEmbeddingモデルが最も高い性能をオフラインで示した SigLIPによるEmbeddingモデルの構築 -
14 Confidential • 大規模な画像とテキストのペアのデータセットで事前学習されたモデル (CLIP, ALIGN… etc) → ゼロショット画像分類や検索等のタスクで高い性能 •
SigLIP ◦ Loss関数にSigmoid Lossを使用 (CLIPはSoftmax Loss) ◦ ImageNet を使用した画像分類タスクを含む複数のベンチマークで、 SigLIPは既存手法と比べてパフォーマンスが大幅に向上 • Pretrained SigLIP: google/siglip-base-patch16-256-multilingual SigLIP -
15 Confidential 自社データによるファインチューニング • Pretrained SigLIPをメルカリの商品 データでFine Tuning • データセット
◦ 商品画像と商品名のペア ◦ 件数: 1,000,000件 • 事前学習の方法と同じく Sigmoid Lossにより対照学習 -
16 Confidential 自社データによるファインチューニング • 実験環境: L4 GPU x 1, Vertex
AI Custom Job, • Dataset: GCS, BigQuery • Libraries: PyTorch, transformers, WebDataset • 実験管理: wandb -
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 | ... -
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 -
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さんの資料 がおすすめ -
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による次元圧縮」 をデプロイすることに決定 -
24 Confidential Embedding Worker • 「お客さまによる出品」をTriggerに発行されるPub/Sub Eventを Subscribe. • Embedding
Workerはk8s上で動作する単一の L4 GPU -
26 Confidential Vertex AI Vector Search • Embeddingを用いた近傍検索(ANN)にはVertex AI Vector
Searchを 使用し、数千万件程度の商品画像 Embeddingを格納。 -
28 Confidential Index Deletion Job • 削除された商品や売却済みの商品のEmbeddingをVector Search上から 削除する •
Cloud Composer (Apache Airflow)を使用し、CronでBatch Jobが動 作 -
29 Confidential Tips: TensorRTによるモデル効率化 • TensorRT: ◦ 学習済みのMLモデルをPrecision CalibrationやLayer Fusion等
で NVIDIA GPU上で高速かつ効率的に実行 できるように最適化 • 毎秒大量の出品が生成され、高速に推論を行う必要がある → SigLIPのImage Encoderをtorch2trt を用いて、 TensorRT 形式に変換 • 推論時間が 約5倍高速化 -
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 -
32 Confidential A/Bテスト • 「見た目が近い商品」でA/Bテスト ◦ Control: 見た目が近い商品 by MobileNet(v1.0)
◦ Treatment: 見た目が近い商品 by SigLIP • A/Bテストの結果: ◦ クリック率: + 50% ◦ 詳細ページ経由のCVR(購買率): +14% • 新しいモデルは無事採用 & 100% Release 🎉 -
34 Confidential まとめ • Vision Language Modelを活用し、メルカリの商品詳細ページの類似 画像レコメンドの「見た目が近い商品」の性能を改善 • SigLIPモデルを100万件のメルカリの商品データでファインチューニン
グ。 • オフライン評価を行い、性能改善を確認したため, A/Bテストを実施 → タップ率 +50%, 詳細経由の購買率 + 14% • 構築したモデルは推薦のみならず, 画像検索等、至る箇所で使われてい る。今後も継続的に改善予定