Достаточно ли CPU? Обзор векторного поиска, работающего на новом аппаратном обеспечении
Векторный поиск стал ключевой технологией, обеспечивающей быстрый и точный поиск информации во множестве приложений — от рекомендательных систем до распознавания изображений. Традиционно CPU были рабочими лошадками, обеспечивающими выполнение этих операций. Однако по мере стремительного роста объемов данных и повышения требований к скорости и эффективности возникает вопрос: достаточно ли CPU, чтобы удовлетворить быстро растущие потребности современного поиска на базе ИИ?
В своем недавнем выступлении на Unstructured Data Meetup 2024, организованном Zilliz, Джордж Уильямс, эксперт по компьютерному зрению в Smile Identity и организатор NeurIPS BigANN Challenge (2021, 2023), рассмотрел вопрос о том, достаточны ли CPU для векторного поиска/ANN. Он рассказал, как новые аппаратные решения могут произвести революцию в векторном поиске, подчеркнув пересечение передовых поисковых алгоритмов и передового аппаратного обеспечения, а также предложив взглянуть на будущее технологий извлечения данных.
В этом блоге мы выделим ключевые идеи из выступления, рассмотрев цели и результаты соревнований NeurIPS BigANN, где подход на базе Zilliz стал одним из победителей. Мы также углубимся в практические проблемы реализации векторного поиска, инновации, повышающие эффективность и производительность, и захватывающую новую эру аппаратного обеспечения, которая обещает преобразить эту область.
Соревнование Neurips BigANN, роль и вклад Zilliz
Соревнования NeurIPS BigANN направлены на расширение границ возможного в области технологии векторного поиска, стимулируя инновации и сотрудничество между исследователями и лидерами индустрии. Участникам предлагается разработать решения, которые максимизируют полноту поиска, количество запросов в секунду (Queries Per Second, QPS), энергоэффективность и экономическую эффективность, обеспечивая комплексную оценку производительности аппаратного обеспечения в задачах векторного поиска. Соревнования организуются в сотрудничестве с инициативами вроде проекта ANN-Benchmarks, который предоставляет платформу для отправки и оценки реализаций векторного поиска, включая заметные решения, такие как Milvus.
Соревнования включают три трека, каждый из которых предназначен для проверки различных аспектов производительности векторного поиска, как показано на рисунке один.
Рис. 1. Три трека соревнования NeurIPS BigANN
Трек 1: Ограниченный бюджет аппаратных ресурсов
Спецификации: Участники ограничены сервером дата-центра с 64 ГБ оперативной памяти.
Критерии: Решения ранжируются на основе полноты поиска, с акцентом на точность извлечения ближайших соседей в условиях ограниченных аппаратных ресурсов.
Трек 2: Расширенные возможности хранения
Спецификации: Участники используют сервер дата-центра с 64 ГБ оперативной памяти и высокопроизводительным SSD объемом 2 ТБ.
Критерии: Этот трек также сосредоточен на полноте, но допускает более широкие возможности хранения, побуждая участников оптимизировать как использование памяти, так и производительность хранилища; победителем стала Zilliz, как показано на рисунке 2. Подход Zilliz+SUST хорошо показал себя на наборе данных для поиска по диапазону (SSNPP) с наивысшим показателем полноты. Эта победа подчеркивает экспертизу и инновационность Zilliz в разработке эффективных алгоритмов векторного поиска, адаптированных к ограничениям современного оборудования. Мы опишем подход Zilliz в следующем разделе.
Рис. 2. Команда Zilliz+SUST выигрывает второй трек
Трек 3: Открытое оборудование
Спецификации: Участники могут использовать любое оборудование при условии, что они предоставят подтверждение стоимости и будут отслеживать энергопотребление.
Критерии: Решения оцениваются на основе сочетания полноты, QPS, энергоэффективности и стоимости, что делает этот трек самым комплексным и сложным.
Эти треки позволяют соревнованию учитывать широкий спектр практических аспектов — от оптимизации ограниченных ресурсов до использования продвинутых аппаратных конфигураций. Благодаря таким оценкам соревнования NeurIPS BigANN дают представление о состоянии технологии векторного поиска и выделяют наиболее перспективные достижения в этой области.
Оптимизация и оценка в векторном поиске
Оптимизация векторного поиска требует многогранного подхода, особенно когда речь идет об использовании памяти и SSD. Одним из ключевых нововведений, представленных Zilliz, является Hybrid Graph Clustering Index, показанный на рисунке 3. Этот метод повышает эффективность векторного поиска, структурируя данные таким образом, чтобы оптимизировать размещение в памяти и шаблоны доступа, особенно для SSD. Организуя данные в выровненные по страницам бакеты, Zilliz обеспечивает хранение векторов полной точности вместе с их метаданными, снижая задержку и повышая скорость извлечения. Такой подход не только повышает производительность, но и максимизирует использование SSD-хранилища, что критически важно для обработки больших наборов данных. Кроме того, Zilliz сосредоточилась на оптимизации памяти, чтобы обеспечить эффективный доступ к данным и согласованность с возможностями базового оборудования. Это включает тщательное структурирование данных для минимизации времени доступа и повышения общей пропускной способности, что делает их решения весьма эффективными для задач векторного поиска в крупном масштабе.
Кроме того, выпуск Milvus 2.4, последней версии их векторной базы данных с открытым исходным кодом, представляет несколько прорывных возможностей, таких как поддержка Multi-vector, Grouping Search и GPU Indexing с NVIDIA’s CUDA-Accelerated Graph Index for Vector Retrieval (CAGRA). Эти инновации дополнительно демонстрируют стратегию Zilliz и ее приверженность повышению производительности и эффективности векторного поиска.
Рис. 3. Hybrid Graph Clustering Index и структура памяти и доступа, оптимизированная для SSD
Будущие направления
По словам докладчика, будущее векторного поиска вскоре может сместиться от опоры на методы аппроксимации к использованию методов полного перебора, при этом оставаясь быстрым. Этот сдвиг будет обусловлен растущей масштабируемостью необработанных векторов без необходимости создания индексов, что знаменует собой значительную эволюцию на рынке памяти. Хотя специализированные чипы дороги в производстве и требуют существенных инвестиций и времени на разработку инструментария — часто более года для вывода на рынок, — стандартизированное аппаратное обеспечение может стать нормой. В таком сценарии программное обеспечение потребует значительной доработки для оптимизации производительности. Вводится концепция чиплетов, при которой лучшие полупроводниковые технологии модульно проектируются разными компаниями, подобно разработке программного обеспечения. Такой модульный подход позволяет повторно использовать программное обеспечение на существующих чипах, давая людям без глубоких знаний в области чипов возможность проектировать свои чипы, которые дешевле и быстрее. Это может стать точкой входа для многих компаний, делая передовой дизайн чипов более доступным и экономически эффективным.
Заключение
Быстрые достижения в технологии hardware прокладывают путь к более эффективным и мощным возможностям векторного поиска. Как показывают конкурс NeurIPS BigANN и вклад Zilliz, пересечение передового аппаратного обеспечения и инновационных алгоритмов является ключом к будущему технологий извлечения данных. Хотя CPU десятилетиями были основой вычислений, появление специализированных аппаратных решений знаменует новую эру, в которой эффективность и производительность имеют первостепенное значение. Zilliz, одна из наиболее широко используемых векторных баз данных, сосредоточена на оптимизации эффективности памяти и максимизации скорости извлечения данных, используя возможности передового аппаратного обеспечения, чтобы расширять границы возможного в технологии векторного поиска. Подписывайтесь на Zilliz в twitter @zilliz_universe и @milvusio, а также смотрите множество полезных видео с докладами и обучающими материалами на YouTube channel Zilliz.
Ресурсы
Enhancing App Functionality: Optimizing Search with Vector Databases - Zilliz blog
Milvus 2.4 Unveils Game-Changing Features for Enhanced Vector Search
Milvus 2.4 Unveils CAGRA: Elevating Vector Search with Next-Gen GPU Indexing - Zilliz blog
How to Evaluate and Optimize the Performance of Milvus Storage - Zilliz blog
Читать далее

VDBBench Adds Cost-Aware Benchmarking for Vector Databases
Compare Zilliz Cloud, Pinecone, and turbopuffer with VDBBench cost-aware vector database benchmarks across latency, freshness, multitenancy, and cold starts.

The Great AI Agent Protocol Race: Function Calling vs. MCP vs. A2A
Compare Function Calling, MCP, and A2A protocols for AI agents. Learn which standard best fits your development needs and future-proof your applications.

Vector Databases vs. Time Series Databases
Use a vector database for similarity search and semantic relationships; use a time series database for tracking value changes over time.


