В мире, где каждый день генерируются эксабайты данных, а модели вроде GPT, Claude и Grok кажутся почти разумными, важно остановиться и задать базовый вопрос: что такое информация на самом деле?
Не в бытовом смысле («много информации в этой книге»), а в строгом, математическом. Ответ на этот вопрос дал Клод Шеннон в 1948 году. И именно эта идея — теория информации — сегодня лежит в основе сжатия данных, сетевых протоколов, машинного обучения и больших языковых моделей (LLM), которые многие из нас сейчас крутят на домашних серверах.
Обыденное vs математическое понимание
Мы привыкли думать, что «информация» — это польза, смысл или секретность. Но с точки зрения теории информации всё иначе.
Представьте два сообщения:
- «Завтра в Москве +15°C и солнечно» (в мае — вполне ожидаемо).
- «Завтра в Сахаре выпадет метр снега».
Второе сообщение несёт гораздо больше информации, хотя для планирования дня первое может быть «полезнее». Почему?
Потому что в теории информации информация измеряется через неожиданность (surprise) или снижение неопределённости. Чем меньше вероятна какая-либо ситуация, тем больше информации мы получаем, узнав, что она произошла.
Формула Шеннона: почему логарифм?
Информация, которую несёт событие с вероятностью $p$, рассчитывается по формуле:
$$ I = -\log_2(p) $$
Давайте разберем, почему формула выглядит именно так (это любимый вопрос на технических собеседованиях):
- Почему минус? Вероятность $p$ всегда от 0 до 1. Логарифм числа меньше единицы — отрицательный. Минус нужен, чтобы количество информации было положительным числом.
- Почему логарифм? Если события независимы, их вероятности перемножаются ($p_1 \times p_2$). Мы же хотим, чтобы информация складывалась. Логарифм отлично переводит умножение в сложение: $\log(a \times b) = \log(a) + \log(b)$.
- Почему основание 2? Потому что мы хотим измерять информацию в битах — ответах на вопросы с двумя равновероятными исходами («да/нет»).
Пример с монеткой
- Честная монета (вероятность орла 50% или 0.5): $-\log_2(0.5) = 1$ бит. Мы узнаем ровно 1 бит информации.
- Жульническая монета (орёл в 99% случаев): сообщение «выпал орёл» даёт всего $-\log_2(0.99) \approx 0.014$ бит — мы почти ничего не узнали, это было ожидаемо. А вот «выпала решка» — это $-\log_2(0.01) \approx 6.6$ бит! Большая неожиданность — много информации.
Почему это критично важно для ИИ и LLM
Теория Шеннона — не просто математический курьез, это фундамент всего, что происходит с данными сегодня:
- Сжатие данных (ZIP, JPEG, кодеки). Алгоритмы сжатия ищут паттерны. Они убирают предсказуемое (избыточность) и оставляют только неожиданное — чистую информацию.
- Энтропия. Это математическое ожидание количества информации. Если энтропия распределения высока — система непредсказуема, и любой исход принесет много информации.
- Обучение нейросетей (Cross-entropy loss). Когда LLM учится, она минимизирует свою «неуверенность». Функция потерь (loss) в Transformers — это буквально мера того, насколько плохо модель предсказывает распределение вероятностей следующего токена по Шеннону.
- Self-Attention. Механизм внимания во время инференса помогает модели фокусировать вычислительные ресурсы на тех частях контекста, которые несут наибольшую информацию для предсказания следующего слова, игнорируя «шум».
Суровая правда: Языковые модели не «понимают смысл» в человеческом значении. Они работают со статистической структурой информации. Они просто очень хорошо знают, насколько следующий токен неожиданен или предсказуем в данном контексте.
Парадоксы информации
Чтобы теория лучше уложилась в голове, вот несколько контринтуитивных фактов:
- Толстый учебник физики может содержать меньше информации (в битах), чем короткое сообщение о редком сбое на сервере, если текст учебника специалисту высоко предсказуем.
- Смысл не равен информации. Сообщение может быть абсолютно осмысленным, но нести ноль новой информации, если получатель уже знал то, о чем в нем написано.
- Шум и информация — родственники. То, что для одной системы — ценный сигнал, для другой — бесполезный шум с высокой энтропией.
Связь с self-hosting и observability
Зачем админу и инженеру, который запускает свой LLM (через Ollama, vLLM или LM Studio), знать теорию Шеннона? Потому что ваш сервер — это информационная система.
Когда вы смотрите в логи inference-сервера, вы видите потоки данных. Понимание природы информации помогает решать реальные задачи:
- Оптимизация KV-кэша. Кэширование в LLM — это буквально сохранение уже известной (предсказуемой) информации, чтобы не тратить вычисления на её повторную обработку.
- Сжатие логов. Понимая, что 99% логов здорового сервиса — это предсказуемый шум (низкая энтропия), вы можете настраивать фильтрацию в Loki так, чтобы он не забивал storage, а писал только аномалии (высокую энтропию).
- Настройка алертов. Хороший observability-стек (Prometheus + Grafana) — это система, которая автоматически отделяет сигнал (неожиданное падение RPM или скачок потребления VRAM) от шума (обычные колебания нагрузки). Это классическая задача теории обнаружения сигналов.
Заключение
Теория информации Шеннона — это не просто глава из учебника по связи середины XX века. Это линза, через которую сегодня смотрит весь современный ИИ. Она объясняет, почему архитектура Transformer оказалась столь эффективной, как модели учатся «понимать» язык и почему одни данные для обучения ценнее других.
В следующих материалах на блоге мы разберем, как эти абстрактные идеи материализуются в токенизации, эмбеддингах и конкретных loss-функциях современных LLM.