Slide 1

Slide 1 text

論⽂紹介する⼈: 中野 優 https://sites.google.com/view/yu-nakano 図表は基本的に論⽂と発表より引⽤ PEFA: Parameter-Free Adapters for Large-scale Embedding-based Retrieval Models (WSDM 2024) Wei-Cheng Chang, Jyun-Yu Jiang, Jiong Zhang, Mutasem Al-Darabsah, Choon Hui Teo, Cho-Jui Hsieh, Hsiang-Fu Yu, S. V. N. Vishwanathan (Amazon, UCLA) URL: https://dl.acm.org/doi/10.1145/3616855.3635791 (https://arxiv.org/abs/2312.02429)

Slide 2

Slide 2 text

概要: 密検索 2 つくば市のおすすめ 観光スポット! つくば市の観光ス ポットとしては筑波 ⼭がおすすめです! ⾮常に眺めがよく、 … クエリ ⽂書 クエリベクトル ⽂書ベクトル 0.83 スコア 内積 つくば 観光 🔍 BERTなど ⼤規模⾔語モデル ⼤規模⾔語モデル BERTなど

Slide 3

Slide 3 text

① インデックス構築 → ② 検索 概要: 密検索 3 クエリ ⽂書 クエリベクトル つくば 観光 🔍 ⼤規模⾔語モデル BERTなど インデックス HNSW など ⼤規模⾔語モデル BERTなど 近似最近傍探索 つくば市のおすすめ 観光スポット! つくば市の観光ス ポットとしては筑波 ⼭がおすすめです! ⾮常に眺めがよく、 … 0.83 ランキング 0.72 0.56

Slide 4

Slide 4 text

① インデックス構築 → ② 検索 概要: 密検索 4 クエリ ⽂書 クエリベクトル つくば 観光 🔍 ⼤規模⾔語モデル BERTなど インデックス HNSW など ⼤規模⾔語モデル BERTなど 近似最近傍探索 つくば市のおすすめ 観光スポット! つくば市の観光ス ポットとしては筑波 ⼭がおすすめです! ⾮常に眺めがよく、 … 0.83 ランキング 0.72 0.56

Slide 5

Slide 5 text

① インデックス構築 → ② 検索 概要: 密検索 5 クエリ ⽂書 クエリベクトル つくば 観光 🔍 ⼤規模⾔語モデル BERTなど インデックス HNSW など ⼤規模⾔語モデル BERTなど 近似最近傍探索 つくば市のおすすめ 観光スポット! つくば市の観光ス ポットとしては筑波 ⼭がおすすめです! ⾮常に眺めがよく、 … 0.83 ランキング 0.72 0.56

Slide 6

Slide 6 text

① インデックス構築 → ② 検索 概要: 密検索 6 クエリ ⽂書 クエリベクトル つくば 観光 🔍 ⼤規模⾔語モデル BERTなど インデックス HNSW など ⼤規模⾔語モデル BERTなど 近似最近傍探索 つくば市のおすすめ 観光スポット! つくば市の観光ス ポットとしては筑波 ⼭がおすすめです! ⾮常に眺めがよく、 … 0.83 ランキング 0.72 0.56

Slide 7

Slide 7 text

① インデックス構築 → ② 検索 概要: 密検索 7 クエリ ⽂書 クエリベクトル つくば 観光 🔍 ⼤規模⾔語モデル BERTなど インデックス HNSW など ⼤規模⾔語モデル BERTなど 近似最近傍探索 つくば市のおすすめ 観光スポット! つくば市の観光ス ポットとしては筑波 ⼭がおすすめです! ⾮常に眺めがよく、 … 0.83 ランキング 0.72 0.56 この密検索システムの性能を どう改善するか? Q. effectiveness ここでの「性能」は ◯ effectiveness(ランキング結果の良さ) ✕ efficiency(速さ) であることに注意

Slide 8

Slide 8 text

Q. 密検索システムの性能をどう改善するか? 8 より⼤規模なモデル 事前学習・Fine-tuning 知識蒸留 BERT-small → BERT-large など 代表的な⽅法

Slide 9

Slide 9 text

Q. 密検索システムの性能をどう改善するか? 9 より⼤規模なモデル 事前学習・Fine-tuning 知識蒸留 BERT-small → BERT-large など 代表的な⽅法 たくさんの GPU やお⾦が必要

Slide 10

Slide 10 text

