Назад
Стиснення — це прогноз: як компресори та LLM розв'язують одну задачу
SiTech Team2 წთ. საკითხავი

Стиснення — це прогноз: як компресори та LLM розв'язують одну задачу

У статті ngrok Енні Секстон доводить, що стиснення даних і великі мовні моделі — два погляди на ту саму математику, а ентропія — та межа, яку обидві сторони намагаються знизити.

Дослідниця-розробниця ngrok Енні Секстон 11 серпня опублікувала великий матеріал «Compression is prediction», центральна теза якого — стиснення даних і великі мовні моделі є двома виразами тієї самої математики. Авторка крок за кроком розбирає роботу компресора і доходить до точки, де ці дві галузі збігаються.

Надлишковість, а не просто скорочення

Секстон починає з мініфікації: фрагмент JavaScript-коду після прибирання коментарів, пробілів і довгих імен змінних скорочується зі 156 до 62 символів, але стисненням даних це ніхто не називає. Справжнє стиснення використовує надлишковість: рядок із 28 символів «AAAAAAAAABBBBCCDAAADDDDDDDDD» після кодування повторів (run-length encoding) записується як «A9B4C2D1A3D9» — 96 бітів замість 224, на 57 відсотків менше.

Сучасні інструменти поєднують три частини: перетворення, модель та ентропійний кодер. Модель приписує символам імовірності, а кодер перетворює їх у потік бітів. Арифметичне кодування подає весь рядок «ABABAAC» одним двійковим дробом 0.3876953125 — для нього достатньо 10 бітів замість 56.

Ентропія — це межа

Середня кількість бітів на символ — це ентропія, межа Шеннона, яку безвтратне стиснення подолати не може. Нерівномірний розподіл стискається краще: рядок із 12 символів, де домінує одна літера, дав 0.82 біта на символ, тоді як збалансованіший приклад потребував 1.38. Контекст загострює ймовірності: літера U трапляється в англійському тексті з імовірністю 0.028, але після Q вона зростає до 0.999 — це близько 0.001 біта проти 5.16. Модель першого порядку на фразі «TO BE OR NOT TO BE» зменшила результат із приблизно 47 бітів до 21.

LLM як прогнозист

Праця Google DeepMind 2023 року доводила, що мовне моделювання та стиснення — два погляди на одне явище. Секстон продовжує логіку: LLM повертає розподіл імовірностей для наступного токена, а кількість бітів на його збереження дорівнює мінус логарифму ймовірності, яку надав модель. Cross-entropy, яку мовні моделі мінімізують під час навчання, обчислюється за тією ж формулою. На цитаті Діккенса модель першого порядку потребувала 434 бітів, а GPT-2 — лише 176, тобто 10 відсотків від оригіналу.

Практичні обмеження залишаються: завантаження багатогігабайтної моделі для стиснення HTTP-відповідей коштуватиме дорожче за зекономлені байти, тому веб досі тримається на gzip і Brotli. Відкрите питання не в тому, наскільки кодер наближається до межі, а в тому, наскільки нижче може її опустити кращий прогнозист.

SSiTech

SiTech — веброзробка з підтримкою AI

Створюємо швидкі та сучасні сайти й інтегруємо AI у бізнес-процеси. Маєте проєкт чи запитання? Із задоволенням допоможемо.