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 데이터 타입을 사용하는 벡터 유사도 검색용 거리 함수입니다: