Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Binary and Scalar Embedding Quantization for Significantly Faster & Cheaper Retrieval Aamir Shakir, Tom Aarsen, and SeanLee https://huggingface.co/blog/embedding-quantization 発表者:Kampersanda
Slide 2
Slide 2 text
Summary 文埋め込みの各値を量子化してコンパクトに持ってみる ● Binary Quantization (1 bit) ● Scalar Quantization (8 bits) Efficiency & Effectiveness にどれくらい影響がある?
Slide 3
Slide 3 text
背景 埋め込み(Embeddings)の保存には結構なメモリとお金が必要 ※ $3.8 per GB/mo with x2gd instances on AWS
Slide 4
Slide 4 text
省メモリ化の方法 1. 次元数削減 ● PCA ● マトリョーシカ法 ● など 2. 要素圧縮 ● Quantization (Binary & Scalar) ● など あとは LSH や Product Quantization などなど 今日のテーマ
Slide 5
Slide 5 text
Binary Quantization 方法 ● 値の符号によって各要素を 0 or 1 に変換 ● 距離計算はハミング距離(異なるビットの数) 以上です
Slide 6
Slide 6 text
Binary Quantization – Sentence Transformersでは
Slide 7
Slide 7 text
Binary Quantization – Vector Databasesでは
Slide 8
Slide 8 text
Scalar (int8) Quantization 手順 1. Calibration Dataset から各次元 について min, max を算出 2. その範囲で値を 256 等分に (バケット化) 注意点 ● Calibration Dataset は量子化バ ケットを定義するため、性能に 影響する
Slide 9
Slide 9 text
Scalar (int8) Quantization – Sentence Transformersでは
Slide 10
Slide 10 text
Scalar (int8) Quantization – Vector Databasesでは
Slide 11
Slide 11 text
リランキングによる検索精度改善 [Yamada et al., ACL21] 前提 ● データベースには量子化されたベクトルが格納されている 手順 1. 検索ステップ ○ クエリ埋め込みを量子化し、量子化されたドキュメントのデータベース に対してベクトル検索 ○ K件より多めに取ってくる 2. リランキング ○ 量子化する前のクエリ埋め込みと、量子化されたドキュメントとで内積 を再計算しリランキング
Slide 12
Slide 12 text
TopK検索の実験結果 ● BinaryはTop400をリランキング ● Scalar (int8) はリランキング無し
Slide 13
Slide 13 text
リランキングの実験結果 Binary Quantization ● リランキング無しでは 92.53% ● リランキングすると 96.45%(検索での件数を100〜1000にしても変化なし)
Slide 14
Slide 14 text
リランキングの実験結果 Scalar (int8) Quantization 400件 1000件 リランキング無し
Slide 15
Slide 15 text
速度の実験結果(次元数1024) ● Binary Quantization: Faiss (Version 1.8.0) ● Scalar (int8) Quantization: USearch (Version 2.9.2)
Slide 16
Slide 16 text
まとめ 話さなかったこと ● Binary と Scalar (int8) のハイブリットな方法 See Section “Combining Binary and Scalar Quantization”