🌍 Привет мир! 👋🏻
🌍 Привет мир! 👋🏻
Современный мир развивается очень и очень быстро, искусственный интеллект (AI) и четвертая промышленная революция меняют устои нашего мира. С каждого утюга только и слышно 📣:
- Вот вот нас всех заменят роботы!
Честно говоря я и сам часто думаю 🧠:
- А что делать? Куда двигаться дальше? Что учить, чтобы быть востребованным специалистом.
▶️ На самом деле, я думаю или по крайней мере верю, что моей профессиональный экспертизы хватит на мою жизнь, конечно при соблюдении постоянной прогрессии, застой в нашем деле равноценно постепенному обесцениванию.
У меня куча планов 🗓 и идей благодаря которым, надеюсь, меня не заменит робот.
Но а сегодня я просто решил немного разобраться, как работает AI, но не с позиции, что сейчас изучу и пойду покорять ML вакансии, а просто иметь базовое представление, хотя бы потому что, я как backend-разработчик соприкаюсь с отделом ML.
➡️ И начать я решил с базы, а именно что такое векторная база данных.
❓ Что такое векторная база данных (ВБД) и вектор
Это NoSQL тип БД, который хранит данные в виде многомерных векторов, каждый из которых представляет определенные характеристики или качества объекта.
Тут важно понять, что такое веткор ?
📐 Вектор — это элемент векторного пространства со своими свойствами и операциями. Если говорить проще, это массив чисел.
📝 Пример вектора изображения:
Для 🔍 поиска или анализа данных нельзя напрямую использовать текст, изображения или аудио — их нужно преобразовывать в числа, как раз векторы позволяют представить сложные объекты (слова, картинки, аудио) в виде набора чисел.
📌 Чем больше измерений (размерность вектора), тем больше информации он содержит!
❓ Как получить вектор объекта
Чтобы получить векторное представление (эмбеддинг) объекта, необходимо использовать модель машинного обучения, которая преобразует данные в многомерный вектор.
Для каждого типа данных существуют определенные модели:
📌 Из текста с помощью NLP-моделей (
📌 Из аудиофайлов с помощью аудиомоделей (
и тд.
⚠️ Некоторые ВБД могут автоматически векторизовать входящие объекты (
⁉️ Какую проблему решают ВБД
В то время как реляционные БД выполняют поиск строго по точному соответствию запросу, ВБД позволяют извлекать данные на основании семантического сходства и близости в многомерном пространстве.
✏️ Пример:
В РБД формируется строгий текстовый запрос:
⚙️ Найти все товары с названием 'красные кроссовки'
✅ Результат:
- Красные кроссовки Nike
❌ Но не найдёт:
- Бордовые кеды Converse
При использовании ВБД, запрос формируется иначе:
🔎 Найти обувь, похожую на красные кроссовки
✅ Результат:
- Красные кроссовки Nike
- Бордовые кеды Converse
‼️ Некоторые ВБД могут хранить не только вектора, но и метаданные исходных объектов, включая ссылки на оригинальные файлы.
❓ Как вычисляется "схожесть" объектов?
В ВБД схожесть объектов определяется с помощью расстояния между векторами. Чем меньше расстояние, тем более схожими считаются объекты. Для оценки расстояния используются различные математические методы.
📎 Примеры метрик и где используется:
- Косинусное сходство (
- Евклидово расстояние (
- Манхэттенское расстояние (
ℹ️ Индексация в ВБД
В РБД для ускорения поиска необходимых данных как правило используются индексы, которые немного замедляют запись, но значительно ускоряют поиск и соответственно получение данных. Вот и в ВБД существуют методы оптимизации поиска векторов, так как их может быть миллионы или даже миллиарды и полный перебор займет длительное 🕑 время.
☄️ Ускорить поиск можно несколькими способами:
Сокращение размерности векторов – уменьшение количества параметров в векторе для более быстрого сравнения.
Использование индексных структур – алгоритмы, ускоряющие поиск.
📝 Итого:
Путь получения данных выглядит следующим образом.
Запрос (промпт) → Векторизация (эмбеддинг) → Поиск ближайших векторов → результат.
🙂 Хорошего дня!
#AI
Современный мир развивается очень и очень быстро, искусственный интеллект (AI) и четвертая промышленная революция меняют устои нашего мира. С каждого утюга только и слышно 📣:
- Вот вот нас всех заменят роботы!
Честно говоря я и сам часто думаю 🧠:
- А что делать? Куда двигаться дальше? Что учить, чтобы быть востребованным специалистом.
▶️ На самом деле, я думаю или по крайней мере верю, что моей профессиональный экспертизы хватит на мою жизнь, конечно при соблюдении постоянной прогрессии, застой в нашем деле равноценно постепенному обесцениванию.
У меня куча планов 🗓 и идей благодаря которым, надеюсь, меня не заменит робот.
Но а сегодня я просто решил немного разобраться, как работает AI, но не с позиции, что сейчас изучу и пойду покорять ML вакансии, а просто иметь базовое представление, хотя бы потому что, я как backend-разработчик соприкаюсь с отделом ML.
➡️ И начать я решил с базы, а именно что такое векторная база данных.
❓ Что такое векторная база данных (ВБД) и вектор
Это NoSQL тип БД, который хранит данные в виде многомерных векторов, каждый из которых представляет определенные характеристики или качества объекта.
Тут важно понять, что такое веткор ?
📐 Вектор — это элемент векторного пространства со своими свойствами и операциями. Если говорить проще, это массив чисел.
📝 Пример вектора изображения:
[0.12, -0.34, 0.88, 0.56]
Для 🔍 поиска или анализа данных нельзя напрямую использовать текст, изображения или аудио — их нужно преобразовывать в числа, как раз векторы позволяют представить сложные объекты (слова, картинки, аудио) в виде набора чисел.
📌 Чем больше измерений (размерность вектора), тем больше информации он содержит!
❓ Как получить вектор объекта
Чтобы получить векторное представление (эмбеддинг) объекта, необходимо использовать модель машинного обучения, которая преобразует данные в многомерный вектор.
Для каждого типа данных существуют определенные модели:
📌 Из текста с помощью NLP-моделей (
Word2Vec...)📌 Из аудиофайлов с помощью аудиомоделей (
Whisper...).и тд.
⚠️ Некоторые ВБД могут автоматически векторизовать входящие объекты (
Weaviate, Qdrant...) ⁉️ Какую проблему решают ВБД
В то время как реляционные БД выполняют поиск строго по точному соответствию запросу, ВБД позволяют извлекать данные на основании семантического сходства и близости в многомерном пространстве.
✏️ Пример:
В РБД формируется строгий текстовый запрос:
⚙️ Найти все товары с названием 'красные кроссовки'
✅ Результат:
- Красные кроссовки Nike
❌ Но не найдёт:
- Бордовые кеды Converse
При использовании ВБД, запрос формируется иначе:
🔎 Найти обувь, похожую на красные кроссовки
✅ Результат:
- Красные кроссовки Nike
- Бордовые кеды Converse
‼️ Некоторые ВБД могут хранить не только вектора, но и метаданные исходных объектов, включая ссылки на оригинальные файлы.
❓ Как вычисляется "схожесть" объектов?
В ВБД схожесть объектов определяется с помощью расстояния между векторами. Чем меньше расстояние, тем более схожими считаются объекты. Для оценки расстояния используются различные математические методы.
📎 Примеры метрик и где используется:
- Косинусное сходство (
Текст, поиск документов)- Евклидово расстояние (
Изображения, аудио, геоданные)- Манхэттенское расстояние (
Финансовые данные)ℹ️ Индексация в ВБД
В РБД для ускорения поиска необходимых данных как правило используются индексы, которые немного замедляют запись, но значительно ускоряют поиск и соответственно получение данных. Вот и в ВБД существуют методы оптимизации поиска векторов, так как их может быть миллионы или даже миллиарды и полный перебор займет длительное 🕑 время.
☄️ Ускорить поиск можно несколькими способами:
Сокращение размерности векторов – уменьшение количества параметров в векторе для более быстрого сравнения.
Использование индексных структур – алгоритмы, ускоряющие поиск.
📝 Итого:
Путь получения данных выглядит следующим образом.
Запрос (промпт) → Векторизация (эмбеддинг) → Поиск ближайших векторов → результат.
🙂 Хорошего дня!
#AI

Хотите больше таких постов?
Подпишитесь на канал и читайте продолжение в Telegram.