🚀 Попробуйте Zilliz Cloud, полностью управляемый Milvus, бесплатно — ощутите 10-кратное увеличение производительности! Попробовать сейчас>

milvus-logo
LFAI
  • Home
  • Blog
  • Представление Milvus 2.4: многовекторный поиск, разреженный вектор, индекс CAGRA и многое другое!

Представление Milvus 2.4: многовекторный поиск, разреженный вектор, индекс CAGRA и многое другое!

  • Engineering
March 20, 2024
Fendy Feng

Мы рады объявить о выпуске Milvus 2.4 - значительном продвижении в расширении возможностей поиска по крупным наборам данных. В этой последней версии добавлены новые функции, такие как поддержка индекса CAGRA на базе GPU, бета-версия поддержки разреженных вкраплений, групповой поиск и другие улучшения поисковых возможностей. Эти разработки подтверждают нашу приверженность сообществу, предлагая разработчикам, подобным вам, мощный и эффективный инструмент для работы с векторными данными и запросов к ним. Давайте вместе познакомимся с ключевыми преимуществами Milvus 2.4.

Мультивекторный поиск для упрощения мультимодального поиска

В Milvus 2.4 реализована возможность многовекторного поиска, позволяющая одновременно искать и переранжировать различные типы векторов в одной системе Milvus. Эта функция упрощает мультимодальный поиск, значительно повышая показатели запоминания и позволяя разработчикам без труда управлять сложными приложениями ИИ с различными типами данных. Кроме того, эта функция упрощает интеграцию и тонкую настройку пользовательских моделей ранжирования, помогая в создании расширенных функций поиска, таких как точные рекомендательные системы, использующие многомерные данные.

How the Milti-Vector Search Feature Works Принцип работы функции многовекторного поиска

Поддержка мультивекторов в Milvus состоит из двух компонентов:

  1. Возможность хранить/запрашивать несколько векторов для одной сущности в коллекции, что является более естественным способом организации данных.

  2. Возможность построить/оптимизировать алгоритм ранжирования, используя готовые алгоритмы ранжирования в Milvus.

Помимо того, что эта функция была очень востребована, мы создали ее потому, что индустрия переходит к мультимодальным моделям с выходом GPT-4 и Claude 3. Реранжирование - это широко используемая техника для дальнейшего улучшения производительности запросов в поиске. Мы стремились упростить разработчикам создание и оптимизацию своих реранкеров в рамках экосистемы Milvus.

Поддержка группирующего поиска для повышения эффективности вычислений

Группирующий поиск - еще одна часто запрашиваемая функция, которую мы добавили в Milvus 2.4. Она интегрирует операцию group-by, предназначенную для полей типа BOOL, INT или VARCHAR, заполняя критически важный пробел в эффективности выполнения крупных запросов на группировку.

Традиционно разработчики полагались на обширный поиск по Top-K с последующей ручной постобработкой для выделения результатов, относящихся к конкретной группе, что требовало больших вычислительных затрат и большого объема кода. Grouping Search совершенствует этот процесс, эффективно связывая результаты запросов с совокупными идентификаторами групп, такими как названия документов или видео, что упрощает работу с сегментированными сущностями в больших наборах данных.

Milvus отличает реализацию Grouping Search на основе итераторов, что заметно повышает эффективность вычислений по сравнению с аналогичными технологиями. Такой выбор обеспечивает превосходную масштабируемость производительности, особенно в производственных средах, где оптимизация вычислительных ресурсов имеет первостепенное значение. Благодаря сокращению времени обхода данных и вычислительных затрат Milvus поддерживает более эффективную обработку запросов, значительно сокращая время отклика и эксплуатационные расходы по сравнению с другими векторными базами данных.

Grouping Search расширяет возможности Milvus по управлению сложными запросами большого объема и соответствует практике высокопроизводительных вычислений для надежных решений по управлению данными.

Бета-версия поддержки разреженных векторных вкраплений

