Тип данных QBit
Тип данных QBit реорганизует хранение векторов для более быстрого приближённого поиска. Вместо хранения элементов каждого вектора вместе он группирует одинаковые позиции двоичных разрядов по всем векторам.
Это позволяет хранить векторы с полной точностью и при этом выбирать тонкий уровень квантизации на этапе поиска: считывать меньше бит для снижения объёма операций ввода-вывода и ускорения вычислений или больше бит для повышения точности. Вы получаете выигрыш в производительности за счёт уменьшения объёма передаваемых данных и вычислений благодаря квантизации, при этом все исходные данные остаются доступными при необходимости.
Чтобы объявить столбец типа QBit, используйте следующий синтаксис:
element_type– тип каждого элемента вектора. Допустимые типы:BFloat16,Float32иFloat64dimension– количество элементов в каждом векторе
Создание QBit
Использование типа QBit при определении столбца таблицы:
Подстолбцы QBit
QBit реализует механизм доступа к подстолбцам, который позволяет обращаться к отдельным битовым плоскостям хранимых векторов. К каждой битовой позиции можно обратиться с помощью синтаксиса .N, где N — это номер битовой позиции:
Количество доступных подстолбцов зависит от типа элемента:
BFloat16: 16 подстолбцов (1–16)Float32: 32 подстолбца (1–32)Float64: 64 подстолбца (1–64)
Функции векторного поиска
Это функции вычисления расстояния, используемые при поиске по векторному сходству и использующие тип данных QBit: