Как связаны между собой эффективное сжатие текстовых файлов и современные нейросети? В первой части своей серии видеороликов ведущий научно-популярного канала 3Blue1Brown Грант Сандерсон (Grant Sanderson) объясняет, почему предсказание следующего токена в больших языковых моделях (LLM) математически эквивалентно сжатию данных. На простых примерах и классических экспериментах Клода Шеннона он демонстрирует, как понятие энтропии помогает определить фундаментальные пределы обработки информации и почему сжатие называют одной из основ искусственного интеллекта.
🗜️ Сжатие как эквивалент интеллекта 0:00
Кодирование текста в двоичный формат с помощью стандартной таблицы ASCII неэффективно, так как на каждый символ тратится ровно восемь бит . Примитивная оптимизация (назначение более частым символам более коротких цепочек битов) позволяет снизить этот показатель в среднем до четырех бит на символ, а более сложные алгоритмы, учитывающие длинные последовательности, дают еще лучший результат . Однако возникает фундаментальный вопрос: где лежит предел этой эффективности?
Ответ на этот вопрос в 1940-х годах искал Клод Шеннон, чья работа заложила основы теории информации . Созданный им математический аппарат неожиданно оказался крайне полезным для современного машинного обучения. Предобучение больших языковых моделей (LLM) обычно описывают как задачу предсказания следующего токена с использованием функции потерь под названием «перекрестная энтропия» (cross-entropy loss) .
Связь здесь фундаментальная: теория информации доказывает, что предсказание и сжатие математически эквивалентны . Таким образом, процесс обучения нейросети можно представить не просто как угадывание слов, а как создание максимально эффективного архиватора текста . По словам Сандерсона, некоторые исследователи идут еще дальше, утверждая, что сжатие и есть интеллект . Сам ведущий признает эту формулировку спорной и труднодоказуемой, но подчеркивает глубокую математическую связь теории сжатия и искусственного интеллекта .
🤖 Задача о роботе: шаг за шагом к оптимальному коду 3:19
Чтобы понять, как Шеннон пришел к своей теореме о бесшумном кодировании, Сандерсон предлагает рассмотреть мысленный эксперимент с роботом на далекой луне . Робот перемещается по поверхности, получая с Земли команды четырех типов: «вверх» (Up), «вниз» (Down), «влево» (Left) и «вправо» (Right) .
Команды распределены неравномерно, но каждая отправляется независимо от предыдущей :
- «Вверх» отправляется в 50% случаев (вероятность 1/2);
- «Вниз» — в 25% случаев (вероятность 1/4);
- «Влево» — в 12,5% случаев (вероятность 1/8);
- «Вправо» — в 12,5% случаев (вероятность 1/8).
Ведущий предлагает рассмотреть три подхода к кодированию этих сообщений, которые могли бы предложить три разных студента :
- Прямолинейный подход: Использовать фиксированную длину в 2 бита на каждую команду (например: 00, 01, 10, 11). Роботу легко декодировать поток, разбивая его на равные пары бит .
- Эвристический (умный) подход: Назначить более частым командам более короткие коды. Например, «вверх» получает код 0, «вниз» — 10, «влево» — 110, а «вправо» — 111 . Это дает среднюю длину в 1,75 бита на команду .
- Теоретический подход: Утверждать, что идеальное сжатие должно давать поток, неотличимый от случайного шума с вероятностью 50% для каждого бита .
🌳 Префиксные коды и геометрия двоичного дерева 7:56
Главная сложность при использовании кодов разной длины — дать получателю возможность понять, где заканчивается одна команда и начинается другая . В схеме второго студента эта проблема решена: ни одно кодовое слово не является началом (префиксом) другого . Такие коды называют префиксными (prefix-free codes) .
Сандерсон визуализирует это правило с помощью двоичного дерева (диаграммы двоичных строк) :
- Назначение кода «0» для команды «вверх» мгновенно забирает ровно половину всего доступного пространства кодов (все строки, начинающиеся с 0) .
- Код «10» для «вниз» забирает четверть пространства .
- Коды «110» и «111» забирают по одной восьмой части пространства каждый .
Эта геометрическая пропорция идеально совпадает с вероятностями появления самих команд . Любая попытка сэкономить бит на одном слове неизбежно вызовет «эффект примятого ковра»: кодовое слово сместится ниже по дереву, вытеснив другие слова и заставив их использовать больше бит . В результате суммарная эффективность кодирования снизится.
🎲 Теория случайного шума и энтропия Шеннона 11:06
Из идеи о том, что идеальное сжатие порождает случайный шум, рождается фундаментальное определение информации . Если в идеальной схеме сообщение имеет вероятность $p$, то количество бит, необходимых для его кодирования, равно отрицательному логарифму вероятности по основанию 2: $-\log_2(p)$ .
Эта величина и была названа Клодом Шенноном информацией события . Графически это можно представить следующим образом: чем меньше вероятность события, тем выше столбец его «информативности» . Очевидные и высоковероятные сообщения несут минимум информации, в то время как редкие и неожиданные — максимум .
Шеннон понял, что эта концепция работает даже тогда, когда вероятности не являются степенями двойки и количество бит получается дробным . Благодаря свойствам логарифма, при умножении вероятностей независимых событий их информационные объемы просто складываются .
Для вычисления средней информации на символ вводится понятие энтропии ($H$) . Для распределения вероятностей формула выглядит как сумма произведений вероятности каждого события на его информацию : $$H = -\sum (p_i \log_2 p_i)$$
Как отмечает Грант Сандерсон, существует полушутливая легенда о том, что назвать эту формулу энтропией Шеннону посоветовал физик Джон фон Нейман . Последний якобы аргументировал это тем, что формула математически похожа на термодинамическую энтропию, а главное — «никто толком не понимает, что такое энтропия, так что в спорах у вас всегда будет преимущество» .
🧠 Измерение энтропии языка: от Бетти Шеннон до GPT 22:11
Расчет энтропии для реального языка гораздо сложнее, чем для команд робота, из-за огромной роли контекста . Вероятность появления буквы или слова критически зависит от предыдущего текста . В 1940-х годах у Шеннона не было мощных компьютеров для анализа статистики длинных последовательностей символов (n-граммов) . Поэтому он решил использовать в качестве «модели языка» человеческий мозг .
Шеннон провел эксперимент со своей женой Бетти . Он просил её угадывать буквы в книге по одной . Схема эксперимента выглядела следующим образом:
- Если Бетти угадывала неверно, Шеннон записывал правильную букву в итоговый транскрипт .
- Если угадывала верно, буква заменялась обычным прочерком .
- Полученный сокращенный текст содержал ту же информацию, так как человек с аналогичной моделью языка мог полностью восстановить оригинал по этим подсказкам .
Позже, в статье 1950 года «Предсказание и энтропия печатного английского языка» (Prediction and Entropy of Printed English), ученый усложнил эксперимент . Он опрашивал группу людей и фиксировал количество попыток, потребовавшихся для угадывания каждого следующего символа . На основе этих данных он рассчитывал скрытую вероятность, которую мозг человека присваивал буквам .
Человеческий мозг в этих опытах выступал в роли «черного ящика» с глубоким пониманием структуры языка . В наше время, как указывает Сандерсон, исследователи перешли от допроса биологических «черных ящиков» к проектированию искусственных в виде больших языковых моделей .
На основе экспериментов с контекстом в 100 символов Шеннон оценил энтропию английского языка примерно в 1 бит на символ . Это означает, что теоретически любой английский текст можно сжать до последовательности из единиц и нулей, где на каждый символ исходного текста будет приходиться всего один бит . В следующих видео Грант Сандерсон обещает показать алгоритмы, которые с помощью современных LLM позволяют вплотную приблизиться к этому теоретическому пределу .
В завершение Сандерсон упоминает о запуске обновленного проекта — виртуальной ярмарки вакансий на сайте 3b1b.co/talent, призванной помочь его аудитории найти работу в сфере науки и IT .