Пейджер

🌍 Привет мир! 👋🏻

🌍 Привет мир! 👋🏻

Современный мир развивается очень и очень быстро, искусственный интеллект (AI) и четвертая промышленная революция меняют устои нашего мира. С каждого утюга только и слышно 📣:

- Вот вот нас всех заменят роботы!

Честно говоря я и сам часто думаю 🧠:

- А что делать? Куда двигаться дальше? Что учить, чтобы быть востребованным специалистом.

▶️ На самом деле, я думаю или по крайней мере верю, что моей профессиональный экспертизы хватит на мою жизнь, конечно при соблюдении постоянной прогрессии, застой в нашем деле равноценно постепенному обесцениванию.

У меня куча планов 🗓 и идей благодаря которым, надеюсь, меня не заменит робот.
Но а сегодня я просто решил немного разобраться, как работает AI, но не с позиции, что сейчас изучу и пойду покорять ML вакансии, а просто иметь базовое представление, хотя бы потому что, я как backend-разработчик соприкаюсь с отделом ML.

➡️ И начать я решил с базы, а именно что такое векторная база данных.

Что такое векторная база данных (ВБД) и вектор

Это NoSQL тип БД, который хранит данные в виде многомерных векторов, каждый из которых представляет определенные характеристики или качества объекта.

Тут важно понять, что такое веткор ?

📐 Вектор — это элемент векторного пространства со своими свойствами и операциями. Если говорить проще, это массив чисел.

📝 Пример вектора изображения:

[0.12, -0.34, 0.88, 0.56]


Для 🔍 поиска или анализа данных нельзя напрямую использовать текст, изображения или аудио — их нужно преобразовывать в числа, как раз векторы позволяют представить сложные объекты (слова, картинки, аудио) в виде набора чисел.

📌 Чем больше измерений (размерность вектора), тем больше информации он содержит!

Как получить вектор объекта

Чтобы получить векторное представление (эмбеддинг) объекта, необходимо использовать модель машинного обучения, которая преобразует данные в многомерный вектор.

Для каждого типа данных существуют определенные модели:

📌 Из текста с помощью NLP-моделей (Word2Vec...)
📌 Из аудиофайлов с помощью аудиомоделей (Whisper...).

и тд.

⚠️ Некоторые ВБД могут автоматически векторизовать входящие объекты (Weaviate, Qdrant...)

⁉️ Какую проблему решают ВБД

В то время как реляционные БД выполняют поиск строго по точному соответствию запросу, ВБД позволяют извлекать данные на основании семантического сходства и близости в многомерном пространстве.

✏️ Пример:

В РБД формируется строгий текстовый запрос:

⚙️ Найти все товары с названием 'красные кроссовки'

Результат:

- Красные кроссовки Nike

Но не найдёт:

- Бордовые кеды Converse

При использовании ВБД, запрос формируется иначе:

🔎 Найти обувь, похожую на красные кроссовки

Результат:

- Красные кроссовки Nike
- Бордовые кеды Converse

‼️ Некоторые ВБД могут хранить не только вектора, но и метаданные исходных объектов, включая ссылки на оригинальные файлы.

Как вычисляется "схожесть" объектов?

В ВБД схожесть объектов определяется с помощью расстояния между векторами. Чем меньше расстояние, тем более схожими считаются объекты. Для оценки расстояния используются различные математические методы.

📎 Примеры метрик и где используется:

- Косинусное сходство (Текст, поиск документов)
- Евклидово расстояние (Изображения, аудио, геоданные)
- Манхэттенское расстояние (Финансовые данные)

ℹ️ Индексация в ВБД

В РБД для ускорения поиска необходимых данных как правило используются индексы, которые немного замедляют запись, но значительно ускоряют поиск и соответственно получение данных. Вот и в ВБД существуют методы оптимизации поиска векторов, так как их может быть миллионы или даже миллиарды и полный перебор займет длительное 🕑 время.

☄️ Ускорить поиск можно несколькими способами:

Сокращение размерности векторов – уменьшение количества параметров в векторе для более быстрого сравнения.
Использование индексных структур – алгоритмы, ускоряющие поиск.

📝 Итого:

Путь получения данных выглядит следующим образом.

Запрос (промпт) → Векторизация (эмбеддинг) → Поиск ближайших векторов → результат.

🙂 Хорошего дня!

#AI
Медиа 1
Хотите больше таких постов?
Подпишитесь на канал и читайте продолжение в Telegram.
Подписаться на @ivanchikovitclub Открыть пост в Telegram