Новые тенденции в исследованиях и разработке векторных баз данных
Впервые представленные вместе с Milvus в 2019 году, векторные базы данных быстро вышли на передний план наряду с появлением больших языковых моделей (LLMs) и ростом приложений генеративного ИИ (GenAI). Как инженер, глубоко вовлеченный в этот сектор, я наблюдал их эволюцию от базовых реализаций алгоритмов Approximate Nearest Neighbors Search (ANNS) до сложных систем баз данных, неотъемлемых для современных AI-фреймворков, от нишевых реализаций до широкомасштабных развертываний.
По мере того как ИИ продолжает развиваться, куда движется будущее векторных баз данных? На мой взгляд, развитие этой технологии тесно связано с эволюцией продукта, подпитываемой меняющимися запросами пользователей. Понимание этих сдвигов критически важно для определения траектории и целей технологических разработок.
В этой статье я рассмотрю развитие и ожидаемое будущее векторных баз данных как с технической, так и с практической точек зрения, уделяя особое внимание экономической эффективности и требованиям бизнеса.
Разделение хранения горячих и холодных данных
Затраты давно являются одной из главных проблем для более широкого внедрения векторных баз данных. Эти затраты в основном возникают в двух областях:
Хранение данных: Традиционно векторные базы данных кэшируют все данные в памяти или на локальных дисках для достижения низкой задержки. Однако в эпоху ИИ, когда приложения часто работают с объемами данных в миллиарды записей, такой подход может потреблять огромные объемы ресурсов хранения — от десятков до сотен терабайт.
Вычисления над данными: В распределенных системах баз данных мы должны разбивать данные на множество небольших сегментов, чтобы улучшить управление обширными наборами данных. Каждый сегмент обрабатывается независимо для извлечения данных, которые затем совместно анализируются для формирования итоговых результатов Top-K. Этот метод разбиения значительно повышает сложность выполнения запросов. Например, если мы разбиваем данные общим объемом в миллиарды записей на фрагменты по 10 ГБ, это дает около 10 000 сегментов, тем самым увеличивая вычислительную нагрузку в десять тысяч раз.
Время отклика основных LLMs.
Время отклика основных LLMs. Источник изображения: https://artificialanalysis.ai/models
Однако на волне создания приложений Retrieval-Augmented Generation (RAG) задержка векторных баз данных перестала быть проблемой для отдельных пользователей или отдельных арендаторов на ToC-платформах. Задержка, связанная с операциями векторной базы данных, — от нескольких миллисекунд до нескольких сотен миллисекунд — минимальна по сравнению с часто превышающей одну секунду задержкой, типичной для больших языковых моделей. Кроме того, стоимость облачного объектного хранилища значительно ниже, чем у локальных дисков и памяти, что стимулирует поиск инновационных решений для оптимизации хранения и эффективности вычислений.
Хранение: Чтобы минимизировать затраты, данные следует хранить в наиболее экономичном облачном объектном хранилище и извлекать по требованию для запросов.
Вычисления: Заранее уточняя область запросов, мы можем снизить необходимость в широкомасштабной обработке данных, повышая операционную эффективность.
В Zilliz мы добавляем улучшения в Zilliz Cloud (полностью управляемый Milvus), которые позволяют пользователям сокращать затраты, сохраняя задержку на приемлемом уровне.
Использование аппаратных инноваций для повышения производительности и экономической эффективности
Аппаратное обеспечение служит основой технологических достижений, повышая производительность и экономическую эффективность векторных баз данных.
Развитие технологий GPU
Векторные базы данных, известные своими высокими вычислительными требованиями, значительно повысили производительность благодаря достижениям в области GPU. Представление о том, что GPU являются чрезмерно дорогими, опровергается. Улучшенные алгоритмы подходят для задач векторного поиска и позволяют выполнять операции с низкой задержкой и экономически эффективно.
Наше тестирование показывает, что при использовании GPU-based CAGRA index векторная база данных Milvus достигает уровней производительности от нескольких до десятков раз выше, чем при использовании CPU-based индекса HNSW, при этом будучи всего в два-три раза дороже. Этот результат демонстрирует, что GPU становятся жизнеспособным и экономически эффективным вариантом для обработки данных, обеспечивая значительные преимущества в производительности по сравнению с традиционными конфигурациями на CPU.
Результаты тестирования VectorDBBench
Результаты тестирования VectorDBBench
CPU: m6id.2xlarge T4: g4dn.2xlarge A10G: g5.2xlarge Top 100 Recall: 98%
Появление ARM-based CPU в облачных вычислениях
Внедрение ARM-based CPU, таких как AWS Graviton и GCP Ampere, не только знаменует переход к более энергоэффективным и экономичным вычислительным решениям, но и уверенно бросает вызов традиционной архитектуре x86. Эти процессоры предлагают более низкие затраты, обеспечивая при этом сопоставимую или более высокую производительность, что дает уверенность в принятии разумного решения для ваших вычислительных потребностей.
Наши оценки AWS Graviton3 продемонстрировали его более высокую производительность и экономическую эффективность по сравнению с процессорами x86. В частности, быстрая итерация этих CPU, как видно по выпуску Graviton4 в 2023 году — всего через год после Graviton3 — показывает 30%-ный прирост вычислительной мощности и 70%-ное увеличение пропускной способности памяти.
Достижения в технологиях хранения данных
Использование дисков для хранения данных позволяет векторным базам данных значительно расширять свою емкость, сохраняя задержки на уровне миллисекунд, что достаточно для большинства приложений векторного поиска. Кроме того, стоимость, связанная с дисковым хранением, остается существенно ниже, чем у памяти, что делает его привлекательным вариантом для операций с интенсивной обработкой данных.
В целом эти аппаратные разработки усиливают возможности векторных баз данных и обеспечивают их мощность и экономическую жизнеспособность по мере их развития.
Сотрудничество с продвинутыми моделями машинного обучения
Модели машинного обучения, которые создают vector embeddings, также претерпевают значительные трансформации. Эти достижения направлены на уменьшение размера и размерности векторов, тем самым минимизируя требования к хранению для больших наборов данных и повышая вычислительную эффективность.
Традиционные методы уменьшения размерности векторов часто приводили к снижению точности извлечения данных. Однако недавние инновации предлагают жизнеспособные альтернативы. Например, модель OpenAI ext-embedding-3-large позволяет пользователям настраивать размерности выходных векторов с помощью конфигурируемых параметров. Эта гибкость обеспечивает значительное уменьшение размера векторов с минимальным влиянием на эффективность последующих задач. Кроме того, Cohere недавно обновила свою технологию для поддержки векторов, которые одновременно выводят несколько типов данных — таких как float, int8 и binary, — повышая операционную универсальность.
Эти достижения подчеркивают необходимость для векторных баз данных активно взаимодействовать с этими новыми технологиями и внедрять их. Это имеет решающее значение для сохранения конкурентного преимущества в динамичных и постоянно меняющихся областях глубокого обучения и управления данными.
Приоритизация точности векторного извлечения
Точность векторного поиска становится всё более важной и востребованной, особенно по мере расширения интеграции векторных баз данных как в производственных средах, так и в передовых приложениях RAG. По мере развития векторных баз данных стремление повысить качество и точность поиска привело к внедрению инновационных технологий. Среди них модель поиска ColBERT и продвинутые техники гибридного векторного поиска играют ключевую роль в снижении потерь информации и улучшении поиска, ориентированного на конкретные предметные области.
Появление продвинутых моделей поиска, таких как ColBERT
Модель поиска ColBERT известна своей эффективностью в решении проблемы потерь информации, обычно связанных с громоздкой архитектурой традиционных двухбашенных моделей. ColBERT использует подход позднего взаимодействия на основе векторов токенов, чтобы избежать неэффективности полностью связанных схем. Ее более новая версия, ColBERTv2, дополнительно оптимизирует этот процесс за счет интеграции векторного поиска, значительно ускоряя скорость взаимодействия.
Общая архитектура ColBERT при наличии запроса q и документа d..png
Общая архитектура ColBERT при наличии запроса q и документа d.
Источник изображения: https://arxiv.org/pdf/2004.12832.pdf
Гибридный поиск: объединение разреженных и плотных векторных методов
Традиционные плотные векторы, часто получаемые из языковых моделей вроде BERT, отлично улавливают семантические нюансы, но могут давать сбои при работе с новой лексикой или специализированными терминами, отсутствующими в обучающих данных. Хотя дообучение модели может смягчить эти ограничения, развертывание в реальном времени остается дорогостоящим и сложным. Напротив, разреженные векторы из традиционных алгоритмов сопоставления ключевых слов, таких как BM25, эффективно решают такие проблемы выхода за пределы предметной области.
Новые модели разреженных эмбеддингов, такие как SPLADE и M3-Embedding от BGE, сочетают точность точного сопоставления терминов с комплексностью методов плотного поиска. Эти модели генерируют разреженные векторы, которые сохраняют эффективность сопоставления ключевых слов, одновременно включая более богатую семантическую информацию, повышая общее качество поиска.
Переход к системам гибридного поиска, использующим методы поиска по ключевым словам и векторного поиска, уже давно является устоявшейся отраслевой практикой. Благодаря последним достижениям в технологии разреженных векторов их интеграция в векторные базы данных для поддержки гибридного поиска всё чаще считается лучшей практикой. В частности, векторная база данных Milvus приняла этот подход в своих недавних обновлениях.
Если взять M3-Embedding от BGE в качестве примера, она может одновременно выполнять три распространенные функции поиска модели эмбеддингов: плотный поиск, многовекторный поиск и разреженный поиск. В таблице ниже показано качество поиска при выполнении различных типов векторного поиска. Качество гибридного разреженного и плотного поиска значительно выше, чем у подходов, полагающихся исключительно на плотный или разреженный поиск.
Оценка на NarrativeQA (nDCG@10)
Оценка на NarrativeQA (nDCG@10)
Источник изображения: https://arxiv.org/abs/2402.03216
Примечание: качество поиска часто оценивается с помощью NDCG (Normalized Discounted Cumulative Gain), который оценивает эффективность систем ранжирования в предоставлении пользователям полезных списков элементов. Значение K в NDCG, например 5, 10 или 25, указывает количество оцениваемых элементов с наивысшим рейтингом, тем самым давая представление о точности поисковой системы на разных уровнях. Например, NDCG@10 оценивает ранжирование 5 лучших элементов.
Оптимизация векторных баз данных для офлайн-сценариев
Хотя текущий фокус векторных баз данных преимущественно сосредоточен на онлайн-приложениях, таких как Retrieval-Augmented Generation (RAG) и поиск похожих изображений, их потенциал в офлайн-сценариях огромен, но пока используется недостаточно.
Онлайн-приложения обычно обрабатывают небольшие объемы данных с высокой частотой и строгими требованиями к задержке, часто требуя ответов в течение секунд, даже в чувствительных к затратам средах с минимальной производительностью. И наоборот, офлайн-приложения часто выполняют крупномасштабные задачи обработки данных, такие как дедупликация данных и майнинг признаков, где продолжительность задачи может составлять от минут до часов.
Вот несколько вызовов и способов их решения с помощью векторных баз данных при офлайн-использовании:
Вычислительная эффективность: В отличие от онлайн-сценариев, в которых приоритетом является низкая задержка для каждого запроса, офлайн-задачи требуют высокой вычислительной эффективности при обработке больших пакетов данных. Достижение низкой задержки особенно критично в офлайн-компонентах поисковых и рекомендательных систем. Повышение вычислительной плотности, например с помощью индексации на GPU, может значительно улучшить обработку обширных запросов к данным в этих сценариях.
Возврат огромных объемов данных: В приложениях для майнинга данных векторный поиск помогает моделям распознавать конкретные ситуации. Эти задачи часто требуют извлечения значительных объемов данных, что создает проблемы с пропускной способностью и эффективностью алгоритмов, особенно для крупных поисков Top-K. Разработка эффективных решений для управления такими крупномасштабными извлечениями имеет решающее значение для поддержки надежных офлайн-приложений векторных баз данных.
Решая эти задачи, векторные базы данных могут быть лучше подготовлены к поддержке более широкого спектра приложений, расширяя свою полезность за пределы онлайн-сред.
Расширение наборов функций векторных баз данных для различных отраслей
По мере расширения внедрения векторных баз данных в разных секторах разнообразный спектр приложений требует разработки специализированных функций, адаптированных для удовлетворения отраслевых требований. Универсальность векторных баз данных требует настраиваемых возможностей для оптимизации их производительности и функциональности с учетом уникальных вызовов, с которыми сталкивается каждая область. Эти улучшения отвечают уникальным требованиям разных сфер и повышают общую функциональность и универсальность векторных баз данных в производственных средах. Вот несколько примеров того, как векторные базы данных развиваются, чтобы соответствовать этим потребностям:
Биофармацевтические приложения: Использование бинарных векторов для поиска молекулярных формул лекарств становится обычной практикой в биофармацевтической отрасли. Бинарные векторы позволяют эффективно искать и сопоставлять сложные химические структуры, способствуя быстрым процессам открытия и разработки лекарств.
Потребности финансового сектора: В отличие от многих отраслей, которые ищут наиболее близкие совпадения векторов, финансовый сектор часто требует выявления наиболее выбивающихся из общего ряда векторов. Эта возможность имеет решающее значение для обнаружения аномалий и потенциального мошенничества, где наибольший интерес представляют самые сильные отклонения от нормы.
Функциональность Range Search: Range Search позволяет пользователям задавать порог сходства для сценариев, где точное количество релевантных результатов непредсказуемо. Затем система возвращает все результаты, превышающие этот порог, обеспечивая высокую релевантность и точность в извлеченных данных.
Функциональные возможности Groupby и агрегации: Для обширных неструктурированных данных, таких как фильмы или длинные статьи, векторные базы данных должны создавать и обрабатывать векторы, сегментированные по кадрам или текстовым разделам. Такая сегментация требует надежных возможностей Groupby и агрегации, чтобы результаты эффективно соответствовали конкретным критериям пользователя.
Поддержка мультимодальных моделей: Переход к мультимодальным моделям вводит векторы с различающимися распределениями, создавая вызовы для традиционных алгоритмов поиска. Векторные базы данных развиваются, чтобы поддерживать эти разнообразные типы данных, обеспечивая эффективный поиск в разных модальностях.
Эти отраслевые адаптации подчеркивают динамичную природу векторных баз данных, которые развиваются, чтобы соответствовать сложным и разнообразным требованиям современных приложений в различных секторах.
Подведение итогов
За последний год векторные базы данных быстро продвинулись вперед, что отражает значительное созревание их сценариев использования и внутренних возможностей. По мере нашего продвижения в эпоху, управляемую ИИ, эти разработки, вероятно, будут ускоряться, предвещая новую волну инноваций в хранении, поиске и управлении данными.
Этот обзор призван осветить трансформационные тенденции и появляющиеся функции в векторных базах данных, предлагая идеи, которые могут вдохновить дальнейшие инновации в этой области. По мере того как мы движемся через эти захватывающие изменения, совместный путь к совершенствованию векторных баз данных обещает изменить наш технологический ландшафт, обеспечивая более сложные и эффективные решения на основе данных.
Давайте продолжать исследовать и внедрять инновации вместе, с энтузиазмом и духом сотрудничества принимая многообещающее будущее векторных баз данных.
Читать далее

Zilliz Skills Breakdown: How AI Agents Master Vector Databases
Zilliz's Milvus Skill (pymilvus, 7 files) and Zilliz Cloud Skill (zilliz-cli, 14 modules) bring vector-DB dev and ops into one Claude Code session.

Milvus 2.6.x Now Generally Available on Zilliz Cloud, Making Vector Search Faster, Smarter, and More Cost-Efficient for Production AI
Milvus 2.6.x is now GA on Zilliz Cloud, delivering faster vector search, smarter hybrid queries, and lower costs for production RAG and AI applications.

Why I’m Against Claude Code’s Grep-Only Retrieval? It Just Burns Too Many Tokens
Learn how vector-based code retrieval cuts Claude Code token consumption by 40%. Open-source solution with easy MCP integration. Try claude-context today.



