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
Binary and Scalar Embedding Quantization for Significantly Faster & Cheaper Retrieval
Search
Shunsuke Kanda
May 17, 2024
Technology
1
210
Binary and Scalar Embedding Quantization for Significantly Faster & Cheaper Retrieval
https://huggingface.co/blog/embedding-quantization
Shunsuke Kanda
May 17, 2024
Tweet
Share
More Decks by Shunsuke Kanda
See All by Shunsuke Kanda
Lucene/Elasticsearch の Character Filter でユニコード正規化するとトークンのオフセットがズレるバグへの Workaround - Search Engineering Tech Talk 2024 Spring
kampersanda
0
420
トライとダブル配列の基礎
kampersanda
0
680
Binary search with modern processors
kampersanda
30
13k
AIP Open Seminar #6
kampersanda
0
140
ICDM2020
kampersanda
0
130
SIGSPATIAL20
kampersanda
0
97
EliasFano
kampersanda
1
170
Fast Succinct Trie
kampersanda
1
570
StringBeginners#1
kampersanda
2
150
Other Decks in Technology
See All in Technology
AI の進化によるパラダイムシフト ~ プログラミング、コスト効率化、 新たなビジネスの可能性 ~
yoshizaki
1
250
Guard を利用した AWS Config ルール
yhana
0
240
スケーラビリティの課題解決に向けたココナラのデータベース移行戦略
coconala_engineer
1
360
高速案件立ち上げで使われるマッハテンプレートのフロントエンド技術選定
sutetotanuki
0
600
Scala to WebAssembly: Exploring the How and Why
tanishiking
0
320
Custom logging with slog Making Logging Fun Again!
masumomo
3
420
10分で完全に理解するGuardDutyのS3マルウェア保護
cmusudakeisuke
0
1.2k
Unified Diff 形式の差分から Go AST を構築して feature flag を自動計装する
biwashi
9
860
「メタスキル」を意図的に使おう ~自律的なチームを育むマネージャーのセルフマネジメント~/Use Metaskills consciously
ohnoeight
1
510
クラウドネイティブな省エネサービスの内製開発で、BizDevOpsを実現する / Achieving BizDevOps in in-house development of cloud-native energy-saving services
genkiogasawara
1
160
Power Automateのデータ操作(Data Operation)について (Ver.モダンデザイナー)
miyakemito
3
260
OpenFeatureと自動生成を活用したフィーチャーフラグの宣言的集約管理
biwashi
8
810
Featured
See All Featured
Six Lessons from altMBA
skipperchong
22
3.1k
For a Future-Friendly Web
brad_frost
172
9.1k
A Modern Web Designer's Workflow
chriscoyier
689
190k
Building Flexible Design Systems
yeseniaperezcruz
321
37k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
10
3.6k
Robots, Beer and Maslow
schacon
PRO
155
8k
Designing Experiences People Love
moore
136
23k
Building Applications with DynamoDB
mza
88
5.7k
Raft: Consensus for Rubyists
vanstee
133
6.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.1k
What’s in a name? Adding method to the madness
productmarketing
PRO
18
2.8k
Build The Right Thing And Hit Your Dates
maggiecrowley
26
2.1k
Transcript
Binary and Scalar Embedding Quantization for Significantly Faster & Cheaper
Retrieval Aamir Shakir, Tom Aarsen, and SeanLee https://huggingface.co/blog/embedding-quantization 発表者:Kampersanda
Summary 文埋め込みの各値を量子化してコンパクトに持ってみる • Binary Quantization (1 bit) • Scalar Quantization
(8 bits) Efficiency & Effectiveness にどれくらい影響がある?
背景 埋め込み(Embeddings)の保存には結構なメモリとお金が必要 ※ $3.8 per GB/mo with x2gd instances on
AWS
省メモリ化の方法 1. 次元数削減 • PCA • マトリョーシカ法 • など 2.
要素圧縮 • Quantization (Binary & Scalar) • など あとは LSH や Product Quantization などなど 今日のテーマ
Binary Quantization 方法 • 値の符号によって各要素を 0 or 1 に変換 •
距離計算はハミング距離(異なるビットの数) 以上です
Binary Quantization – Sentence Transformersでは
Binary Quantization – Vector Databasesでは
Scalar (int8) Quantization 手順 1. Calibration Dataset から各次元 について min,
max を算出 2. その範囲で値を 256 等分に (バケット化) 注意点 • Calibration Dataset は量子化バ ケットを定義するため、性能に 影響する
Scalar (int8) Quantization – Sentence Transformersでは
Scalar (int8) Quantization – Vector Databasesでは
リランキングによる検索精度改善 [Yamada et al., ACL21] 前提 • データベースには量子化されたベクトルが格納されている 手順 1.
検索ステップ ◦ クエリ埋め込みを量子化し、量子化されたドキュメントのデータベース に対してベクトル検索 ◦ K件より多めに取ってくる 2. リランキング ◦ 量子化する前のクエリ埋め込みと、量子化されたドキュメントとで内積 を再計算しリランキング
TopK検索の実験結果 • BinaryはTop400をリランキング • Scalar (int8) はリランキング無し
リランキングの実験結果 Binary Quantization • リランキング無しでは 92.53% • リランキングすると 96.45%(検索での件数を100〜1000にしても変化なし)
リランキングの実験結果 Scalar (int8) Quantization 400件 1000件 リランキング無し
速度の実験結果(次元数1024) • Binary Quantization: Faiss (Version 1.8.0) • Scalar (int8)
Quantization: USearch (Version 2.9.2)
まとめ 話さなかったこと • Binary と Scalar (int8) のハイブリットな方法 See Section
“Combining Binary and Scalar Quantization”