Top.Mail.Ru
РБК Компании

Савелий Батурин поделился прогнозами о будущем искусственного интеллекта

Руководитель ML отдела Postgres Professional Савелий Батурин рассказал о будущем ИИ
Савелий Батурин поделился прогнозами о будущем искусственного интеллекта
Источник изображения: Архив Postgres Professional
Савелий Батурин
Савелий Батурин
Руководитель отдела машинного обучения в компании Postgres Professional

Эксперт в области ИИ и машинного обучения. Магистр прикладной математики. Преподаватель в МФТИ и Летней школе НГУ по направлению «ИИ в СУБД»

Подробнее про эксперта

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

  1. Фонемы ограничивают сочетания звуков. В русском языке, например, их всего 42.
  2. Слова ограничивают сочетания фонем и переводят наш мир в дискретное множество понятий так рождается семантика.
  3. Предложения, в свою очередь, ограничивают сочетания слов, создавая структуры для описания явлений воспринимаемого нами мира.

Все эти ограничения составляют суть языка, его синтаксис и семантику.

Однако наш язык все еще остается излишне свободным и эту свободу большие языковые модель с легкостью перенимают. LLM демонстрируют впечатляющую гибкость в генерации текста, но их фундаментальная слабость — неконтролируемая вариативность. Теоретически, пространство возможных генераций модели растет экспоненциально: если длина генерации — M, а словарь содержит N токенов, то число вариантов равно N в степени М. На практике распределение вероятностей и методы вроде top-p/top-k sampling отсекают маловероятные варианты, но даже после этого LLM остаются подвержены хаотичным отклонениям — галлюцинациям, противоречиям и нестабильности форматов.

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

Формальные грамматики

Формальная грамматика — это система правил, определяющая, какие последовательности символов принадлежат языку, а какие нет. Она задается в терминах:  

  • Терминалов (элементарные символы, из которых строятся строки языка)
    • Пример терминалов в грамматике арифметических выражений: «0», «1», «2», «3», «4», «5», «6», «7», «8», «9», «+», «-», «=», «*», «(», «)», «/», ...
    • Пример терминалов в грамматике ДНК: «ATG», «TTT», «TAA» и другие триплеты нуклеотидов (всего их 64).  
  • Нетерминалов (вспомогательные сущности, обозначающие синтаксические категории) 
    • Пример нетерминалов в грамматике арифметических выражений: Expression, Number — абстрактные сущности, составляющие арифметические выражения.
    • Пример нетерминалов в грамматике ДНК: Gene, Codon, Codons, Promoter, START, STOP — абстрактные сущности, составляющие ДНК.
  • Правил вывода (описывают, как нетерминалы раскрываются в комбинации терминалов и других нетерминалов).  

Способ описания правил, который здесь показан, используется для ограничения генерации LLM и называется GBNF — расширение EBNF с регулярными выражениями, который в свою очередь расширяет BNF (Backus–Naur form). В этом зоопарке нотаций можно запутаться, но в целом все это сводится к простому описанию правил подстановок вида A → B. Кстати говоря, в данном случае правила весьма простые и их все можно свернуть в одно при помощи тех же подстановок. 

Это, конечно, сильно сложнее прочитать, но зато легко виден практический смысл нетерминалов при задании грамматик.

В целом грамматики бывают принципиально разные. Некоторые задаются обычным регулярным выражением, например, множество возможных email-адресов. Некоторые требуют использование стека и рекурсивной обработки, например, для проверки правильных скобочных комбинаций. Есть грамматики, в которых правила вывода зависят от контекста и в разных контекстах применяются различные правила. Более того, в некоторых случаях правила вывода могут практически не иметь ограничений. Все описанные случаи фундаментально отличаются и выделяются в отдельные классы грамматик, которые в 1956 году были предложены Ноамом Хомским в рамках разработанной иерархии. Каждая из них отличается реализацией через конкретный автомат, позволяет задавать правила определенного вида, а также обладает собственной сложностью распознавания языка. 

Динамические грамматики

Идея динамических грамматик проста до нельзя, но в то же время очень эффективна. Допустим, правильность написанного кода зависит от среды, в котором он исполняется, например, тот же SQL в одной БД будет корректен, а в другой — нет. Теперь вместо того, чтобы использовать одну и ту же грамматику на все случаи жизни, создадим шаблон, в котором будем доопределять нетерминалы, необходимые для корректного исполнения кода. Получается некоторое введение контекстной зависимости при помощи тех же самых контекстно-независимых грамматик. Таким образом, LLM при генерации не сможет обратиться к несуществующим столбцам или несуществующим таблицам, потому что у нее просто не будет возможности использовать соответствующие токены в процессе генерации из-за заданных нами динамических ограничений языка.

Интересное:

Новости отрасли:

Все новости:

Достижения

Лидер рынка СУБД в РоссииПервое место в рейтинге лидеров рынка СУБД по данным исследования ЦСР за 2024 год
Вклад в PostgreSQL1-е место в России и топ-5 международного рейтинга по вкладу в PostgreSQL
Сертификация ФСТЭКСУБД входит в Единый реестр российского программного обеспечения, сертифицирована ФСТЭК

Контакты

Адрес
117036, Россия, г. Москва, ул. Дмитрия Ульянова, д. 7А
Телефон

Социальные сети

ГлавноеЭкспертыДобавить
новость
КейсыМероприятия