Векторная база данных
Узнайте, как векторные базы данных управляют высокоразмерными вложениями для семантического поиска. Научитесь использовать Ultralytics и поиск по схожести для работы приложений искусственного интеллекта.
Векторная база данных — это специализированная система хранения, предназначенная для управления, индексирования и запроса высокоразмерных векторных данных,
часто называемых вложениями. В отличие от
традиционной реляционной базы данных, которая
организует структурированные данные в строки и столбцы для точного сопоставления ключевых слов, векторная база данных оптимизирована для
семантического поиска. Она позволяет интеллектуальным системам находить точки данных, которые концептуально схожи, а не
идентичны. Эта способность имеет основополагающее значение для современной
инфраструктуры искусственного интеллекта (ИИ)
, позволяя приложениям обрабатывать и понимать
неструктурированные данные, такие как изображения, аудио, видео и
текст, путем анализа математических отношений между ними. Эти базы данных служат долгосрочной памятью для
интеллектуальных агентов, облегчая такие задачи, как визуальный поиск и персонализированные рекомендации.
Как работают векторные базы данных
Функция векторной базы данных основана на концепции векторного пространства, в котором элементы данных отображаются в виде точек в
многомерной системе координат. Процесс начинается с
извлечения признаков, когда
модель глубокого обучения (DL) преобразует исходные данные в
числовые векторы.
-
Поглощение: Данные обрабатываются нейронной сетью, такой как современная
YOLO26, для генерации вложений. Эти векторы сжимают
семантическое значение ввода в плотный список чисел с плавающей запятой.
-
Индексирование: чтобы обеспечить низкую
задержку вывода при поиске,
база данных организует эти векторы с помощью специальных алгоритмов. Такие методы, как
Hierarchical Navigable Small World (HNSW) или
Inverted File Index (IVF), позволяют системе эффективно перемещаться по миллиардам векторов
без сканирования каждой отдельной записи.
-
Запрос: когда пользователь отправляет поисковый запрос (например, изображение определенной модели обуви), система
преобразует запрос в вектор и вычисляет его близость к сохраненным векторам с помощью метрик расстояния, таких как
косинусная схожесть или
евклидово расстояние.
-
Поиск: база данных возвращает «ближайших соседей», которые представляют собой наиболее
релевантные по контексту результаты.
Следующий Python демонстрирует, как генерировать вложения с помощью стандартного ultralytics модель,
которая является обязательным шагом перед заполнением векторной базы данных.
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Generate feature embeddings for an image file
# The 'embed' method creates the vector representation needed for the database
results = model.embed("https://ultralytics.com/images/bus.jpg")
# Output the shape of the resulting embedding vector
print(f"Embedding vector shape: {results[0].shape}")
Применение в реальном мире
Векторные базы данных являются движущей силой многих передовых
приложений компьютерного зрения (CV) и
обработки естественного языка (NLP),
используемых сегодня в корпоративных средах.
-
Поисково-усиленное генерирование (RAG): В эпоху
генеративного ИИ векторные базы данных позволяют
большим языковым моделям (LLM) получать доступ к
обширной библиотеке частных, актуальных данных. Получая релевантные документы на основе семантического значения запроса пользователя
, система уменьшает
галлюцинации в LLM и предоставляет
фактические, контекстно-зависимые ответы.
-
Системы визуальных рекомендаций: в
сфере искусственного интеллекта в розничной торговле платформы используют векторные базы данных для
реализации функций «подобные стили». Если пользователь просматривает конкретное летнее платье, система запрашивает
базу данных на наличие других изображений продуктов с похожими визуальными вложениями — совпадающими узорами, фасонами и цветами — обеспечивая
лучший пользовательский опыт, чем простая
фильтрация по тегам.
-
Обнаружение аномалий и угроз: Системы безопасности используют векторные базы данных для
обнаружения аномалий. Храня встроенные данные о
«нормальном» поведении или уполномоченном персонале, система может мгновенно выявлять отклонения, выходящие за пределы
ожидаемого кластера в векторном пространстве, что повышает
безопасность данных и улучшает мониторинг объекта.
Дифференциация смежных понятий
Для эффективной реализации этих систем полезно отличать векторную базу данных от связанных технологий в
сфере
операций машинного обучения (MLOps)
.
-
Векторная база данных и векторный поиск:
Векторный поиск — это действие или алгоритмический процесс поиска похожих векторов («как»).
Векторная база данных — это надежная инфраструктура, созданная для хранения данных, управления индексом и выполнения таких
поисков в большом масштабе («где»).
-
Векторная база данных против хранилища признаков:
Хранилище признаков — это централизованный репозиторий для управления признаками, используемыми при обучении и инференции моделей, что обеспечивает
согласованность. Хотя оно обрабатывает данные признаков, оно не оптимизировано в первую очередь для запросов на основе схожести,
которые определяют векторную базу данных.
-
Векторная база данных против озера данных: озеро данных
хранит огромные объемы необработанных данных в их исходном формате. Векторная база данных хранит обработанные математические
представления (вложения) этих данных, оптимизированные специально для
поиска по схожести.
Интеграция с современными рабочими процессами ИИ
Внедрение векторной базы данных часто предполагает использование конвейера, в котором такие модели, как эффективная
YOLO26, выступают в качестве механизма встраивания. Эти модели обрабатывают
визуальные данные на периферии или в облаке, а полученные векторы передаются в такие решения, как
Pinecone, Milvus или
Qdrant.
Для команд, стремящихся оптимизировать весь этот жизненный цикл — от курирования данных и автоматической аннотации до обучения моделей и
их развертывания — Ultralytics предлагает комплексную
среду. Благодаря интеграции обучения моделей с эффективными стратегиями развертывания разработчики могут обеспечить точность
встраиваний, питающих их векторные базы данных, что приводит к более качественным результатам поиска и более умным ИИ-
агентам.