Разреженные вкрапления представляют собой смену парадигмы по сравнению с традиционными подходами, использующими плотные векторы, и учитывают нюансы семантического сходства, а не просто частоту ключевых слов. Это различие обеспечивает более тонкие возможности поиска, тесно увязывая их с семантическим содержанием запроса и документов. Модели с разреженными векторами, особенно полезные в информационном поиске и обработке естественного языка, предлагают мощные возможности поиска за пределами области и интерпретируемость по сравнению с их плотными аналогами.

В Milvus 2.4 мы расширили гибридный поиск, включив в него разреженные вкрапления, генерируемые продвинутыми нейронными моделями, такими как SPLADEv2, или статистическими моделями, такими как BM25. В Milvus разреженные векторы рассматриваются наравне с плотными векторами, что позволяет создавать коллекции с разреженными векторными полями, вставлять данные, создавать индексы и выполнять поиск по сходству. Примечательно, что разреженные вкрапления в Milvus поддерживают метрику расстояния Inner Product (IP), что является преимуществом, учитывая их высокоразмерную природу, делающую другие метрики менее эффективными. Эта функциональность также поддерживает типы данных с размерностью в виде беззнакового 32-битного целого числа и 32-битного плавающего числа для значения, что облегчает широкий спектр приложений, от тонкого текстового поиска до сложных информационно-поисковых систем.

Благодаря этой новой функции Milvus позволяет использовать гибридные методики поиска, сочетающие в себе методы поиска по ключевым словам и встраивания, обеспечивая плавный переход для пользователей, переходящих от поисковых систем, ориентированных на ключевые слова, и ищущих комплексное решение, не требующее больших затрат на обслуживание.

Мы обозначили эту функцию как "Beta", чтобы продолжить тестирование ее производительности и собрать отзывы сообщества. Общедоступность (GA) поддержки разреженных векторов ожидается с выходом Milvus 3.0.

Поддержка индекса CAGRA для расширенного индексирования графиков с GPU-ускорением

Разработанная NVIDIA, CAGRA (Cuda Anns GRAph-based) - это технология индексации графов на базе GPU, которая значительно превосходит традиционные методы на базе CPU, такие как индекс HNSW, по эффективности и производительности, особенно в средах с высокой пропускной способностью.

С появлением индекса CAGRA, Milvus 2.4 обеспечивает расширенные возможности индексирования графов с GPU-ускорением. Это усовершенствование идеально подходит для создания приложений поиска по сходству, требующих минимальной задержки. Кроме того, в Milvus 2.4 интегрирован перебор с индексом CAGRA для достижения максимального коэффициента отзыва в приложениях. Для получения подробной информации ознакомьтесь с вводным блогом по CAGRA.

Milvus Raft CAGRA vs. Milvus HNSW Milvus Raft CAGRA против Milvus HNSW

Дополнительные усовершенствования и функции

Milvus 2.4 также включает другие ключевые усовершенствования, такие как поддержка регулярных выражений для улучшенного сопоставления подстрок при фильтрации метаданных, новый скалярный инвертированный индекс для эффективной фильтрации скалярных типов данных, а также инструмент Change Data Capture для мониторинга и репликации изменений в коллекциях Milvus. Эти обновления в совокупности повышают производительность и универсальность Milvus, делая его комплексным решением для сложных операций с данными.

Более подробную информацию можно найти в документации Milvus 2.4.

Оставайтесь на связи!

Хотите узнать больше о Milvus 2.4? Присоединяйтесь к нашему предстоящему вебинару с Джеймсом Луаном, вице-президентом Zilliz по инженерным вопросам, для подробного обсуждения возможностей этой последней версии. Если у вас есть вопросы или отзывы, присоединяйтесь к нашему каналу Discord, чтобы пообщаться с нашими инженерами и членами сообщества. Не забывайте следить за нами в Twitter или LinkedIn, чтобы получать последние новости и обновления о Milvus.

Like the article? Spread the word

Продолжить чтение