Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fuku...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
monochromegane
March 04, 2026
Programming
1
93
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fukuoka-06-vector-attr
2026.03.04 [AI/ML特集] Python Meetup Fukuoka #6
https://lycorptech-fukuoka.connpass.com/event/380867/
monochromegane
March 04, 2026
Tweet
Share
More Decks by monochromegane
See All by monochromegane
Claude Codeセッション現状確認 2026福岡 / fukuoka-aicoding-00-beacon
monochromegane
3
380
Go言語での実装を通して学ぶLLMファインチューニングの仕組み / fukuokago22-llm-peft
monochromegane
0
200
不確実性下における目的と手段の統合的探索に向けた連続腕バンディットの応用 / iot70_gp_rff_mab
monochromegane
2
290
なめらかなシステムと運用維持の終わらぬ未来 / dicomo2025_coherently_fittable_system
monochromegane
0
8.1k
ベクトル検索システムの気持ち
monochromegane
38
12k
Go言語での実装を通して学ぶ、高速なベクトル検索を支えるクラスタリング技術/fukuokago-kmeans
monochromegane
1
280
Go言語でターミナルフレンドリーなAIコマンド、afaを作った/fukuokago20_afa
monochromegane
2
340
多様かつ継続的に変化する環境に適応する情報システム/thesis-defense-presentation
monochromegane
1
1.2k
Online Nonstationary and Nonlinear Bandits with Recursive Weighted Gaussian Process
monochromegane
0
810
Other Decks in Programming
See All in Programming
Claude Code、ちょっとした工夫で開発体験が変わる
tigertora7571
0
190
AI巻き込み型コードレビューのススメ
nealle
2
2.5k
株式会社 Sun terras カンパニーデック
sunterras
0
1.9k
TROCCOで実現するkintone+BigQueryによるオペレーション改善
ssxota
0
120
nilとは何か 〜interfaceの構造とnil!=nilから理解する〜
kuro_kurorrr
3
1.6k
Geminiの機能を調べ尽くしてみた
naruyoshimi
0
190
要求定義・仕様記述・設計・検証の手引き - 理論から学ぶ明確で統一された成果物定義
orgachem
PRO
9
5k
登壇資料を作る時に意識していること #登壇資料_findy
konifar
5
2.1k
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
160
AI活用のコスパを最大化する方法
ochtum
0
120
文字コードの話
qnighy
43
16k
日本だけで解禁されているアプリ起動の方法
ryunakayama
0
360
Featured
See All Featured
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
85
Designing for Performance
lara
611
70k
Agile that works and the tools we love
rasmusluckow
331
21k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
WCS-LA-2024
lcolladotor
0
470
Accessibility Awareness
sabderemane
0
71
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
430
AI: The stuff that nobody shows you
jnunemaker
PRO
3
340
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
240
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
130
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
290
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
Transcript
ベクトル検索のフィルタを用いた機械学習モデルとの統合 既存の埋め込みベクトルを活かした軽量なモデル統合手法 三宅悠介 / Pepabo R&D Institute, GMO Pepabo, Inc.
2026-03-04 [AI/ML 特集] Python Meetup Fukuoka #6
自己紹介 プリンシパルエンジニア 三宅 悠介 / @monochromegane Yusuke Miyake ペパボ研究所 研究員、博士(情報科学)
https://blog.monochromegane.com 1 / 31
目次 はじめに . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 ベクトル検索とは . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 ベクトル検索のサービス適用上の課題 . . . . . . . . . . . . . . . . . . . . . . . . . 10 ベクトル検索のフィルタを用いた解決 . . . . . . . . . . . . . . . . . . . . . . . . . 15 Vertex AI による実装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 まとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2 / 31
はじめに
はじめに • 情報システムと AI の統合において、ベクトル検索の重要性が増している • 汎用的で商用利用可能な学習済みモデルの登場も後押しとなり、さまざまなオン ラインサービスやアプリケーションで広く導入が進む • 本発表では、ベクトル検索をサービスに適用する際の課題と、ベクトル検索の
フィルタを用いた軽量な解決手法を紹介します 4 / 31
ベクトル検索とは
ベクトル検索の概要 • データを数値ベクトル(埋め込み)として表現し、ベクトル間の距離や類似度で 検索する手法 • 類似度指標: コサイン類似度、内積、ユークリッド距離 • クエリに近い k
個のベクトルを返す(k 近傍探索) 類似度検索 クエリ 埋め込みモデル クエリベクトル ベクトル インデックス Top-k 結果 6 / 31
埋め込み(Embedding)とは • DNN などを用いて目的に沿った形で表現されたベクトルのこと ‣ 特に、高次元で疎なデータから得られた低次元で密なベクトル表現を指す • モデルは学習タスクを通じて、類似したデータがベクトル空間上で近くに配置さ れる変換規則を獲得 •
モダリティに応じたモデルを使い分ける ‣ テキスト: Sentence Transformer ‣ 画像: Vision Transformer ‣ マルチモーダル: CLIP 等(テキストと画像を共有空間に埋め込む) 7 / 31
k 近傍探索の課題 • 大規模な埋め込みに対する線形探索(全数比較)はコストが高い • スカラ値のようなインデックスが欲しい ‣ KD-Tree、Ball-Tree などの空間分割インデックスが存在 •
しかし、次元数が増えると性能が劣化し、線形探索に近づく ‣ 埋め込みベクトルは数百〜数千次元 → 厳密な探索は現実的でない 8 / 31
近似最近傍探索(ANN) • 厳密な最近傍の近似解を高速に返すアプローチ • 代表的な手法: ‣ 量子化: ベクトルを圧縮して比較を高速化(PQ, ScaNN) ‣
クラスタリング: ベクトルをクラスタに分割し探索範囲を限定(IVF) ‣ グラフ: 近傍グラフを辿って近似解を探索(HNSW) ‣ 実用上はこれらを組み合わせて使う(例: IVF + PQ) 9 / 31
ベクトル検索のサービス適用上の 課題
埋め込みベクトルの特性と限界 • 埋め込みモデル(DNN 等)が目的に沿ったベクトル表現を学習 ‣ 学習タスクに最適化された類似性を捉える • しかし、ベクトル表現による類似性は、必ずしも利用者の目的に沿った類似性と は一致しない ‣
意味的に近い ≠ ビジネス上有用 ‣ 別の観点(価格帯、カテゴリ等)での絞り込みには向かない 11 / 31
課題の具体例 EC サイトの商品検索を考える: • クエリ: 「赤いワンピース」 • ベクトル検索の結果: 視覚的に類似した商品が上位に •
しかしビジネス上は… ‣ 購入されやすさが低い商品が上位に来てしまう ‣ 在庫切れ、価格帯のミスマッチ、季節外れ… → 埋め込みは学習タスクに最適化された表現であり、それ以外の観点は反映されな い → 意味的な類似性に独自のビジネス指標の考慮を加えるアプローチが必要 12 / 31
検索モデルの改善の課題 • オープンウェイトのモデルが自ドメインで有用とは限らない • ファインチューンやリランカーの構築にも相応の投資が必要: ‣ 学習データ: ドメイン固有のペアデータ(正例・負例)の収集 ‣ 評価基盤:
検索品質を定量的に測定する仕組み(Recall@k、MRR 等) ‣ 計算資源: GPU/TPU による学習、ハイパーパラメータ探索 ‣ 運用: モデルバージョン管理、インデックスの再構築 → 検索モデルの改善は中長期的な取り組み → 検索の仕組みに手を入れずに短期的に効果を出す手段が必要 13 / 31
目指すもの • ビジネス指標や利用目的に沿った検索結果を返したい • 既存のベクトル検索基盤はそのまま活かしたい • 軽量かつ迅速にモデルを統合できる手法が欲しい 14 / 31
ベクトル検索のフィルタを用いた 解決
アプローチ • 埋め込みベクトルはそのまま利用する • 別軸の ML モデルで推論した値をベクトルの属性として付与 • 検索時にその属性値でフィルタリングする 利点:
• 埋め込みモデルの再学習が不要 • 推論モデルは独立して開発・更新できる • 軽量・迅速な開発が可能 16 / 31
属性の付与方法 • ベクトルとは別に「属性」を管理し、検索時にフィルタとして適用する • 属性の付与方法は 2 通り: 直接抽出 推論 データ
埋め込みモデル ベクトル 属性 (カテゴリ等) ML モデル 属性 (推論値) フィルタ付き 検索 17 / 31
具体的な適用例 EC サイトでの商品ベクトル検索に適用する場合: 1. 既存: 商品画像の埋め込みベクトルで Vector Search インデックスを構築済 み
2. 推論モデル: 商品の特徴量から「購入されやすさスコア」を予測する軽量モデル を学習 3. バッチ推論: 全商品に対してスコアを算出し、ベクトルの属性として登録 4. 検索時: score >= 0.7 のようなフィルタを付与して検索 → 類似商品の中からビジネス指標の高い商品に絞り込める 18 / 31
推論モデルの開発サイクル 小さいモデルだからこそ短いサイクルで回せる: 特徴量設計 + 学習 バッチ推論 + 属性登録 検索結果の 評価
モデル改善 • 埋め込みモデルの再学習・インデックス再構築は不要 • 推論モデルの更新だけで属性値を差し替えられる • チーム間でモデル知見を再利用する基盤にもなりうる 19 / 31
Vertex AI による実装
Vertex AI の活用 Google Cloud の機械学習プラットフォーム Vertex AI が提供する機能を組み合 わせて実現:
• Model Registry: 学習済みモデルの登録・バージョン管理 • Prediction: 登録モデルによるオンライン推論とバッチ推論を提供 • Vector Search: マネージドなベクトル検索サービス ‣ ANN インデックスの構築・運用 ‣ 属性によるフィルタリングをサポート さらにデータウェアハウスサービス BigQuery との統合により: • バッチ推論の入出力を BigQuery テーブルで直接指定 • 推論結果から属性登録までのデータパイプラインがシンプルに 21 / 31
システム構成 属性登録 フィルタ 検索 BigQuery (学習データ) Vertex AI Training Vertex
AI Model Registry BigQuery (入力データ) Vertex AI Batch Prediction BigQuery (推論結果) Vertex AI Vector Search アプリ 22 / 31
モデル構築の 2 つのコンテナ Vertex AI にモデルを登録するには 2 つのコンテナが必要: コンテナ 役割
学習用 モデルの学習を実行し、アーティファクトをエクスポート 推論用 アーティファクトを読み込み、HTTP サーバーとして推論を提供 23 / 31
バッチ推論の利点 オンライン推論はリクエスト単位でリアルタイムに応答する方式。 今回は全商品に対して事前に推論するため、バッチ推論を採用: • 複数の API サーバーが並列稼働して大量データを一括処理 ‣ 1 リクエストあたり複数の入力がまとめて渡されるため推論も効率的
• BigQuery テーブルを直接入出力に指定できる ‣ データパイプラインがシンプルになる • 推論結果をまとめて属性登録する用途に適している 24 / 31
バッチ推論ジョブの実行(REST) { "displayName": "attribute-prediction", "model": "projects/PROJECT/locations/REGION/models/MODEL_ID", "inputConfig": { "instancesFormat": "bigquery",
"bigquerySource": { "inputUri": "bq://PROJECT.DATASET.INPUT" } }, "outputConfig": { "predictionsFormat": "bigquery", "bigqueryDestination": { "outputUri": "bq://PROJECT.DATASET.OUTPUT" } }, "instanceConfig": { ... } // 後述 } 25 / 31
実装のポイント: instanceConfig BigQuery の各行は自動的に推論 API のリクエストに変換される。 instanceConfig でその変換方法を制御: • includedFields:
入力に含めるカラムを指定 • instanceType: "object" にすると各行をキーと値のペアとして渡す ‣ デフォルト("array")では配列形式になり、推論コンテナの期待する形式と不 一致になる "instanceConfig": { "includedFields": ["id", "features"], "instanceType": "object" } → {"id": 1, "features": [...]} の形式でリクエストが組み立てられる 26 / 31
2 種類の属性型 Vertex AI Vector Search では 2 種類の属性型をサポート: 型
説明 トークン型(restricts) 文字列の許可/拒否リストによるフィルタ 数値型(numericRestricts) 数値の比較演算によるフィルタ 検索時に datapoint へフィルタ条件を指定: "restricts": [ {"namespace": "category", "allowList": ["dress"]}], "numericRestricts": [ {"namespace": "score", "op": "GREATER_EQUAL", "valueFloat": 0.7}] 27 / 31
実装のポイント: CSV での数値型属性 • CSV でベクトルデータを登録する際、数値型の属性名には # プレフィックスが必 要 正しい記法:
#ratio=0.1f # を付けないと文字列(トークン型)として扱われてしまう。 28 / 31
まとめ
まとめ • ベクトル検索のフィルタ機能を活用し、既存の埋め込みベクトルを変更せずに ML モデルを統合 • 推論値を属性として付与することで軽量かつ迅速な統合を実現 • バッチ推論 +
ベクトル属性の組み合わせでシステムをシンプルに保つ 展望: Bernardi ら(2019)が提唱する意味的レイヤ(semantic layer)の構 築 • チーム間でのモデル知見の再利用 • 推論結果の横断的な活用基盤へ 参考: Bernardi et al., “150 Successful Machine Learning Models: 6 Lessons Learned at Booking.com,” KDD 2019. 30 / 31
Links • ベクトル検索のフィルタを用いた機械学習モデルとの統合 https://rand.pepabo.com/article/2025/10/23/vector-attr/ • ベクトル検索の気持ち https://speakerdeck.com/monochromegane/inside-vector-search 31 / 31