Что такое векторная база данных?
Информация поступает во многих формах. Некоторая информация бывает неструктурированной (например, текстовые документы, мультимедийные материалы и аудио), а часть – структурированной (например, журналы приложений, таблицы и графики). Инновации в области искусственного интеллекта и машинного обучения позволили нам создать новый тип модели машинного обучения – модель встраивания, которая кодирует все типы данных в векторы, отражающие значение и контекст ресурса. Это позволяет нам находить аналогичные ресурсы путем поиска соседних точек данных. Методы поиска векторов предоставляют уникальные возможности, такие как поиск похожих изображений для фотографий, сделанных с помощью смартфона.
Векторные базы данных позволяют хранить и извлекать векторы в виде точек высокой размерности. Они расширяют возможности по эффективному и быстрому поиску ближайших соседей в N-мерном пространстве. Обычно они основываются на индексах k-ближайшего соседа (k-NN) и строятся с использованием таких алгоритмов, как Hierarchical Navigable Small World (HNSW) и Inverted File Index (IVF). Векторные базы данных предоставляют дополнительные возможности, в том числе управление данными, отказоустойчивость, аутентификацию и контроль доступа, а также систему обработки запросов.
В чем заключается важность векторных баз данных?
Ваши разработчики могут индексировать векторы, созданные путем встраивания в векторную базу данных. Это позволяет им находить похожие ресурсы с помощью запросов соседних векторов.
Векторные базы данных – это способ практической реализации моделей встраивания. Благодаря таким возможностям баз данных, как управление ресурсами, средства контроля безопасности, масштабируемость, отказоустойчивость и эффективное извлечение информации с помощью сложных языков запросов разработка приложений становится более продуктивной.
В конечном итоге векторные базы данных позволяют разработчикам создавать уникальные приложения. Например, ваши пользователи могут использовать фотографии, сделанные на своих смартфонах, для поиска похожих изображений.
У разработчиков есть возможность использовать другие типы моделей машинного обучения для автоматизации извлечения метаданных из контента, например из изображений и отсканированных документов. Они могут индексировать метаданные вместе с векторами для осуществления гибридного поиска как по ключевым словам, так и по векторам. Также они могут объединять семантическое понимание с ранжированием релевантности для улучшения результатов поиска.
Благодаря инновациям в области генеративного искусственного интеллекта появились новые типы моделей, такие как ChatGPT, способные генерировать текст и вести сложные разговоры с человеком. Некоторые из них могут работать в нескольких режимах, например позволяют пользователям описывать ландшафт и создавать изображение, которое соответствует описанию.
Однако генеративные модели склонны к «галлюцинациям», из-за которых чат-бот может, например, вводить пользователей в заблуждение. Векторные базы данных способны дополнять генеративные модели искусственного интеллекта. Они могут обеспечивать внешнюю базу знаний для чат-ботов с генеративным искусственным интеллектом и способствовать в предоставлении ними достоверной информации.
Как используются векторные базы данных?
Векторные базы данных обычно используются для поддержки векторного поиска, а именно визуального, семантического и мультимодального. Совсем недавно они были объединены с текстовыми моделями генеративного искусственного интеллекта для создания интеллектуальных агентов, которые обеспечивают диалоговый поиск. Они также могут предотвращать «галлюцинации» генеративных моделей искусственного интеллекта, из-за которых чат-боты могут предоставлять недостоверные, но правдоподобные ответы.
Процесс разработки начинается с создания модели встраивания, предназначенной для кодирования корпуса, такого как изображения продуктов, в векторы. Процесс импорта данных также называется наполнением данных. Теперь разработчик приложения может использовать базу данных для поиска похожих продуктов, кодируя его изображение и применяя вектор, чтобы выполнить запрос похожих изображений.
В этой модели индексы k-ближайшего соседа (k-NN) обеспечивают эффективное извлечение векторов и используют функцию расстояния, такую как косинус, для ранжирования результатов по сходству.
Кто использует векторные базы данных?
Векторные базы данных предназначены для разработчиков, чтобы создавать решения на основе векторного поиска. Разработчик приложений может использовать модели с открытым исходным кодом, инструменты автоматизированного машинного обучения и сервисы базовых моделей для создания встраиваний и пополнения векторной базы данных. Для этого требуется минимальный опыт работы с машинным обучением.
Команда специалистов по данным и инженеров может создавать профессионально настроенные встраивания и реализовывать их с помощью векторной базы данных. Благодаря этому ускоряется разработка решений на основе искусственного интеллекта.
Команды, которые с ними работают, получают преимущества при управлении решениями в виде привычных рабочих нагрузок баз данных. Они могут использовать существующие инструменты и сценарии.
В чем преимущества векторных баз данных?
Векторные базы данных позволяют разработчикам внедрять инновации и создавать уникальные решения на основе векторного поиска. Они могут ускорять разработку приложений с искусственным интеллектом и упрощать эксплуатацию рабочих нагрузок приложений на базе искусственного интеллекта.
Векторные базы данных – это альтернатива разработкам на основе индексов k-ближайшего соседа (k-NN). Для использования, настройки и внедрения такого индекса требуется большой объем дополнительных знаний и технических работ.
Хорошая векторная база данных составляет основу приложений благодаря таким функциям, как управление данными, отказоустойчивость, особо важные функции безопасности и система обработки запросов. Эти возможности позволяют пользователям применять свои рабочие нагрузки для упрощения масштабирования, поддержания высокой масштабируемости и соблюдения требований безопасности.
Такие возможности, как система обработки запросов и пакеты SDK, упрощают разработку приложений. С их помощью разработчики также могут выполнять более сложные запросы (например, поиск и фильтрацию) по метаданным в рамках поиска k-NN. Кроме того, они могут использовать гибридные модели оценки релевантности, сочетающие традиционные модели частотности термина, такие как BM25, с векторными оценками, чтобы улучшить извлечение информации.
В чем заключаются проблемы векторных баз данных?
Векторным базам данных присущи многие проблемы, которые имеют и другие технологии баз данных. Мы будем продолжать работу по улучшению масштабируемости, точности аппроксимации, производительности в отношении задержек и экономичности.
Поскольку это относительно новая и развивающаяся технология, многие векторные базы требуют усовершенствования своих основных свойств, таких как безопасность, отказоустойчивость, операционная поддержка и диверсификация поддержки рабочей нагрузки. Важность этого будет расти по мере развития приложений с искусственным интеллектом, которые не ограничиваются только векторным поиском.
Как AWS может удовлетворить ваши требования по роботе с векторной базой данных?
Amazon Web Services (AWS) предлагает множество сервисов для работы с векторной базой данных.
- Сервис Amazon OpenSearch упрощает интерактивный анализ журналов, мониторинг приложений в режиме реального времени, поиск на веб-сайтах и многие другие процессы. По векторным базам данных вы можете узнать о поиске k-ближайшего соседа (k-NN) в сервисе OpenSearch.
- Версия Amazon Aurora, совместимая с PostgreSQL, и Служба реляционных баз данных Amazon (Amazon RDS) для PostgreSQL поддерживает расширение pgvector для хранения встраиваний из моделей машинного обучения в вашей базе данных и эффективного поиска сходств.
- Amazon Neptune ML – это новая возможность Neptune, которая использует графовые нейронные сети (ГНС), метод машинного обучения, специально разработанный для графов, с целью простого, быстрого и более точного прогнозирования на основе данных графов.
- Векторный поиск для Amazon MemoryDB поддерживает хранение миллионов векторов, причем время отклика на запросы и обновления составляет до десяти миллисекунд, а десятки тысяч запросов в секунду (QPS) имеют показатель полноты более 99 %.
- Amazon DocumentDB (совместимость с MongoDB) поддерживает векторный поиск – новую возможность, позволяющую хранить, индексировать и искать миллионы векторов с миллисекундным временем отклика. С помощью векторного поиска для Amazon DocumentDB можно с легкостью настраивать базы данных для приложений машинного обучения, управлять этими базами и масштабировать их.
Создайте аккаунт прямо сейчас и начните работу с векторными базами данных на AWS.
AWS: дальнейшие шаги
Получите мгновенный доступ к уровню бесплатного пользования AWS.