Примерное время чтения: 9 Minuti
В последние недели наблюдается рост интереса инвесторов к векторным базам данных. С начала 2023 года мы заметили, что:
Давайте рассмотрим подробнее, что такое векторные базы данных.
Векторные базы данных в значительной степени зависят от векторного встраивания, типа представления данных, которое несет в себе семантическую информацию, критически важную для понимания ИИ и поддержания долговременной памяти, которую можно использовать при выполнении сложных действий.
Векторные встраивания похожи на карту, но вместо того, чтобы показывать нам, где что находится в мире, они показывают нам, где что находится в чем-то, что называется векторное пространство. Векторное пространство — это своего рода большая игровая площадка, где всему есть свое место. Представьте, что у вас есть группа животных: кошка, собака, птица и рыба. Мы можем создать векторное встраивание для каждого изображения, задав ему особое положение на игровой площадке. Кошка может быть в одном углу, собака в другом. Птица могла быть в небе, а рыба могла быть в пруду. Это место представляет собой многомерное пространство. Каждое измерение соответствует различным их аспектам, например, у рыб есть плавники, у птиц есть крылья, у кошек и собак есть ноги. Другим их аспектом может быть то, что рыбы принадлежат воде, птицы — преимущественно небу, а кошки и собаки — земле. Когда у нас есть эти векторы, мы можем использовать математические методы, чтобы сгруппировать их на основе их сходства. На основании имеющейся у нас информации,
Таким образом, векторные вложения подобны карте, которая помогает нам находить сходство между вещами в векторном пространстве. Точно так же, как карта помогает нам ориентироваться в мире, векторные встраивания помогают ориентироваться на векторной игровой площадке.
Ключевая идея заключается в том, что вложения, которые семантически похожи друг на друга, имеют меньшее расстояние между собой. Чтобы выяснить, насколько они похожи, мы можем использовать функции векторного расстояния, такие как евклидово расстояние, косинусное расстояние и т. д.
Векторные библиотеки хранить вложения векторов в индексы в памяти, чтобы выполнять поиск сходства. Векторные библиотеки имеют следующие характеристики/ограничения:
Доступно множество библиотек векторного поиска: FAISS из Facebook, раздражать от Spotify и СканНН от Google. FAISS использует метод кластеризации, Annoy использует деревья, а ScanNN использует векторное сжатие. Для каждого из них существует компромисс производительности, который мы можем выбрать на основе нашего приложения и показателей производительности.
Основной особенностью, отличающей векторные базы данных от векторных библиотек, является возможность архивирования, обновления и удаления данных. Векторные базы данных имеют поддержку CRUD полный (создание, чтение, обновление и удаление), который устраняет ограничения векторной библиотеки.
Короче говоря, база данных векторов обеспечивает превосходное решение для обработки векторных вложений, устраняя ограничения автономных векторных индексов, как обсуждалось в предыдущих пунктах.
Но что делает векторные базы данных лучше традиционных баз данных?
Традиционные базы данных предназначены для хранения и извлечения структурированных данных с использованием реляционных моделей, что означает, что они оптимизированы для запросов на основе столбцов и строк данных. Хотя в традиционных базах данных можно хранить вложения векторов, эти базы данных не оптимизированы для векторных операций и не могут эффективно выполнять поиск по сходству или другие сложные операции с большими наборами данных.
Это связано с тем, что в традиционных базах данных используются методы индексирования, основанные на простых типах данных, таких как строки или числа. Эти методы индексирования не подходят для векторных данных, которые имеют большую размерность и требуют специальных методов индексирования, таких как инвертированные индексы или пространственные деревья.
Кроме того, традиционные базы данных не предназначены для обработки больших объемов неструктурированных или частично структурированных данных, часто связанных с векторными встраиваниями. Например, файл изображения или аудио может содержать миллионы точек данных, которые традиционные базы данных не могут эффективно обрабатывать.
Векторные базы данных, с другой стороны, специально разработаны для хранения и извлечения векторных данных и оптимизированы для поиска сходства и других сложных операций с большими наборами данных. Они используют специальные методы индексирования и алгоритмы, предназначенные для работы с многомерными данными, что делает их гораздо более эффективными, чем традиционные базы данных для хранения и извлечения векторных вложений.
Теперь, когда вы так много читали о векторных базах данных, вам может быть интересно, как они работают? Давайте взглянем.
Все мы знаем, как работают реляционные базы данных: они хранят строки, числа и другие типы скалярных данных в строках и столбцах. С другой стороны, векторная база данных работает с векторами, поэтому способ ее оптимизации и запросов совершенно другой.
В традиционных базах данных мы обычно запрашиваем строки в базе данных, где значение обычно точно соответствует нашему запросу. В векторных базах данных мы применяем метрику подобия, чтобы найти вектор, наиболее похожий на наш запрос.
База данных векторов использует комбинацию нескольких алгоритмов, которые участвуют в поиске ближайших соседей (ANN). Эти алгоритмы оптимизируют поиск с помощью хеширования, квантования или поиска на основе графа.
Эти алгоритмы собраны в конвейер, который обеспечивает быстрый и точный поиск соседей запрашиваемого вектора. Поскольку база данных векторов дает приблизительные результаты, мы рассматриваем основные компромиссы между точностью и скоростью. Чем точнее результат, тем медленнее будет запрос. Однако хорошая система может обеспечить сверхбыстрый поиск с почти идеальной точностью.
Векторные базы данных — это мощный инструмент для поиска сходства и других сложных операций с большими наборами данных, которые невозможно эффективно выполнять с помощью традиционных баз данных. Для создания функциональной векторной базы данных встраивания необходимы, поскольку они фиксируют семантическое значение данных и обеспечивают точный поиск сходства. В отличие от векторных библиотек, векторные базы данных разработаны с учетом нашего сценария использования, что делает их идеальными для приложений, где производительность и масштабируемость имеют решающее значение. С развитием машинного обучения и искусственного интеллекта векторные базы данных становятся все более важными для широкого спектра приложений, включая рекомендательные системы, поиск изображений, семантическое сходство и этот список можно продолжить. Поскольку эта область продолжает развиваться, мы можем ожидать появления еще более инновационных приложений векторных баз данных в будущем.
Ercole Palmeri
Развитие мелкой моторики посредством раскрашивания готовит детей к более сложным навыкам, таким как письмо. Раскрасить…
Военно-морской сектор является настоящей глобальной экономической державой, которая достигла 150-миллиардного рынка...
В прошлый понедельник Financial Times объявила о сделке с OpenAI. FT лицензирует свою журналистику мирового уровня…
Миллионы людей платят за стриминговые сервисы, выплачивая ежемесячную абонентскую плату. Распространено мнение, что вы…