Представление Milvus 2.4: многовекторный поиск, разреженный вектор, индекс CAGRA и многое другое!
Мы рады объявить о выпуске Milvus 2.4 - значительном продвижении в расширении возможностей поиска по крупным наборам данных. В этой последней версии добавлены новые функции, такие как поддержка индекса CAGRA на базе GPU, бета-версия поддержки разреженных вкраплений, групповой поиск и другие улучшения поисковых возможностей. Эти разработки подтверждают нашу приверженность сообществу, предлагая разработчикам, подобным вам, мощный и эффективный инструмент для работы с векторными данными и запросов к ним. Давайте вместе познакомимся с ключевыми преимуществами Milvus 2.4.
Мультивекторный поиск для упрощения мультимодального поиска
В Milvus 2.4 реализована возможность многовекторного поиска, позволяющая одновременно искать и переранжировать различные типы векторов в одной системе Milvus. Эта функция упрощает мультимодальный поиск, значительно повышая показатели запоминания и позволяя разработчикам без труда управлять сложными приложениями ИИ с различными типами данных. Кроме того, эта функция упрощает интеграцию и тонкую настройку пользовательских моделей ранжирования, помогая в создании расширенных функций поиска, таких как точные рекомендательные системы, использующие многомерные данные.
Принцип работы функции многовекторного поиска
Поддержка мультивекторов в Milvus состоит из двух компонентов:
Возможность хранить/запрашивать несколько векторов для одной сущности в коллекции, что является более естественным способом организации данных.
Возможность построить/оптимизировать алгоритм ранжирования, используя готовые алгоритмы ранжирования в 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 против Milvus HNSW
Дополнительные усовершенствования и функции
Milvus 2.4 также включает другие ключевые усовершенствования, такие как поддержка регулярных выражений для улучшенного сопоставления подстрок при фильтрации метаданных, новый скалярный инвертированный индекс для эффективной фильтрации скалярных типов данных, а также инструмент Change Data Capture для мониторинга и репликации изменений в коллекциях Milvus. Эти обновления в совокупности повышают производительность и универсальность Milvus, делая его комплексным решением для сложных операций с данными.
Более подробную информацию можно найти в документации Milvus 2.4.
Оставайтесь на связи!
Хотите узнать больше о Milvus 2.4? Присоединяйтесь к нашему предстоящему вебинару с Джеймсом Луаном, вице-президентом Zilliz по инженерным вопросам, для подробного обсуждения возможностей этой последней версии. Если у вас есть вопросы или отзывы, присоединяйтесь к нашему каналу Discord, чтобы пообщаться с нашими инженерами и членами сообщества. Не забывайте следить за нами в Twitter или LinkedIn, чтобы получать последние новости и обновления о Milvus.
- Мультивекторный поиск для упрощения мультимодального поиска
- Поддержка группирующего поиска для повышения эффективности вычислений
- Бета-версия поддержки разреженных векторных вкраплений
- Поддержка индекса CAGRA для расширенного индексирования графиков с GPU-ускорением
- Дополнительные усовершенствования и функции
- Оставайтесь на связи!
On This Page
Try Managed Milvus for Free
Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.
Get StartedLike the article? Spread the word