jayrandom: (Default)
[personal profile] jayrandom
Сижу сегодня на митинге про оптимизацию LLaMA2, и вдруг понимаю, что старинная идея использовать тандем Марковской модели языка и Арифметического кодера в качестве оптимального компрессора текстов наконец имеет все шансы стать полезной!

Поискали с коллегой по ключевым словам - опоздали ровно на год :)
LLMZip: Lossless Text Compression using Large Language Models .

Ребята молодцы, получили 0.7-0.85 бита на букву, это текущий рекорд. Причём я подозреваю (статью по диагонали читал), что они настоящий Арифметический кодер даже не гоняли - возни с ним много.

Для достаточно точной оценки длины получающегося кода можно просто циклически прогнать весь текст через токенизатор, поток токенов - через модель, выбирая на каждом шаге из выхлопного вектора of logits тот, который соответствует кодируемому токену, привести этот logit к отрицательному двоичному логарифму ожидаемой вероятности, и это уже даст длину кода в (нецелых!) битах для этого конкретного токена (свойство Арифметического кодера - вроде бы даже теорема про это доказана). Потом просто просуммировать все эти длины кода вместе, и соотнести с оригинальной длиной текста в буквах (а не токенах).

По крайней мере, я бы так сделал. Собственно, я так и сделал в своём дипломе, просто 30 лет назад ещё никаких LLM не существовало :)

Для практического применения нужно было бы использовать Chat-версию LLM, у которой есть специальный токен "текст закончился", а также какой-нибудь настоящий Арифметический кодер.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

jayrandom: (Default)
jayrandom

January 2026

S M T W T F S
    1 23
45678910
111213141516 17
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 19th, 2026 03:37 pm
Powered by Dreamwidth Studios