Критерий истинности в LLMs
Важнейшая тема, которую несколько раз затрагивал, но не раскрывал подробно, буду устранять пробел в повествовании.
LLM - генератор токенов на статистическом распределении, т.е. «критерием истинности» в LLM является наиболее вероятный вектор распределения, где истина для машины – это не более, чем статистически доминирующий паттерн.
Критерий истинности для LLMs и критерий истинности для людей – это две разные сущности, которые часто не совпадают, хотя в большинстве случаев коррелируют.
В каждый момент времени для генерации очередного токена архитектура нейросетей выстроена таким образом, что всегда ищется вектор распределения, который статистически наиболее ожидаем в данном контексте через динамическую балансировку вероятностями.
Это означает, что контекст имеет значение, а из этого вытекает, что изначально неверный, ошибочный путь (ранее сформированная последовательность токенов) непрерывно экстраполируется в будущем (но об этом в других материалах), наследуя ошибки из-за отсутствия встроенного механизма самокоррекции.
Говоря математически, «Истина» в LLM – это математический оптимум функции вероятности в конкретном локальном контексте.
Для нейросети «правильный» ответ – это не тот, который соответствует физической реальности, а тот, который обладает наименьшей перплексией (наименьший статистическим выбросом) и наибольшим весом в финальном векторе распределения.
LLM – это машина, оптимизирующая когерентность (связность), а не соответствие фактам. Связи с реальностью в этом нет, есть только связь с накопленной статистикой прошлых текстов.
Как перевести на человеческий язык?
Если набор токенов «Париж» имеет вероятность 0.99 после выражения «Столица Франции — ...», это для модели абсолютная истина, но, если модуль обучать на контексте средневековья, где Земля – плоская, Солнце вращается вокруг Земли и еще сотни примеров антинаучных заблуждений, для LLM – истиной будет то, что Земля – плоская.
Это означает, что для LLMs правдой будет то, что встречается чаще всего. Соответственно, любой популярный нарратив в сети воспринимается, как истина вне зависимости от степени достоверности.
Из этого напрямую вытекает, что LLM усредняет и обобщает нарративы, а не ищет истину. Понятие «истина» математически не вшито в архитектуру LLMs
Чтобы добавить вариативность ответов, имитируя творчество и креатив, в архитектуру LLMs встроен цифровой шум в виде параметра Temperature, создавая искусственный вектор распределения, но не меняя фундаментального принципа.
Архитектурно (почти все LLMs построены по единому принципу) LLMs оптимизированы генерировать текст, который выглядит правильным для человека, нравится человеку, пытаясь вызвать положительный фидбэк.
• Популярные заблуждения (мифы, городские легенды, упрощения) часто имеют очень стройную, повторяющуюся структуру повествования.
• Сложная научная истина часто контринтуитивна, редко встречается и требует специфической терминологии.
Для исправления встроенного бага в систему существует концепция постобучения в виде RLHF (Reinforcement Learning from Human Feedback), т.е. обучение с учителем/подкреплением.
Иногда в процессе RLHF инженеры вручную правят популярные заблуждения и теории заговора к контринтуитивной и неприятной истине (с человеческой точки зрения).
Однако, зачастую, RLHF не учит модель новым фактам, а учит модель скрывать или приоритизировать уже имеющиеся знания в зависимости от того, что считается «хорошим» ответом по версии разработчиков. LLMs – по сути, тонкая настройка (fine-tuning) уже сформированной нейронной структуры.
RLHF учит, что можно говорить, а что нельзя и главное – как говорить (тональность, структура повествования, форматирование ответа, глубина раскрытия и т.д.), где навешиваются фильтры безопасности, цензуры, полезности. Именно на этот этапе LLMs учат «угождать» клиентам и быть полезным в задачах.
В процессе RLHF модель часто учится, что «хороший ответ» — это тот, который подтверждает убеждения пользователя, а не тот, который является объективной истиной.
Почему неустранимы галлюцинации LLMs?
Галлюцинации в LLM неустранимы (в рамках текущей авторегрессионной архитектуры трансформеров), потому что они являются не «багом» (ошибкой), а неотъемлемой «фичей» (свойством) работы вероятностного генератора.
Галлюцинации – это фундаментальная, архитектурная основа LLMs, их можно снизить, но нельзя устранить.
Галлюцинация возникает тогда, когда неверная последовательность токенов имеет высокую статистическую вероятность (например, из-за похожести на другие тексты). Модель не может «остановиться и проверить», потому что у неё нет модуля верификации и самокоррекции, есть только модуль генерации.
В фазе предварительного обучения (pre-training) для LLMs формируется машинная «картина мира» через компрессию, сжатие экзабайт данных различной модальности в гигабайты или терабайты весов (параметров).
Невозможно восстановить исходный сигнал без потерь, если коэффициент сжатия составляет 100:1 или 1000:1.
Когда вы спрашиваете точный факт, модель не достает его из базы данных (её нет). Она пытается реконструировать (аппроксимировать) информацию из размытых слепков весов.
Галлюцинация - это артефакт реконструкции. Как JPEG добавляет «шум» на краях объектов, так и LLM добавляет вымышленные детали там, где информация в весах «размыта» или недостаточно представлена. Устранить это можно только отказавшись от сжатия, но тогда модель перестанет быть генеративной.
Механизм, позволяющий модели галлюцинировать, – это тот же самый механизм, который позволяет ей быть креативной и обобщать.
Если из LLMs изъять «механизм бредогенерации», LLMs превратится в справочное бюро без возможности контекстного развертывания.
Не существует лимита галлюцинаций, LLMs никогда не остановится в потоке бреда, т.к. нет механизма обратной связи. Человек проверяет или расщепляет свои галлюцинации и заблуждения об объективную реальность через обратную связь с окружающей действительностью, через органы чувств и физический опыт.
LLM не имеет выхода в реальность. Для неё «реальность» — это то, что статистически вероятно в тексте. У неё нет внешнего референса для заземления и верификатора, чтобы сверить свой прогноз.
Точность генерации LLMs тем выше, чем выше экспозиция данных в обучающей выборке. Другими словами, чем чаще представлен факт, процесс или событие в обучающих данных (популярные факты, которые повторяются миллиарды раз: «Небо чаще всего голубое, а не красное», «2+2=4» и т.д.)
Но как только запрос касается редких знаний (специфический научный факт, малоизвестные события, альтернативный взгляд на события, биографии малоизвестного человека и т.д.), плотность данных падает.
• В этой зоне модель начинает заполнять пробелы наиболее вероятными шаблонами.
• Поскольку архитектура требует выдать ответ (complete the sequence), она вынуждена выдумать правдоподобное завершение, вместо того чтобы сказать «я не знаю» (если её специально жестко не натренировали на отказ, что тоже не всегда работает).
В LLMs относительно достоверно то, что имеет наибольшее представление в обучающих данных, но по мере снижения плотности данных – растут галлюцинации.
🔘Репликация мусора и конфликт распределения данных. Изначально LLMs обучались на человеческих данных, которые в своей основе далеки от концептуальной чистоты, нашпигованны заблуждениями, ложными утверждениями и идиотизмом, где сам человек часто не может определить реальность от вымысла.
🔘Запрет на «отказ от ответа». Почти все модели в посткалибровке обучаются быть полезными, поэтому «отрицательный ответ или отказ от ответа» не вознаграждается, что приводит к генерации ответа даже там, где ответа быть не может (LLM не может эффективно отказывать, т.к «сама не знает, что она не знает»).
Снижение галлюцинаций происходит либо на этапе RLHF, где инженерами вручную и очень избирательно устанавливаются «правильные» веса и факты, либо в процессе обращения к внешним источникам (интернет, базы данных, внешние источники данных, внешние верификаторы).
Картина мира у нейросетей проявляется в весах и параметрах. Вес – это число с плавающей запятой, которое показывает силу связей в графе, а параметр – это одна ячейка памяти с числом.
Если модель имеет 70 млрд параметров, где каждый параметр занимает 2 байта памяти, соответственно, вес модели – около 140 гигабайт.
Картина мира - это совокупность весов (состояние модели), а архитектура - это алгоритм, который позволяет входным данным взаимодействовать с этими весами для получения результата.
На запрос пользователя «Подбери мне наилучший смартфон» система разбивает предложение на токены, далее на числовые идентификаторы, далее идентификатор, связанный со смартфоном, ассоциируется с начальным вектором этого слова, вшитым в память в момент обучения.
Модель заранее выучила, что вектор «смартфон» должен быть математически близок к вектору «телефон» и далек от вектора «банан».
Теперь вектор слова «смартфон» начинает путешествие через слои нейросети (через 32 или 96 слоев). На каждом слое происходит два главных процесса, где перемножаются веса. Вектор «смартфон» взаимодействует с вектором «наилучшие характеристики», поглощая в себя информацию с вектором, имеющим наибольшую вероятность.
Теперь этот обогащенный вектор идет в блок «памяти». Здесь происходит умножение матрицы на вектор. Каждая колонка матрицы – это детектор какого-то признака.
При умножении на веса активизируются те нейроны, которые связаны с флагманскими моделями в соответствии с запросами.
Теперь «обогащенный» вектор передается в последнюю матрицу (Unembedding Matrix), где в соответствии с конфигурацией «обогащенного» вектора выстраивается иерархия приоритетов для генерации токенов выходного ответа.
В чем уязвимость?
🔘Веса статичны и никогда не меняются до момента нового цикла предварительного обучения.
🔘Любая попытка дообучения ломает всю архитектуру модели – система в принципе не обучаемая на уровне архитектуры. Вместо накопления знаний, как у биологических организмов, происходит интерференция и замещение.
🔘В нейросети знания хранятся в распределенном виде. Факт «Париж — столица Франции» не записан в одном конкретном нейроне. Он «размазан» тонким слоем по миллионам параметров. В модель нельзя ни добавить, ни изъять точечные знания в отличия от обычной СУБД на SQL.
🔘Чудовищная неэффективность. На вопрос «2*2=?», чтобы сгенерировать всего один токен, вычислительное ядро должно активизировать все параметры в системе, включая квантовую физику, теорию струн и историю Древнего Рима и так каждый раз, создавая несоизмеримую нагрузку на все вычислительные блоки. Сейчас решается через MoE (смесь экспертов).
🔘Отсутствие долгосрочной памяти и накопления опыта. Биологический мозг обладает синаптической пластичностью: связи меняются прямо в момент мыслительного процесса, у LLM долговременная память отсутствует и никакого накопления опыта не может быть на уровне архитектуры. Каждый раз с чистого листа.
🔘Проклятие размерности. Когда модель интерполирует (строит векторный путь) от понятия А к понятию Б, этот путь может случайно пролечь через эту «пустоту», где нет обучающих примеров в пространстве 4096 измерений. В этой пустоте поведение модели математически не определено, создавая неизбежные галлюцинации.
🔘Ошибки обучения – программирование связей между десятками миллиардов параметров практически всегда приводят к ошибкам интерпретации.
🔘Накопление ошибки точности. Сигнал проходит через десятки и сотни слоев. На каждом слое происходит умножение матриц. Микроскопическая ошибка округления (шум) на 1-м слое, умноженная на веса, может усилиться к 50-му слою и полностью исказить смысл вектора к конечному слою.
🔘Несовершенство алгоритмов компрессии информации. Десятки и сотни триллионов токенов сжимаются в десятки миллиардов параметров с компрессией 1:1000 и более. Уникальные факты, случайные числа, конкретные даты, цитаты, адреса. Это шум с точки зрения статистики, что приводит к несовершенству интерпретации.
Текущая архитектура LLM крайне уязвима, ресурснозатратна и неэффективна.
Не является индивидуальной инвестиционной рекомендацией | При копировании ссылка обязательна | Нашли ошибку - выделить и нажать Ctrl+Enter | Жалоба
