Google Cloud анонсировала предварительную версию векторного индекса TreeAH, который привносит в BigQuery ключевые элементы исследований и инноваций Google в области алгоритмов поиска приближенных ближайших соседей. Этот новый тип индекса использует ту же базовую технологию, которая лежит в основе некоторых из самых популярных сервисов Google, и обеспечивает значительное сокращение задержек и затрат в определенных ситуациях по сравнению с первым индексом, реализованным в BigQuery, - индексом инвертированных файлов (IVF).
Одним из ключевых преимуществ индекса TreeAH является использование асимметричного хеширования ("AH" в TreeAH), которое использует quantizer product quantization для сжатия вложений. В сочетании с оптимизированным для процессора алгоритмом вычисления расстояния векторный поиск с использованием TreeAH может быть на порядки быстрее и экономичнее, чем IVF. Генерация индекса также может быть в 10 раз быстрее и дешевле, а также иметь меньший объем памяти, поскольку хранятся только сжатые вложения.
Проведенные инженерной командой Google тесты показали, что TreeAH значительно превосходит IVF при больших размерах пакетов запросов. Например, для пакетов запросов с 10 000 векторов TreeAH был до 23 раз быстрее и на 95% дешевле, чем IVF. Обучение индекса TreeAH также было значительно быстрее и дешевле, чем IVF в большинстве случаев.
Однако стоит отметить, что TreeAH все еще находится в стадии активной разработки, и существуют некоторые ограничения. Например, базовая таблица может содержать не более 200 миллионов строк, а хранимые столбцы и предварительная фильтрация не поддерживаются для индекса TreeAH.
В целом, TreeAH является ценным дополнением к BigQuery, предлагая значительные преимущества в производительности и стоимости для определенных типов рабочих нагрузок векторного поиска. Ожидается, что это позволит расширить использование векторного поиска в BigQuery, например, для семантического поиска и генерации с дополненным поиском на основе LLM (RAG).