Эмбеддинги в векторных базах данных
В прошлом видео мы остановились на том, что в векторных базах данных хранятся некие закодированные вложения, или эмбеддинги. Давайте попробуем разобраться с этим понятием. Что же такое эмбеддинг и зачем он нужен?
Это очень важно понимать, потому что этот термин будет нам встречаться очень часто, когда мы будем работать с различными векторными базами данных. Нужно понимать, как эмбеддинг формируется и что он собой представляет.
Предположим, у нас есть некий объект — пусть это будет яблоко. Это может быть совершенно что угодно: отдельное слово, предложение, большой текст, картинка, аудиофайл, видеофайл и так далее. Любой цифровой объект, который у нас есть, мы можем с ним работать. По сути, это и есть те самые неструктурированные данные.
В данном примере неструктурированным набором данных является некий термин «яблоко». Для того чтобы сохранить этот объект в векторную базу данных как определённое понятие, мы должны преобразовать его в определённый набор чисел. Как этот набор чисел может выглядеть? Это просто некое перечисление чисел, по которым можно определить, что этот объект — яблоко, а не, допустим, груша, банан или что-то ещё.
Преобразование объекта в вектор
Каким способом мы можем это сделать? Для того чтобы оцифровать объект, мы должны каким-то образом измерить различные его характеристики. Какие это могут быть характеристики? Например, цвет, размер, вкус, запах и так далее. Все эти характеристики мы можем перевести в цифровой вид.
Например, можно сказать, насколько это яблоко красное, и степень красноты отложить по какой-то оси координат — допустим, оно у нас на двоечку красное. Потом мы можем определить, насколько это яблоко большое. У нас появляется другая ось, которая характеризует степень размера этого объекта — допустим, на троечку.
У нас получился вектор — направленный отрезок, который характеризует наш объект. В данном случае мы определяем красноту этого объекта и его размер. Но мы можем добавить сюда ещё дополнительную характеристику, например запах — насколько он соответствует какому-то критерию. У нас появится третья ось, третье измерение.
Таких измерений по каждой характеристике объекта, который мы хотим охарактеризовать, может быть множество — они и формируют наше многомерное пространство. Когда мы сформируем такое многомерное пространство, у нас получится огромное количество точек различных характеристик этого объекта. Эти точки и есть те вектора, которые характеризуют наш объект.
Роль модели искусственного интеллекта
Само кодирование объекта происходит с помощью специальной математической модели, которая в современном мире работает на основе искусственного интеллекта. У нас существует AI-модель, в которую заложены определённые характеристики: как охарактеризовать объект — насколько он большой, какой у него запах, вкус и так далее.
Какие характеристики заложит разработчик в эту модель, такую систему векторов мы и получим. Это важно понимать: разная модель будет выдавать разные вектора. Чем больше характеристик и измерений мы будем использовать для описания нашего объекта, тем более качественной будет итоговая система векторов, по которой векторная база данных сможет найти конкретный результат.
Сейчас просто важно понимать, что мы с помощью математической модели размещаем все характеристики нашего объекта в некой системе измерений, в некой системе векторов. В итоге из исходного физического объекта мы получаем некоторую систему векторов — набор чисел, характеризующих этот объект. Имея этот набор чисел, мы можем спокойно разместить его в нашу векторную базу данных. Это и будет наше закодированное вложение — эмбеддинг, который хранится в соответствующем пространстве векторной базы данных.
Именно поэтому векторные базы данных называются векторными — они работают с такими вложениями (эмбеддингами), которые представляют собой вектора характеристик нашего объекта.
Чтобы оставить сообщение, зарегистрируйтесь/войдите на сайт через:
Email - зарегистрироваться / войти