Предобученные языковые модели генерируют качественный текст, сравнимый по качеству с человеческим (иногда даже превосходящий его). Но некоторые проблемы остаются даже у лучших LLM — сеть не понимает, что говорит. Может получаться хоть и виртуозный с точки зрения грамматики и лексики, но всё-таки неверный по смыслу результат. 

Известен недавний пример, который авторы окрестили “проклятьем обратимости” (reversal curse). Даже GPT-4 может быть не в состоянии построить обратную логическую связь между простыми фактами. Например, на вопрос о том, как зовут маму Тома Круза GPT-4 отвечает правильно (Мэри Ли Пфайффер). А вот как зовут сына Мэри Ли Пфайффер GPT-4, к сожалению не знает.

Можно поспорить, что это никакое не проклятье, а естественное и необходимое внутреннее свойство нейросети. Потому что узлы с малым количеством связей (а Мэри Ли Пфайффер очевидно редко встречается в исходном датасете) нужно игнорировать, иначе выход потонет в массе ненужной информации. То есть если из А следует В, но при этом для А и В есть серьезный дисбаланс, то нейросеть и не должна строить обратную связь из B в А. Другими словами — не баг, а фича. 

Такие аргументы имеют место, но всё-таки хочется, чтобы такая мощная модель могла проделать простую инверсию, доступную даже ребенку. Есть и другой пример —  GPT-4 заметно хуже людей  решает несложные логические задачки

Уже несколько лет назад появилась идея совместно использовать графы знаний (KG) и LLM. Граф знаний — это множество триплетов “объект 1, объект 2 и вид связи между ними”. Идея подружить KG и LLM довольно естественно возникает из-за их своеобразного родства — графы состоит из слов и их связей, а LLM прогнозирует слово, строя связи (хотя и совсем иного рода - статистические) с предыдущими токенам. Поэтому несколько лет назад стали активны сразу несколько таких направлений. С помощью LLM строят графы знаний, а с помощью графов знаний улучшают LLM. Во втором случае KG пытаются применять по-разному — на этапе до обучения (расширять входные данные, оптимизировать маскирование), во время (интегрировать  в кодировщики или создавать отдельные слои) и после обучения (тонкая настройка). 

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

Решить эти проблемы нацелена CogNLGL. Авторы вдохновились теорией из когнитивной психологии о двух подсистемах, которые составляют мышление человека. Первая быстро и неосознанно собирает информацию, вторая медленно и целенаправленно её анализирует. CogNLG тоже состоит из двух систем. Первая система собственно генерирует следующий токен (в данном случае авторы взяли на ее место GPT-2), но использует для этого уже отфильтрованные второй системой знания. Тут авторы сравнивают с процессом написания текста человеком — предварительно человек собирает нужные значения, а уже потом динамически подбирает наиболее подходящие из них для данного контекста в реальном времени. Это как раз цель второй системы — создать граф, нужный для генерации следующего токена, она основана на графовой сверточной сети. Тут кроется важное отличие от других подобных подходов — внешние знания не статичны, а динамически формируются для каждой позиции. Итак, входные данные формируют начальные узлы графа (source entity), затем задается глубина и из внешнего графа знаний берутся дополнительные узлы (extension entity), связанные с source entity на заданной глубине. Скрытые состояния получившегося графа и семантики, полученной из первой системы, попадают на prediction layer. Он выдает отфильтрованные знания в виде лучших узлов вместе с их связями и summary, в котором в виде простых предложений сформулированы триплеты из графа с учетом частей речи и ролей объект-субъект-отношение. 

Проверяли CogNLG на датасетах ENT-DESC, собранного из почти 10 миллионов страниц Википедии и Person and animal из графа знаний WikiData. Почти по всем метрикам она превзошла лучшую на тот момент MGCN

Другая область, где графы знаний пересекаются с нейросетями — это обучение на графах В отличие от LLM, где модель учится и работает на конкретном словаре, в обучении на графах такого единого словаря нет — разные графы содержат разные сущности и связи, которые, вообще говоря, не пересекаются. Недавний интересный результат в этой области— метод ULTRA (unified, learnable, and transferable). Он нужен, чтобы привести “к одному словарю” разные графы знаний, то есть, например, чтобы можно было обучить модель на одном графе, а заставить работать на другом. 

В классическом варианте представления в виде графов строятся относительно объектов. То есть объекты — это узлы, а отношения между ними — это ребра. Отношения при таком подходе инвариантны. ULTRA же берет любой такой граф и строит на его основе граф связей (отношений), в котором узлы — это отношения из изначального графа. 



К этому графу применяют графовую нейросеть и получают на выходе относительные представления для каждой связи, то есть выясняют, как сами эти отношения связаны между собой. Например, на картинке выше входной узел отношения “authored” является выходным узлом для отношения “genre”. Всего можно выделить четыре вида таких “мета-связей” (в смысле связей связей): вход-выход, вход-вход, выход-выход и выход-вход.  Таким образом инвариантом становятся не сами отношения, а их мета-представления. В таком виде переработанный граф предлагается использовать для любых методов индуктивного обучения. Авторы прикрутили ULTRA к NBFNet, которая предсказывает связи, и показали, что обучив ее на трех KG, можно перевести на более 50 других графов. 

Больше наших обзоров AI‑статей на канале Pro AI.

Комментарии (3)


  1. Vfedosov
    20.03.2024 16:34

    WTF? Нормальные люди используют RAG для данной цели, что гораздо проще и работает для гораздо более широкого круга задач.


  1. odmin227
    20.03.2024 16:34
    +1

    Тоже верю что графы + ллм взорвут дальше в вопросах персонализации. (Учитывая, что LLM уже генерализируют по MDL).


  1. phenik
    20.03.2024 16:34

    Решить эти проблемы нацелена CogNLGL. Авторы вдохновились теорией из когнитивной психологии о двух подсистемах, которые составляют мышление человека. Первая быстро и неосознанно собирает информацию, вторая медленно и целенаправленно её анализирует. CogNLG тоже состоит из двух систем.

    Типов мышления намного больше, в англ. варианте классификации выделено еще больше, меняется от автора к автору, и зависит от целей классификации. Канеман выделил два типа, ассоциативный и логический, в связи с исследования в области экономики. Это объясняет популярность этого упрощенного подхода, но эти уровни мышления действительно важные. ЯМ в основном реализуют ассоциативный тип мышления поэтому склонны фантазировать (галлюцинировать, что не совсем терминологически верно с точки зрения психофизиологии, т.к. галлюцинации связаны с депривацией восприятия, тогда уж бредить:), как и человек. И так же, как и человек с помощью логического мышления, но не только, уменьшает избыточное фантазирование, для ЯМ предлагается использовать элементы мышления по правилам (1, 2) для уменьшения их фантазирования.

    Когнитивные графы это другое представление давно известных когнитивных карт, частным случаем которых являются семантические сети на базе которых в прошлом создавали экспертные системы, как реализаций идеи символьного ИИ. В некоторой степени обратились к прошлому опыту) Однако и ЯМ на только базе трансформеров, как прямых сетей, не позволят реализовать в полном объеме все возможности разных типов мышления человека, например, образного мышления. В перспективе возможно это будет по силам нейроморфным решениям, над которыми работают многие известные производители микропроцессорной техники, которые ближе по своим возможностям биологическим прототипам, по энергоэффектвности, асинхронности, динамизму, универсальности, способностям к обучению, и др. свойствам.

    Спасибо за обзор!