本研究がやったこと Q. 密検索システムの性能をどう改善するか? 10 訓練データのクエリを活⽤することで ⽐較的低コスト※ に 既存の密検索システムの性能を改善 ※ ここでの「⽐較的低コスト」とは,前ページで挙げた代表的な⽅法と⽐較した場合のコスト

Slide 11

Slide 11 text

⽂書に加えて,訓練データのクエリでもインデックスを構築 PEFA-X L 11 ① インデックス構築 → ② 検索 → ③ スコア統合 訓練データの クエリ ⽂書 つくば 観光 🔍 ⼤規模⾔語モデル BERTなど ⽂書インデックス HNSW など ⼤規模⾔語モデル BERTなど つくば市のおすすめ 観光スポット! つくば市の観光ス ポットとしては筑波 ⼭がおすすめです! ⾮常に眺めがよく、 … つくば 観光 🔍 つくば 観光 🔍 つくば 観光 🔍 つくば 観光 🔍 クエリインデックス HNSW など

Slide 12

Slide 12 text

クエリと⽂書の両⽅のインデックスを検索 PEFA-X L 12 ① インデックス構築 → ② 検索 → ③ スコア統合 ⽂書インデックス HNSW など クエリ クエリベクトル つくば 🔍 ⼤規模 ⾔語モデル BERTなど 近似最近傍探索 近似最近傍探索 クエリインデックス HNSW など 0.83 0.72 0.56 0.63 0.51 0.33 “つくば市” “筑波⼤学” “つくば駅” ⽂書 1 ⽂書 2 ⽂書 3

Slide 13

Slide 13 text

⽂書ごとに⽂書のスコアと,訓練データにおいて ⽂書が適合となるクエリのスコアを線形結合 PEFA-X L 13 ① インデックス構築 → ② 検索 → ③ スコア統合 クエリインデックス HNSW など クエリ つくば 🔍 ⽂書インデックス HNSW など 0.83 0.72 0.56 0.63 0.51 0.33 “つくば市” “筑波⼤学” “つくば駅” ⽂書 1 ⽂書 2 ⽂書 3 ここでは⽂書のスコアと クエリのスコアを 同じ重みとしている

Slide 14

Slide 14 text

⽂書ごとに⽂書のスコアと,訓練データにおいて ⽂書が適合となるクエリのスコアを線形結合 PEFA-X L 14 ① インデックス構築 → ② 検索 → ③ スコア統合 クエリインデックス HNSW など クエリ つくば 🔍 ⽂書インデックス HNSW など 0.83 0.72 0.56 0.63 0.51 0.33 “つくば市” “筑波⼤学” “つくば駅” ⽂書 1 ⽂書 2 ⽂書 3 まず⽂書 1 に着⽬すると…… ここでは⽂書のスコアと クエリのスコアを 同じ重みとしている

Slide 15

Slide 15 text

⽂書ごとに⽂書のスコアと,訓練データにおいて ⽂書が適合となるクエリのスコアを線形結合 PEFA-X L 15 ① インデックス構築 → ② 検索 → ③ スコア統合 クエリインデックス HNSW など クエリ つくば 🔍 ⽂書インデックス HNSW など 0.83 0.72 0.56 0.63 0.51 0.33 “つくば市” “筑波⼤学” “つくば駅” ⽂書 1 ⽂書 2 ⽂書 3 適合 不適合 適合 訓練データにおいて クエリ “つくば市” と “つくば駅” で ⽂書 1 が適合だったとする ここでは⽂書のスコアと クエリのスコアを 同じ重みとしている

Slide 16

Slide 16 text

⽂書ごとに⽂書のスコアと,訓練データにおいて ⽂書が適合となるクエリのスコアを線形結合 PEFA-X L 16 ① インデックス構築 → ② 検索 → ③ スコア統合 クエリインデックス HNSW など クエリ つくば 🔍 ⽂書インデックス HNSW など 0.83 0.72 0.56 0.63 0.51 0.33 “つくば市” “筑波⼤学” “つくば駅” ⽂書 1 ⽂書 2 ⽂書 3 スコア 0.5 * 0.83 + 0.5 * (0.63 + 0.33) = 0.895 適合 不適合 適合 ⽂書のスコアと ⽂書が適合となるクエリのスコアを 線形結合する ここでは⽂書のスコアと クエリのスコアを 同じ重みとしている

Slide 17

Slide 17 text

