QBit データ型
QBit データ型は、近似検索を高速化するためにベクトルの格納方法を再編成します。各ベクトルの要素をひとまとまりとして格納する代わりに、すべてのベクトルにわたって同じビット桁(ビット位置)ごとにグループ化して格納します。
これにより、ベクトルは元の精度を保ったまま保存されつつ、検索時にきめ細かな量子化レベルを選択できます。I/O を少なくして計算を高速化したい場合は読むビット数を減らし、高い精度が必要な場合は読むビット数を増やします。量子化によるデータ転送量と計算量削減に伴う高速化の利点を得つつ、必要に応じて元の全データにもアクセスできます。
QBit 型のカラムを宣言するには、次の構文を使用します。
element_type– 各ベクトル要素の型。使用可能な型はBFloat16、Float32、Float64です。dimension– 各ベクトル内の要素数
QBit の作成
テーブルのカラム定義で QBit 型を使用する場合:
QBit サブカラム
QBit では、保存されているベクトルの各ビットプレーンに個別にアクセスできるサブカラムアクセスパターンを実装しています。各ビット位置には .N という構文でアクセスでき、N はビット位置を表します。
アクセス可能なサブカラムの数は、要素型によって異なります。
BFloat16: サブカラムは 16 個 (1-16)Float32: サブカラムは 32 個 (1-32)Float64: サブカラムは 64 個 (1-64)
ベクトル検索関数
次のベクトル類似検索用距離関数は QBit データ型を使用します。