Комментарии 4
Имхо, проблема совершенно не в семантике. Проблема в отсутствии "логического сопроцессора". Контекст я всегда могу изменить (уточнить, расширить). А вот что делать с принципом "если ответ выглядит похоже на правду, значит это правда и есть"? При том, что в этом ответе будут как раз логические противоречия...
Так что если кому и нужна "формальная грамматика" - это как раз самим нейросетям для своих ответов ;)
Идея с формальными грамматиками будто бы не про решение проблемы некорректных ответов ИИ, а про ее сужение. Т.е. из исходного множества возможных неправильных ответов мы убираем те, что не верны по форме, и оставляем только те, которые верны по форме, но не верны по сути. Для полного решения проблемы у нас по идее должен быть еще один механизм, который как-то отберет из множества верных по форме ответов те, которые верны еще и по сути, но это уже следующий шаг.
Пробовали тоже такой подход для генерации кода, в т.ч. с динамической генерацией грамматик. На практике вы увидите, что есть проблемы: можно грамматикой отсечь большинство наиболее вероятных лоджитов и попасть в область низковероятных, которых много, и из которых вы будете получать рандом. В итоге вы можете начать получать странные вещи, например, идентификаторы длинной по 200 символов и так далее -- модель пытается следовать грамматике, а в идентификатор можно засунуть почти что угодно. Кроме того у нас часто происходило такое, что модель не может сгенерировать то, что хочет, из-за ограничений грамматики, потому генерит какой-то бред (но синтаксически верный), переходит на следующую строку и снова пытается сгенерить то, что хотела -- и снова принуждена грамматикой генерить бред, но синтаксически верный. В итоге мы видим зацикливание на одном и том же тексте. Скорее всего, чтобы это работало хорошо, нужно не только ограничивать ответ грамматикой, но и файн-тьюнить под вашу грамматику, чтобы выравнять лоджиты и избавиться от описанных проблем.
😀🪓😃❤💀
Будущее ИИ — формальные грамматики