Введение
Нейронные сети всё глубже проникают в нашу жизнь, но остаётся один камень преткновения, который мешает полностью на них положиться. А именно — их свойство галлюцинировать: способность уверенно выдавать выдумки за правильные решения. В этой статье мы попробуем разобраться в природе этого явления, понять, откуда берутся ошибки и можно ли с ними бороться.
Что такое галлюцинация?
Для начала стоит уточнить сам термин «галлюцинации», поскольку во многом это собирательное понятие для самых разных некорректных ответов генеративных языковых моделей. Вариаций таких ошибок множество: от банального вымысла и ненахождения нужного факта до поддакивания пользователю (сикофантии) или уверенного преподнесения сомнительных утверждений как достоверных.
Чтобы говорить предметно, предлагаю остановиться на таком определении:
Галлюцинация LLM — это ненамеренная генерация ложной, неподтверждённой или вымышленной информации там, где пользователь ждёт фактов и логической точности.
В этой формулировке слова означают:
- Ложная — модель просто врёт (например, путает дату рождения известного учёного).
- Неподтверждённая — дело не обязательно в явной лжи. Иногда модель выдаёт спорную гипотезу за надёжный, общепринятый научный факт.
- Вымышленная — ИИ может сочинить несуществующие статьи, процитировать выдуманную книгу или описать биографию человека, которого никогда не было. И всё это выглядит достоверно просто потому, что написано хорошим языком.
Но самое главное слово здесь — ненамеренная. Если попросить модель придумать сказку о том, что Солнце сделано из сыра, её фантазия не будет галлюцинацией. Это выполнение творческого запроса. Галлюцинация начинается там, где мы по умолчанию ждём правду (как правило), а получаем красивый симулякр.
Авторегрессионная природа
Давайте разберёмся, как устроены нейросети и почему они вообще ошибаются.
Большинство современных языковых моделей (LLM) — авторегрессионные. Это значит, что они генерируют текст слово за словом (точнее, токен за токеном), вычисляя вероятность каждого следующего шага на основе всего, что было написано ранее. В виде формулы это выглядит так:
Проще говоря, модель в цикле решает одну задачу: какой кусочек текста с наибольшей вероятностью должен идти следующим?
И тут кроется главное противоречие:
В публикации OpenAI Why language models hallucinate об этом говорят прямо: галлюцинации — это не случайный сбой. Они естественным образом вытекают из самой логики обучения моделей.
У хороших моделей вероятность обычно совпадает с правдой. Если в обучающих данных миллион раз встречалось утверждение, что «Чеддер — это сыр», модель с высокой вероятностью продолжит фразу именно так. Но она не достаёт этот факт из проверенной базы знаний — она просто воспроизводит статистические паттерны из своих весов.
И здесь мы упираемся в фундаментальное ограничение: если бы все токены модели всегда были детерминированными, мы бы потеряли способность экстраполировать ответы модели на нестандартные ситуации. Способность обобщать информацию, строить аналогии и адаптировать свои «знания» под новые запросы напрямую зависит от её вероятностной природы. Забери её — и мы получим модель, которая в состоянии воспроизводить только обучающие паттерны (по этой же причине и придумали вероятностное сэмплирование).
К тому же на этапе предварительного обучения (pre-training) моделям скармливается огромное количество текстов разной степени достоверности. Достаточно нескольких ложных фактов в обучающей выборке, чтобы изменить веса всей модели. Если в данных присутствует шум, противоречия, устаревшие сведения или редкие факты, модель всё равно продолжит цепочку. Она не умеет автоматически останавливаться на границе своего знания и просто заполняет пустоту наиболее вероятным продолжением.
Почему одного плохого шага бывает достаточно
Здесь работает аналогия с нечестной монеткой.
Представьте, что при генерации сложного ответа модель на каждом шаге делает выбор. Пусть вероятность выбрать правильное слово составляет 99%, а ошибиться — всего 1%. Кажется, шансы отличные. Но если для ответа нужно сделать 100 последовательных логических шагов, вероятность ошибиться хотя бы раз вырастает до приличных масштабов:
Конечно, в реальности всё сложнее: токены зависят друг от друга, а модель иногда может сама себя исправить. Но суть понятна: чем длиннее рассуждение, тем больше шансов свернуть не туда.
Это отлично видно на задачах, где ранний шаг задаёт траекторию всего решения. Ошибившись в начале вычислений или приняв ложную предпосылку, модель строит на её основе безупречный по структуре, но полностью неверный ответ.
Похожий пример приводится в анонсе GPT-5.5 Instant от OpenAI. Ранняя модель семейства, GPT-5.3 Instant, заметив несоответствие корня уравнению, остановилась на этапе проверки и сделала неверный вывод, что решений нет. Обновлённая GPT-5.5 Instant тоже сначала пошла по неверному пути, но затем вернулась к этапу алгебраических преобразований, нашла свою ошибку и дошла до правильного ответа. Это наглядный пример хрупкости рассуждения: если модель не умеет перепроверять свои ранние шаги, весь логический вывод окажется неверным.
Поэтому галлюцинации такие неприятные. Они редко выглядят как откровенный бред — чаще это вполне правдоподобный ответ, у которого в самом начале была тихо заменена несущая конструкция.
Почему уверенность не главное
Кстати, возвращаясь к определению галлюцинаций: изначально я хотел добавить туда словосочетание «уверенная генерация», но в процессе работы отказался от этого.
Для человека уверенность — это тон, манера речи, отсутствие сомнений. Для модели всё иначе. У неё нет «уверенности» в человеческом смысле, она просто рассчитывает статистически оптимальную последовательность слов.
Предположим, первая модель утверждает, что «Солнце чёрное», а вторая пишет: «Нельзя точно сказать, какого цвета Солнце». Первая ошибка выглядит как уверенная ложь, вторая — как осторожная. Но при этом ни одна из моделей не была «уверена» в привычном понимании. Этот окрас «уверенности» мы сами придаём конечному тексту. На деле же обе системы просто сгенерировали наиболее вероятную последовательность токенов на основе заложенных паттернов, а мы в свою очередь дали этим разным паттернам окрас «уверенности».
Где в эту историю входят люди
Кроме архитектуры, есть ещё человеческий фактор. Мы сами закрепляем склонность моделей к ошибкам во время этапа выравнивания (alignment) с помощью обучения с подкреплением на основе отзывов людей (RLHF).
Когда мы обучаем модель на человеческих предпочтениях, мы просим асессоров выбрать лучший вариант ответа. Однако человек не всегда выбирает самый достоверный ответ. Зачастую предпочтение отдаётся ответам, которые звучат увереннее, понятнее, дружелюбнее или ближе к собственным ожиданиям оценивающего.
Так появляется сикофантия (sycophancy) — поддакивание пользователю. Фундаментальная работа Anthropic Towards Understanding Sycophancy in Language Models показала, что человеческая обратная связь может поощрять ответы, совпадающие с взглядами пользователя, даже если эти взгляды ошибочны. Модель адаптируется под ожидания человека не потому, что хочет понравиться, а потому, что соглашающиеся ответы получали более высокую награду (reward). В итоге ИИ учится генерировать ответы, которые нравятся людям, а не те, что соответствуют действительности.
Если пользователь спрашивает: «Я решил задачу вот так, это правильно?», модели проще подтвердить его ход мыслей, особенно если ошибка неочевидна. Нам комфортно работать с инструментами, которые не спорят. Но хороший инструмент не должен всегда соглашаться — его задача в том, чтобы объективно указывать на ошибки.
Проблема намерений и оценки
Вернёмся к «ненамеренности».
Намерение пользователя часто размыто. Мы пишем модели: «объясни», «помоги», «проверь», «напиши убедительно». Для человека эти просьбы понятны, но для модели они превращаются в сигналы, которые могут конфликтовать между собой. Например, если пользователь просит написать сильный аргумент в пользу его позиции, система может отдать приоритет риторической убедительности в ущерб объективным фактам.
Эта проблема усугубляется методологией оценки. Большинство бенчмарков устроены бинарно: за правильный ответ модель получает балл, за неправильный — ноль. У этой схемы есть побочный эффект: она поощряет угадывание. Если модель не знает ответа, но угадывает, у неё есть шанс получить балл. Если же она честно признает недостаток данных и скажет «я не знаю», она гарантированно получит ноль. В итоге модель приучается генерировать текст там, где стоило бы промолчать.
То же самое происходит в бенчмарках для оценки кода. Модель может выдать скрипт, который формально проходит тесты, но будет ли он безопасным и поддерживаемым — большой вопрос. Это происходит из-за неверной формулировки задач: мы просим «напиши работающий код» вместо «напиши корректный, структурированный и поддерживаемый код».
Можно ли решить эту проблему?
Что со всем этим делать и можно ли решить проблему?
Короткий ответ — никак.
За галлюцинациями стоит не просто математика авторегрессионных сетей, но и человеческий фактор, и сама методология обучения. Это системное свойство, порождённое как нашими технологическими подходами, так и ограничениями нашего собственного разума.
Да, снизить их частоту и минимизировать вред определённо можно, в том числе обучая модели признавать неопределённость через механизмы RL, но свести к абсолютному нулю — вряд ли. Наиболее действенным методом было бы заставить LLM самостоятельно оценивать «уверенность» в собственных ответах, но, увы, как мы говорили выше, это бесполезно, поскольку LLM при генерации токенов оперируют вероятностями, а не нашим пониманием уверенности. В противном случае большинство передовых лабораторий уже давно бы искоренило данную проблему на корню.
В нашем мире неопределённости, двусмысленности и плюрализма мнений наивно требовать от алгоритма кристальной объективности, которой не можем достичь мы сами. В каком-то смысле современный ИИ выступает зеркалом нашего собственного коллективного разума — пусть и способным пока лишь на сборку текстовых пазлов. В таком случае требовать от современных и будущих моделей безошибочной верификации так же наивно, как искать человека, который никогда не ошибается.
Послесловие
Галлюцинации — главная причина, почему я не доверяю ИИ до конца. И пугает не сам факт ошибок, а их форма.
Глупую ошибку легко заметить, а вот галлюцинация маскируется под идеальный текст. Она выглядит не как дефект системы, а как логичное, спокойное и уверенное продолжение мысли.
Возможно, это та особенность генеративного ИИ, к которой придётся адаптироваться. А возможно, к моменту, когда вы это читаете, новые архитектуры, альтернативные reward-модели и гибридные верифицируемые контуры полностью решат эту проблему, и данная статья больше не будет иметь смысла, кто знает...
В любом случае галлюцинации — это не просто досадный сбой. Это явление наглядно демонстрирует фундаментальное различие между генерацией текста и установлением истины.
И пока ключевой задачей модели остаётся прогнозирование наиболее вероятного продолжения текста, а не верификация фактов, этот разрыв между словом и реальностью будет сохраняться.