Векторный поиск по сходству скрывается на виду
Искусственный интеллект (ИИ) способен изменить то, как выполняются даже самые малоизвестные задачи. Например, каждый год (во всяком случае, до COVID) более 73 000 человек собираются, чтобы принять участие в Гонконгском марафоне. Чтобы корректно фиксировать и записывать время финиша всех участников забега, организаторы раздают 73 000 RFID-чипов-таймеров для крепления к каждому бегуну. Хронометраж с помощью чипов — сложная задача с очевидными недостатками. Материалы (чипы и электронные считывающие устройства) необходимо покупать или арендовать у компаний, занимающихся хронометражем, а в зоне регистрации в день забега должен работать персонал, чтобы бегуны могли получить чипы. Кроме того, если датчики установлены только на старте и финише, недобросовестные бегуны могут сократить дистанцию.
Хронометраж марафонцев — логистическая задача, о которой мало кто задумывается.
Теперь представьте приложение видео-ИИ, способное автоматически идентифицировать отдельных бегунов по кадрам, снятым на финише, используя одну фотографию. Вместо того чтобы прикреплять чипы-таймеры к каждому участнику, бегуны просто загружают свою фотографию через приложение после пересечения финишной черты. Мгновенно предоставляется персональная подборка лучших моментов, статистика забега и другая релевантная информация. Камеры, установленные в различных точках по ходу дистанции, могут снимать дополнительные кадры участников и гарантировать, что каждый бегун проходит всю трассу. Какое решение кажется проще и экономичнее для внедрения?
Хотя Гонконгский марафон (пока) не использует машинное обучение для замены чипов хронометража, этот пример демонстрирует потенциал ИИ радикально изменить всё вокруг нас. Для хронометража забега это сокращает десятки тысяч чипов до нескольких камер в сочетании с алгоритмами машинного обучения. Но видео-ИИ — лишь одно из множества применений поиска по векторному сходству, процесса, который использует искусственный интеллект для анализа массивных неструктурированных наборов данных триллионного масштаба. В этой статье представлен обзор технологии векторного поиска, включая то, что это такое, как её можно использовать, а также открытое программное обеспечение и ресурсы, которые делают её доступнее, чем когда-либо прежде.
Перейти к:
Что такое поиск по векторному сходству?
Видеоданные невероятно детализированы и становятся всё более распространёнными, поэтому логично кажется, что они могли бы быть отличным сигналом для обучения без учителя при создании видео-ИИ. На самом деле это не так. Обработка и анализ видеоданных, особенно в больших объёмах, остаются проблемой для искусственного интеллекта. Недавний прогресс в этой области, как и большая часть прогресса в аналитике неструктурированных данных, во многом обязан поиску по векторному сходству.
Проблема видео, как и всех неструктурированных данных, заключается в том, что оно не следует заранее определённой модели или организационной структуре, из-за чего его трудно обрабатывать и анализировать в масштабе. К неструктурированным данным относятся изображения, аудио, поведение в социальных сетях и документы; в совокупности, по оценкам, они составляют более 80–90% всех данных. Компании всё лучше осознают бизнес-критически важные инсайты, скрытые в огромных, загадочных наборах неструктурированных данных, что стимулирует спрос на ИИ-приложения, способные раскрыть этот нереализованный потенциал.
Используя нейронные сети, такие как CNN, RNN и BERT, неструктурированные данные можно преобразовать в векторы признаков (также известные как embeddings), машиночитаемый числовой формат данных. Затем алгоритмы используются для вычисления сходства между векторами с помощью таких мер, как косинусное сходство или евклидово расстояние. Векторное embedding и поиск сходства позволяют анализировать и создавать приложения машинного обучения с использованием ранее неразличимых наборов данных.
Сходство векторов вычисляется с помощью устоявшихся алгоритмов, однако неструктурированные наборы данных обычно огромны. Это означает, что эффективный и точный поиск требует огромных объемов хранилища и вычислительной мощности. Чтобы ускорить поиск сходства и снизить требования к ресурсам, используются алгоритмы поиска приблизительного ближайшего соседа (ANN). Группируя схожие векторы вместе, алгоритмы ANN позволяют направлять запросы к кластерам векторов, которые с наибольшей вероятностью содержат схожие векторы, вместо поиска по всему набору данных. Хотя этот подход быстрее, он жертвует некоторой степенью точности. Использование алгоритмов ANN позволяет векторному поиску просматривать миллиарды инсайтов моделей глубокого обучения за миллисекунды.
Каковы некоторые применения поиска сходства векторов?
Поиск сходства векторов применяется в самых разных сценариях искусственного интеллекта, глубокого обучения и традиционных векторных вычислений. Ниже приведен общий обзор различных применений поиска сходства векторов:
Электронная коммерция: Поиск сходства векторов широко применим в электронной коммерции, включая поисковые системы обратного поиска изображений, которые позволяют покупателям искать товары с помощью изображения, снятого на смартфон или найденного в интернете. Кроме того, персонализированные рекомендации на основе поведения пользователей, интересов, истории покупок и многого другого могут предоставляться специализированными рекомендательными системами, которые опираются на векторный поиск.
Физическая и кибербезопасность: Видеоаналитика на основе ИИ — лишь одно из многих применений поиска сходства векторов в области безопасности. Другие сценарии включают распознавание лиц, отслеживание поведения, аутентификацию личности, интеллектуальный контроль доступа и многое другое. Кроме того, поиск сходства векторов играет важную роль в противодействии всё более распространенным и сложным кибератакам. Например, поиск сходства кода может использоваться для выявления рисков безопасности путем сравнения фрагмента программного обеспечения с базой данных известных уязвимостей или вредоносного ПО.
Рекомендательные системы: Рекомендательные системы — это системы, которые используют машинное обучение и анализ данных, чтобы предлагать пользователям продукты, услуги, контент и информацию. Поведение пользователя, поведение похожих пользователей и другие данные обрабатываются с помощью методов глубокого обучения для формирования рекомендаций. При наличии достаточного количества данных алгоритмы можно обучить понимать связи между сущностями и самостоятельно изобретать способы их представления. Рекомендательные системы имеют широкую применимость и являются тем, с чем люди уже взаимодействуют каждый день, включая рекомендации контента на Netflix, рекомендации покупок на Amazon и новостные ленты на Facebook.
Чат-боты: Традиционно чат-боты создаются с использованием обычного графа знаний, который требует большого обучающего набора данных. Однако чат-ботам, построенным с использованием моделей глубокого обучения, не нужно предварительно обрабатывать данные — вместо этого создается карта соответствий между часто задаваемыми вопросами и ответами. Используя предварительно обученную модель обработки естественного языка (NLP), из вопросов можно извлекать векторы признаков, а затем сохранять их и выполнять по ним запросы с помощью платформы управления векторными данными.
Поиск изображений или видео: Сети глубокого обучения используются для распознавания визуальных паттернов с конца 1970-х годов, а современные технологические тренды сделали поиск изображений и видео более мощным и доступным, чем когда-либо прежде.
Поиск по химическому сходству: Химическое сходство играет ключевую роль в прогнозировании свойств химических соединений и поиске химических веществ с определенными характеристиками, что делает его незаменимым для разработки новых лекарств. Для каждой молекулы создаются отпечатки, представленные векторами признаков, а затем расстояния между векторами используются для измерения сходства. Использование AI для открытия новых лекарств набирает обороты в технологической отрасли: ByteDance (китайская материнская компания TikTok) начала нанимать специалистов в этой области.
Программное обеспечение и ресурсы с открытым исходным кодом для поиска по векторному сходству.
Закон Мура, облачные вычисления и снижение стоимости ресурсов — это макротренды, которые сделали искусственный интеллект более доступным, чем когда-либо. Благодаря программному обеспечению с открытым исходным кодом и другим общедоступным ресурсам создание AI/ML-приложений больше не является прерогативой только крупных технологических компаний. Ниже мы приводим краткий обзор Milvus, платформы управления векторными данными с открытым исходным кодом, а также выделяем некоторые общедоступные наборы данных, которые помогают сделать AI доступным каждому.
Milvus, платформа управления векторными данными с открытым исходным кодом
Milvus — это платформа управления векторными данными с открытым исходным кодом (также известная как векторная база данных, созданная специально для векторных данных огромного масштаба. Работая на базе Facebook AI Similarity Search (Faiss), Non-Metric Space Library (NMSLIB) и Annoy, Milvus объединяет множество мощных инструментов на одной платформе, расширяя при этом их автономную функциональность. Система была специально разработана для хранения, обработки и анализа больших векторных наборов данных и может использоваться для создания всех AI-приложений (и не только), упомянутых выше.
Дополнительную информацию о Milvus можно найти на его website. Учебные материалы, инструкции по настройке Milvus, бенчмарк-тестирование и информация о создании разнообразных приложений доступны в Milvus bootcamp. Разработчики, заинтересованные во внесении вклада в проект, могут присоединиться к open-source сообществу Milvus на GitHub.
Общедоступные наборы данных для искусственного интеллекта и машинного обучения
Не секрет, что технологические гиганты вроде Google и Facebook имеют преимущество в данных по сравнению с небольшими игроками, а некоторые эксперты даже выступают за “progressive data-sharing mandate”, который обязал бы компании, превышающие определенный размер, делиться частью анонимизированных данных с более мелкими конкурентами. К счастью, существуют тысячи общедоступных наборов данных, которые можно использовать для AL/ML-проектов:
The People’s Speech Dataset: Этот набор данных от ML Commons предлагает крупнейший в мире набор речевых данных: более 87 000 часов транскрибированной речи на 59 разных языках.
UC Irvine Machine Learning Repository: Калифорнийский университет в Ирвайне поддерживает сотни общедоступных наборов данных, стремясь помочь сообществу машинного обучения.
Data.gov: Правительство США предлагает сотни тысяч открытых наборов данных, охватывающих образование, климат, COVID-19 и многое другое.
Eurostat: Статистическое управление Европейского союза предоставляет открытые наборы данных, охватывающие множество отраслей — от экономики и финансов до населения и социальных условий.
Harvard Dataverse: Репозиторий Harvard Dataverse — это бесплатный репозиторий данных, открытый для исследователей из разных дисциплин. Многие наборы данных являются общедоступными, тогда как другие имеют более ограниченные условия использования.
Хотя этот список ни в коем случае не является исчерпывающим, он является хорошей отправной точкой для знакомства с удивительно широким разнообразием открытых наборов данных. Для получения дополнительной информации о публичных наборах данных, а также о выборе подходящих данных для вашего следующего проекта в области ML или data science ознакомьтесь с этим постом на Medium.
Чтобы узнать больше о поиске по векторному сходству, ознакомьтесь со следующими ресурсами:
Читать далее

Introducing Zilliz Cloud Global Cluster: Region-Level Resilience for Mission-Critical AI
Zilliz Cloud Global Cluster delivers multi-region resilience, automatic failover, and fast global AI search with built-in security and compliance.

How to Build an Enterprise-Ready RAG Pipeline on AWS with Bedrock, Zilliz Cloud, and LangChain
Build production-ready enterprise RAG with AWS Bedrock, Nova models, Zilliz Cloud, and LangChain. Complete tutorial with deployable code.

Selecting the Right ETL Tools for Unstructured Data to Prepare for AI
Learn the right ETL tools for unstructured data to power AI. Explore key challenges, tool comparisons, and integrations with Milvus for vector search.



