Где LLM ошибаются математически

Галлюцинации, распределения, bias.

LLM не "думают" в привычном для нас смысле. Они оптимизируют вероятность следующего токена:

P(xtx<t)P(x_t \mid x_{<t})

И минимизируют кросс-энтропию:

L=tlogPθ(xtx<t)\mathcal{L} = - \sum_{t} \log P_\theta(x_t \mid x_{<t})

Математически всё красиво. Но именно из этой формулы вырастают ошибки, которые в человеческом мире выглядят как:

  • галлюцинации

  • уверенная ложь

  • статистические перекосы

  • игнорирование базовых вероятностей

  • систематический bias

В этой главе разберём, почему это неизбежно.

Галлюцинация – это максимум вероятности, а не максимум истины

LLM выбирает:

x^t=argmaxxP(xcontext)\hat{x}_t = \arg\max_x P(x \mid context)

Она не выбирает "правду". Она выбирает наиболее вероятное продолжение.

Если в обучающем корпусе часто встречается структура:

"Профессор Иванов из Гарварда в 1998 году доказал…"

то при вопросе:

Кто доказал X?

модель может синтезировать правдоподобное имя, даже если такого человека не существует.

Галлюцинация возникает, когда:

maxxP(xcontext)множество истинных фактов\max_x P(x \mid context) \notin \text{множество истинных фактов}

То есть наиболее вероятное ≠ истинное.

19.1 Распределение вероятностей токенов

Ошибка накопления вероятностей

Представим, что модель генерирует цепочку из 20 токенов. Пусть средняя вероятность каждого токена 0.9.

Тогда вероятность всей последовательности:

0.9200.120.9^{20} \approx 0.12

То есть уже на 20 шагах вероятность целостного ответа падает драматически.

Чем длиннее рассуждение, тем выше риск накопления ошибки. Это особенно заметно в математике. Если модель ошиблась в промежуточном вычислении, всё дальнейшее логически последовательно – но основано на ложной базе.

Почему LLM плохо считают

LLM – не калькулятор. Они не выполняют арифметику алгоритмически. Они воспроизводят паттерны вычислений.

Если спросить:

347 × 829 = ?

Модель не перемножает числа. Она пытается восстановить вероятный шаблон умножения.

И если подобные примеры были редкими в обучении – возрастает ошибка.

Это связано с тем, что умножение – алгоритмическая задача, а LLM – вероятностная модель.

PHP-демонстрация разницы

Идея в том, что LLM ближе к "статистическому угадыванию", чем к детерминированному вычислению.

Base Rate Neglect – игнорирование базовой вероятности

В статистике есть эффект: игнорирование априорной вероятности.

Формула Байеса:

P(AB)=P(BA)P(A)P(B)P(A \mid B) = \frac{P(B \mid A) P(A)}{P(B)}

LLM часто демонстрируют поведение, похожее на игнорирование P(A).

Пример:

  • 1% населения имеет болезнь

  • тест точен на 99%

Человек с положительным тестом не имеет 99% вероятности быть больным.

Правильный расчёт:

P(болезнь+)50%P(\text{болезнь} \mid +) \approx 50\%

Но LLM часто дают интуитивный ответ – 99%.

Почему? Потому что корпус текстов чаще содержит линейные объяснения, чем аккуратные байесовские расчёты.

29.2 Байесовское обновление

Distribution Shift – сдвиг распределения

LLM обучаются на распределении данных:

Ptrain(x)P_{train}(x)

Но работают в среде:

Preal(x)P_{real}(x)

Если:

Ptrain(x)Preal(x)P_{train}(x) \neq P_{real}(x)

возникают ошибки.

Пример:

  • модель обучалась на академических текстах

  • её спрашивают о нишевом стартапе из 2025 года

Она вынуждена интерполировать.

Галлюцинация – это часто попытка заполнить пробел в распределении.

Bias как математическое явление

В машинном обучении bias – это:

Bias=E[y^]y\text{Bias} = \mathbb{E}[\hat{y}] - y

Это систематическое отклонение.

У LLM bias проявляется как:

  • культурный перекос

  • языковой перекос

  • частотный перекос

  • политический перекос

Причина проста:

P(x)частота в корпусеP(x) \propto \text{частота в корпусе}

Если определённая точка зрения встречается чаще – она получает больший вес.

29.3 Смещённое распределение

Temperature усиливает или ослабляет ошибки

Формула softmax с температурой:

Pi=ezi/Tjezj/TP_i = \frac{e^{z_i / T}}{\sum_j e^{z_j / T}}

Если:

  • T0T → 0 – модель становится детерминированной

  • TT → ∞ – распределение выравнивается

Высокая температура усиливает галлюцинации.

Низкая – усиливает повторяемость bias.

PHP-демонстрация температуры

Попробуйте разные температуры и посмотрите, как "уверенность" модели меняется.

Почему логика ≠ гарантия истины

LLM может построить идеально логичную цепочку:

A → B

B → C

C → D

Но если A неверно, всё остальное – аккуратно выстроенная ошибка.

Это называется error propagation.

В длинных chain-of-thought рассуждениях вероятность накопленной ошибки растёт экспоненциально.

Галлюцинация как оптимизация правдоподобия

Важная мысль:

LLM оптимизирует правдоподобие, а не верифицируемость.

Она не проверяет:

  • существует ли книга

  • существует ли статья

  • существует ли цитата

Если шаблон "выглядит правдоподобно" – вероятность высока.

И модель выбирает его.

Что с этим делать разработчику?

Если вы строите LLM-системы на PHP:

  1. Используйте верификацию через внешние источники

  2. Разделяйте генерацию и вычисления

  3. Для математики – подключайте реальные вычислители

  4. Используйте retrieval (RAG)

  5. Снижайте температуру в критичных сценариях

  6. Проверяйте ответы вторичной моделью

Архитектурный паттерн

Итог

LLM ошибаются не потому, что "глупые".

Они ошибаются потому, что:

  • оптимизируют вероятность

  • обучаются на смещённых распределениях

  • не имеют встроенного механизма проверки истины

  • накапливают ошибку в длинных цепочках

  • чувствительны к temperature

  • воспроизводят частотный bias

Математически это неизбежно.

И именно понимание этой неизбежности делает вас сильнее как инженера.

Last updated