⽂書ごとに⽂書のスコアと,訓練データにおいて ⽂書が適合となるクエリのスコアを線形結合 PEFA-X L 17 ① インデックス構築 → ② 検索 → ③ スコア統合 クエリインデックス HNSW など クエリ つくば 🔍 ⽂書インデックス HNSW など 0.83 0.72 0.56 0.63 0.51 0.33 “つくば市” “筑波⼤学” “つくば駅” ⽂書 1 ⽂書 2 ⽂書 3 0.5 * 0.83 + 0.5 * (0.63 + 0.33) = 0.895 適合 不適合 適合 ⽂書のスコアと ⽂書が適合となるクエリのスコアを 線形結合する ここでは⽂書のスコアと クエリのスコアを 同じ重みとしている スコア

Slide 18

Slide 18 text

⽂書ごとに⽂書のスコアと,訓練データにおいて ⽂書が適合となるクエリのスコアを線形結合 PEFA-X L 18 ① インデックス構築 → ② 検索 → ③ スコア統合 クエリインデックス HNSW など クエリ つくば 🔍 ⽂書インデックス HNSW など 0.83 0.72 0.56 0.63 0.51 0.33 “つくば市” “筑波⼤学” “つくば駅” ⽂書 1 ⽂書 2 ⽂書 3 0.5 * 0.83 + 0.5 * (0.63 + 0.33) = 0.895 適合 不適合 適合 ここでは⽂書のスコアと クエリのスコアを 同じ重みとしている ⽂書のスコアと ⽂書が適合となるクエリのスコアを 線形結合する スコア

Slide 19

Slide 19 text

⽂書ごとに⽂書のスコアと,訓練データにおいて ⽂書が適合となるクエリのスコアを線形結合 PEFA-X L 19 ① インデックス構築 → ② 検索 → ③ スコア統合 クエリインデックス HNSW など クエリ つくば 🔍 ⽂書インデックス HNSW など 0.83 0.72 0.56 0.63 0.51 0.33 “つくば市” “筑波⼤学” “つくば駅” ⽂書 1 ⽂書 2 ⽂書 3 0.5 * 0.83 + 0.5 * (0.63 + 0.33) = 0.895 0.5 * 0.72 + 0.5 * 0.33 = 0.525 ここでは⽂書のスコアと クエリのスコアを 同じ重みとしている スコア

Slide 20

Slide 20 text

⽂書ごとに⽂書のスコアと,訓練データにおいて ⽂書が適合となるクエリのスコアを線形結合 PEFA-X L 20 ① インデックス構築 → ② 検索 → ③ スコア統合 クエリインデックス HNSW など クエリ つくば 🔍 ⽂書インデックス HNSW など 0.83 0.72 0.56 0.63 0.51 0.33 “つくば市” “筑波⼤学” “つくば駅” ⽂書 1 ⽂書 2 ⽂書 3 0.5 * 0.83 + 0.5 * (0.63 + 0.33) = 0.895 0.5 * 0.72 + 0.5 * 0.33 = 0.525 ここでは⽂書のスコアと クエリのスコアを 同じ重みとしている スコア 0.5 * 0.56 + 0.5 * (0.63 + 0.51) = 0.850

Slide 21

Slide 21 text

⽂書ごとに⽂書のスコアと,訓練データにおいて ⽂書が適合となるクエリのスコアを線形結合 PEFA-X L 21 ① インデックス構築 → ② 検索 → ③ スコア統合 クエリインデックス HNSW など クエリ つくば 🔍 ⽂書インデックス HNSW など 0.83 0.72 0.56 0.63 0.51 0.33 “つくば市” “筑波⼤学” “つくば駅” ⽂書 1 ⽂書 2 ⽂書 3 0.5 * 0.83 + 0.5 * (0.63 + 0.33) = 0.895 0.5 * 0.72 + 0.5 * 0.33 = 0.525 0.5 * 0.56 + 0.5 * (0.63 + 0.51) = 0.850 ここでは⽂書のスコアと クエリのスコアを 同じ重みとしている スコア

Slide 22

Slide 22 text

PEFA-X Lの課題: 2 つのインデックス 22 ① インデックス構築 → ② 検索 → ③ スコア統合 インデックスが 2 つあるのでディスク使⽤量も 2 つ分で多い 検索では 2 回の探索があるので計算量も 2 回分で遅い ⽂書インデックス HNSW など クエリ クエリベクトル つくば 🔍 ⼤規模 ⾔語モデル BERTなど 近似最近傍探索 近似最近傍探索 クエリインデックス HNSW など 0.83 0.72 0.56 0.63 0.51 0.33 “つくば市” “筑波⼤学” “つくば駅” ⽂書 1 ⽂書 2 ⽂書 3

