Иван Ямщиков, профессор семантической обработки данных и когнитивных вычислений в Центре искусственного интеллекта и робототехники Технического университета прикладных наук Вюрцбурга-Швайнфурта и руководитель направления экосистемной стратегии компании Toloka AI объясняет на портале The New Stack роль современных векторных баз данных в повышения эффективности искусственного интеллекта/машинного обучения.
За последние пять лет ландшафт голосовых помощников и чатботов претерпел значительные изменения. На первых порах люди, взаимодействовавшие с чатботами, скорее всего, отмечали высокую беглость речи, но неожиданную забывчивость, напоминающую разговор с культовой рыбкой Дори из мультфильма Pixar. В последний год произошел поворотный сдвиг, связанный с появлением больших языковых моделей (Large Language Models, LLM). Современные модели высшего уровня, такие как ChatGPT, поддерживают связные разговоры и демонстрируют улучшенную контекстную релевантность. Что же послужило катализатором этой эволюции? Помимо ожидаемого притока данных и роста вычислительных мощностей есть еще один скрытый герой — векторные базы данных.
Цель данной статьи — помочь руководителям предприятий уточнить стратегию внедрения технологий ИИ/МО и понять роль передовых векторных баз данных для повышения производительности и масштабируемости.
Векторные вложения
Начнем с векторных вложений (vector embeddings). Это слова, представленные в виде векторов. Это последовательность чисел, которая кодирует информацию. В качестве иллюстрации обратимся к Гарри Поттеру.
В волшебном мире Гарри Поттера есть волшебные часы Уизли. Они отслеживают местонахождение каждого члена семьи Уизли с помощью отдельных часовых стрелок. Каждая стрелка связана с одним членом семьи, а ее направление кодирует различные состояния: «дома», «в пути» или «в смертельной опасности». Сперва можно подумать, что волшебники плохо разбираются в геометрии, иначе зачем бы удаленные друг от друга места располагались на циферблате совсем рядом? Однако если вдуматься, то можно понять, что в этом есть смысл: когда мистер Уизли возвращается домой с работы в министерстве, часовая стрелка не скачет по циферблату туда-сюда, а последовательно перемещается по различным секторам («министерство — в пути — дом»).
Специалисты по исследованию данных назвали бы эти движения стрелки по циферблату «векторными представлениями» для обозначения различных понятий: мистер Уизли в министерстве, мистер Уизли в пути, мистер Уизли дома. Направление движения часовой стрелки соответствует тому, как состояние, которое она кодирует, связано с другими состояниями. Именно так векторные представления отражают семантические связи. Считайте, что векторы — это «часовые стрелки» разной длины, а циферблат — это не двумерная поверхность, а многомерное пространство, которое называется пространством представлений.
В математике понятие близости, или тесноты, является жизненно важным для понимания геометрии. Мы все привыкли к нашему старому и удобному трехмерному пространству, и даже в таком ужасающе малом количестве измерений мы стараемся использовать понятие близости, чтобы сделать нашу жизнь немного проще. Например, если у вас есть платяной шкаф, то вы можете использовать одну его секцию для своей одежды, а другую оставить для одежды своего партнера. Далее можно разделить секцию на большее количество сегментов, храня нижнее белье в одном месте, а футболки — в другом. Это вполне логично: как только у вас появляется некоторое пространство и понятие о расстоянии в нем, вы можете организовать его и тем самым сделать более полезным. Когда нужна футболка, не нужно рыться во всем шкафу, достаточно заглянуть на полку футболок.
Важно то, что с помощью геометрии можно закодировать любое свойство одежды. Например, если вы сильно увлечены идеями Мариэ Кондо, вы можете рассортировать свои платья таким образом, чтобы похожие цвета висели ближе друг к другу, и тогда вы сможете легко ориентироваться в цветовом спектре вариантов. Расстояние между двумя платьями в вашем гардеробе кодирует, насколько похожи цвета этих платьев.
Представим себе, что вместо сортировки гардероба вам нужно хранить нечто на порядок большее и сложное. Скажем, все знания, которые человечество смогло накопить за последние тысячелетия. Наш трехмерный шкаф не справится с этой информацией. Хорошая новость заключается в том, что, поняв понятие расстояния, не обязательно оставаться в трехмерном пространстве. У вас может быть сколько угодно измерений!
Вернёмся к часам Уизли: их циферблат кодирует только местонахождение семьи. Допустим, мы хотим изготовить новую версию этих часов, которая будет отслеживать не только местонахождение, но и настроение каждого члена семьи. Вместо двухмерного циферблата мы можем построить сферу: теперь каждая стрелка имеет проекцию на традиционный циферблат, которая кодирует местоположение, а вертикальная проекция стрелки говорит о том, счастлив, печален, сердит или озабочен соответствующий член семьи. Таких измерений могут быть десятки, сотни и даже тысячи. Неизменной остается лишь основная идея: похожие вещи находятся ближе друг к другу, а непохожие — дальше друг от друга. Этот базовый принцип и используется в векторных базах данных.
Векторные базы данных и языковые модели
Теперь, когда мы поняли концепцию векторной базы данных, давайте посмотрим, почему эти базы и языковые модели сочетаются как арахисовое масло и желе. Во-первых, идея кодирования семантического сходства через расстояние между вложениями в пространстве представлений является одной из фундаментальных идей в обработке естественного языка. Таким образом, векторная база данных — это «нативный» способ кодирования информации для языковой модели. Любой текст можно закодировать в вектор в пространстве представлений, и это открывает целый мир новых возможностей.
Векторные базы данных хранят вложения слов или фраз, позволяя LLM быстро получать контекстно-значимую информацию. Когда LLM сталкиваются с каким-либо термином, они могут извлечь из базы данных аналогичные вложения, сохраняя контекст и согласованность.
Например, LLM испытывают затруднения с длинными пассажами, но векторные базы данных позволяют им получать доступ к предыдущей информации. Извлечение вложений из предыдущих фрагментов обеспечивает непрерывность и релевантность при генерации длинных текстов. Для некоторых приложений необходимо, чтобы модель понимала определенные имена. Например, вы хотите, чтобы ваш домашний помощник знал предпочтения членов вашей семьи, или вам нужна модель, которая поможет вашей юридической службе распознавать вашу компанию и ее дочерние предприятия в юридических документах.
Векторные базы данных могут содержать вложения для именованных сущностей, что расширяет возможности LLM по точному распознаванию и использованию существительных в тексте. Организации могут создавать собственные векторные базы данных для конкретных доменов. Обучая вложения на текстах, относящихся к конкретным областям, LLM могут генерировать контекстно-значимый контент, адаптированный к соответствующей отрасли.
Векторные базы данных могут масштабироваться и вмещать огромное количество вложений, что позволяет LLM эффективно управлять обширными массивами данных. Масштабируемость крайне важна для чатботов, систем генерации контента и ответов на вопросы. Наконец, LLM могут работать на нескольких языках, как и векторные базы данных. Хранение вложений для разных языков обеспечивает плавный переход от одного языка к другому с сохранением межъязыкового контекста.
Оценка человеком
Внедрение LLM и векторных баз данных в производство — это огромный шаг вперед, но важно провести проверку безопасности, чтобы убедиться, что решения безопасны, ответственны и приносят реальную пользу бизнесу.
Финальная проверка безопасности, известная как этап оценки, обычно выполняется человеком. Приведем несколько примеров, когда оценка с участием человека может существенно повысить надежность, точность и эффективность векторных баз данных, сделав их более применимыми и полезными в различных бизнес-сценариях:
- Контекстная релевантность. ИИ может классифицировать термины, основываясь исключительно на сходстве, закодированном в векторной базе данных. Эксперты-люди могут убедиться в том, что классификация имеет смысл и в более широком контексте, в котором обычно используются термины, что добавляет дополнительный слой реальной релевантности.
- Этические и культурные нюансы. Некоторые термины или фразы могут быть чувствительны к культурным особенностям или иметь этические последствия. Человеческая оценка гарантирует, что векторные базы данных чувствительны к этим вопросам, отфильтровывая или перекатегоризируя потенциально проблемный контент.
- Отраслевой жаргон. В таких специализированных областях, как юриспруденция, здравоохранение или машиностроение, некоторые термины имеют специфические значения, которые не могут быть понятны общим моделям ИИ. Эксперты-люди в этих областях могут гарантировать, что такие термины будут точно представлены в векторной базе данных.
- Разрешение двусмысленности. Язык часто неоднозначен, и слова могут иметь несколько значений в зависимости от контекста. Человеческая оценка может помочь различить эти разные значения, обеспечивая более эффективную обработку неоднозначности в векторной базе данных.
Учитывая, что язык, культура и контекст постоянно развиваются, и новые сленги или терминология могут быстро стать актуальными, периодическая оценка человеком позволяет сохранить актуальность векторной базы данных.
Благодаря эффективному хранению и извлечению векторных представлений слов и фраз эти базы данных повышают способность LLM поддерживать контекст, предлагать релевантные ответы и управлять обширными данными. Поскольку организации стремятся к повышению эффективности и персонализации услуг, инвестиции в LLM, использующие современные векторные базы данных, не просто разумны, а стратегически важны. Понимание этой технологии крайне важно для руководителей предприятий, стремящихся максимально использовать преимущества ИИ на своем предприятии. Сейчас самое время действовать, согласовывая стратегии внедрения ИИ с решениями, использующими весь потенциал векторных баз данных.