Slide 23

Slide 23 text

PEFA-X Lの課題: 2 つのインデックス 23 ① インデックス構築 → ② 検索 → ③ スコア統合 インデックスが 2 つあるのでディスク使⽤量も 2 つ分で多い 検索では 2 回の探索があるので計算量も 2 回分で遅い ⽂書インデックス HNSW など クエリ クエリベクトル つくば 🔍 ⼤規模 ⾔語モデル BERTなど クエリインデックス HNSW など 0.83 0.72 0.56 0.63 0.51 0.33 “つくば市” “筑波⼤学” “つくば駅” ⽂書 1 ⽂書 2 ⽂書 3 近似最近傍探索 近似最近傍探索

Slide 24

Slide 24 text

PEFA-X Lの課題: 2 つのインデックス 24 ① インデックス構築 → ② 検索 → ③ スコア統合 インデックスが 2 つあるのでディスク使⽤量も 2 つ分で多い 検索では 2 回の探索があるので計算量も 2 回分で遅い ⽂書インデックス HNSW など クエリ クエリベクトル つくば 🔍 ⼤規模 ⾔語モデル BERTなど 近似最近傍探索 近似最近傍探索 クエリインデックス HNSW など 0.83 0.72 0.56 0.63 0.51 0.33 “つくば市” “筑波⼤学” “つくば駅” ⽂書 1 ⽂書 2 ⽂書 3

Slide 25

Slide 25 text

PEFA-X S 25 ① インデックス構築 → ② 検索 インデックス構築時に,⽂書ベクトルに対して 訓練データで適合となるクエリベクトルを⾜し合わせる 訓練データの クエリ ⽂書 つくば 観光 🔍 ⼤規模⾔語モデル BERTなど ⽂書インデックス HNSW など ⼤規模⾔語モデル BERTなど つくば市のおすすめ 観光スポット! つくば市の観光ス ポットとしては筑波 ⼭がおすすめです! ⾮常に眺めがよく、 … つくば 観光 🔍 つくば 観光 🔍 つくば 観光 🔍 つくば 観光 🔍

Slide 26

Slide 26 text

PEFA-X S 26 ① インデックス構築 → ② 検索 インデックス構築時に,⽂書ベクトルに対して 訓練データで適合となるクエリベクトルを⾜し合わせる 訓練データの クエリ ⽂書 ⼤規模⾔語モデル BERTなど ⽂書インデックス HNSW など ⼤規模⾔語モデル BERTなど つくば市のおすすめ 観光スポット! つくば市の観光ス ポットとしては筑波 ⼭がおすすめです! ⾮常に眺めがよく、 … つくば 観光 🔍 つくば 観光 🔍 つくば 観光 🔍 つくば 観光 🔍 つくば 観光 🔍 1 番⽬の⽂書に着⽬

Slide 27

Slide 27 text

PEFA-X S 27 ① インデックス構築 → ② 検索 インデックス構築時に,⽂書ベクトルに対して 訓練データで適合となるクエリベクトルを⾜し合わせる 訓練データの クエリ ⽂書 つくば 観光 🔍 ⼤規模⾔語モデル BERTなど ⽂書インデックス HNSW など ⼤規模⾔語モデル BERTなど つくば市のおすすめ 観光スポット! つくば市の観光ス ポットとしては筑波 ⼭がおすすめです! ⾮常に眺めがよく、 … つくば 観光 🔍 つくば 観光 🔍 つくば 観光 🔍 つくば 観光 🔍 1 番⽬の⽂書が適合となるクエリ

Slide 28

Slide 28 text

PEFA-X S 28 ① インデックス構築 → ② 検索 インデックス構築時に,⽂書ベクトルに対して 訓練データで適合となるクエリベクトルを⾜し合わせる 訓練データの クエリ ⽂書 つくば 観光 🔍 ⼤規模⾔語モデル BERTなど ⽂書インデックス HNSW など ⼤規模⾔語モデル BERTなど つくば市のおすすめ 観光スポット! つくば市の観光ス ポットとしては筑波 ⼭がおすすめです! ⾮常に眺めがよく、 … つくば 観光 🔍 つくば 観光 🔍 つくば 観光 🔍 つくば 観光 🔍 ⽂書のベクトルと 適合となるクエリの ベクトルを⾜し合わせて インデックスする

Slide 29

Slide 29 text

PEFA-X S 29 ① インデックス構築 → ② 検索 インデックス構築時に,⽂書ベクトルに対して 訓練データで適合となるクエリベクトルを⾜し合わせる 訓練データの クエリ ⽂書 つくば 観光 🔍 ⼤規模⾔語モデル BERTなど ⽂書インデックス HNSW など ⼤規模⾔語モデル BERTなど つくば市のおすすめ 観光スポット! つくば市の観光ス ポットとしては筑波 ⼭がおすすめです! ⾮常に眺めがよく、 … つくば 観光 🔍 つくば 観光 🔍 つくば 観光 🔍 つくば 観光 🔍 他の⽂書でも同様に インデックスする

Slide 30

Slide 30 text

PEFA-X S 30 ① インデックス構築 → ② 検索 インデックス構築時に,⽂書ベクトルに対して 訓練データで適合となるクエリベクトルを⾜し合わせる 訓練データの クエリ ⽂書 つくば 観光 🔍 ⼤規模⾔語モデル BERTなど ⽂書インデックス HNSW など ⼤規模⾔語モデル BERTなど つくば市のおすすめ 観光スポット! つくば市の観光ス ポットとしては筑波 ⼭がおすすめです! ⾮常に眺めがよく、 … つくば 観光 🔍 つくば 観光 🔍 つくば 観光 🔍 つくば 観光 🔍

Slide 31

Slide 31 text

PEFA-X S 31 ① インデックス構築 → ② 検索 インデックス構築時に,⽂書ベクトルに対して 訓練データで適合となるクエリベクトルを⾜し合わせる 訓練データの クエリ ⽂書 つくば 観光 🔍 ⼤規模⾔語モデル BERTなど ⽂書インデックス HNSW など ⼤規模⾔語モデル BERTなど つくば市のおすすめ 観光スポット! つくば市の観光ス ポットとしては筑波 ⼭がおすすめです! ⾮常に眺めがよく、 … つくば 観光 🔍 つくば 観光 🔍 つくば 観光 🔍 つくば 観光 🔍 嬉しい点: 最終的にできる インデックスは 1 つだけ

Slide 32

Slide 32 text

検索時は通常の密検索と全く同じになる! 2 回検索する XL より⾼速 PEFA-X S 32 ① インデックス構築 → ② 検索 クエリ ⽂書 クエリベクトル つくば 🔍 ⼤規模⾔語モデル BERTなど インデックス HNSW など ⼤規模⾔語モデル BERTなど 近似最近傍探索 つくば市のおすすめ 観光スポット! つくば市の観光ス ポットとしては筑波 ⼭がおすすめです! ⾮常に眺めがよく、 … 0.83 ランキング 0.72 0.56

Slide 33

Slide 33 text

実験 33 Q: 既存の密検索システムを提案⼿法で改善できているのか? ⽂書検索タスク(TriviaQA) 商品検索タスク(⾮公開データセット)

Slide 34

Slide 34 text

A. 提案⼿法は 2 つのタスクの両⽅で既存の密検索の性能を改善 実験 34 Q: 既存の密検索システムを提案⼿法で改善できているのか? ⽂書検索タスク(TriviaQA) 商品検索タスク(⾮公開データセット) 既存の密検索⼿法に提案⼿法を適⽤した際の平均の性能向上

Slide 35

Slide 35 text

A. タスクとデータセット,評価指標に依存する 実験 35 Q: XL と XS はどちらのほうが性能が良いか? ⽂書検索タスク(TriviaQA) 商品検索タスク(⾮公開データセット) 既存の密検索⼿法に提案⼿法を適⽤した際の平均の性能向上

Slide 36

Slide 36 text

2 つの提案⼿法のディスクや速度の⽐較 実験 36 (当然)XS のインデックスのDisk サイズはもとの密検索と同じ ⼀⽅で XL は 2 倍以上の差

Slide 37

Slide 37 text

2 つの提案⼿法のディスクや速度の⽐較 実験 37 検索時のレイテンシも XS と XL で 2 倍以上の差

Slide 38

Slide 38 text

本研究がやったこと 終わりに再び: Q. 密検索システムの性能をどう改善するか? 38 訓練データのクエリを活⽤することで ⽐較的低コスト※ に 既存の密検索システムの性能を改善 ※ ここでの「⽐較的低コスト」とは,前ページで挙げた代表的な⽅法と⽐較した場合のコスト インデックス構築時 や 検索時 に