Если использовать нейросеть как «большой словарь токенов» для архиватора, то можно разработать архиватор с рекордным коэффициентом сжатия. Например, сейчас в мировом бенчмарке Large Text Compression Benchmark (LTCB) лидирует компрессор NNCP, в котором Фабрис Беллар реализовал примерно такую идею:
|
Результаты LTCB на текстовом корпусе enwik9 (первые 1 000 000 000 байт текста англоязычной Википедии — |
||||
|
Программа |
Результат (байт) |
Коэффициент |
Размер декодера |
Всего |
|---|---|---|---|---|
|
gzip 1.3.5 |
322 591 995 |
3,10 : 1 |
38 801 |
322 630 796 |
|
xz 5.2.1 |
197 331 816 |
5,07 : 1 |
36 752 |
197 368 568 |
|
CMIX (v21) |
107 693 380 |
9,24 : 1 |
223 485 |
108 244 767 |
|
NNCP 3.2 |
106 632 363 |
9,32 : 1 |
628 955 |
107 261 318 |
Токенизация текста
Как видим, с помощью нейронок тексты Википедии сжимаются с коэффициентом 9:1. Мы просто конвертируем текст в токены с помощью открытого токенизатора. Например, OpenAI много лет использует один и тот же токенизатор tiktoken, который устанавливается через PyPi:
pip install tiktoken
Этот токенизатор использует алгоритм кодирования байт-пар BPE, изначально созданный в 1994 году именно для сжатия данных.
BPE заменяет наиболее частую пару байтов на новый байт, который не содержится в исходном наборе данных:
-
ABABCABCD ------Исходная строка входных данных -
XXCXCD----------Пара AB заменяется на неиспользуемый X -
XYYD------------Пара XC заменяется на неиспользуемый Y
Для восстановления исходного набора данных хранится таблица замен. Токены соответствуют различным объёмам исходного текста: от отдельных символов (включая одиночные цифры или знаки препинания) до целых слов (даже длинных составных):
Токенизатор SentencePiece от компании Google тоже основан на алгоритме BPE.
Превращение текста в токены — обратимый процесс, так что полученные токены всегда можно преобразовать обратно в исходный текст. И сжатие происходит без потерь, то есть это классический lossless-кодек.
Многослойные нейросети RNN исключительно эффективны в предсказании следующего слова, и не только слова. После обучения нейросеть усваивает основные признаки любых данных и умеет сама синтезировать или восстанавливать такие данные на основе скудной информации:
Предсказание аудиосэмплов
Вопрос в следующем: а можно ли повторить такой подход в сжатии звука? То есть разработать аудиокодек на трансформерах, который будет надёжно предсказывать не следующее слово, а следующий звуковой сэмпл?
В 2016 году DeepMind опубликовала генеративную звуковую модель WaveNet, которая вполне реалистично синтезировала человеческую речь в режиме text-to-speech, хотя в «творческом» режиме свободного текста явно запиналась, подбирая слова.
С тех пор технологии значительно продвинулись, и сейчас синтезированная речь в нейронках Gemini, ChatGPT Advanced Voice Mode, Qwen и Moshi практически неотличима от настоящей.
Нейронный аудиокодек Mimi
В июле 2024 года французская компания Kyutai опубликовала речевую модель Moshi. Это был первый в мире голосовой end-to-end AI с открытыми исходниками, способный вести диалог в реальном времени и свободный для использования всеми желающими.
Модель умеет думать и говорить одновременно, синтезирует свободный поток слов на любую тему, распознавая речь и генерируя ответы. Демо работает во всех браузерах, беседы ограничены 5 мин.
Один из основных компонентов модели — нейронный аудиокодек Mimi с остаточной векторной квантизацией и семантическими знаниями, извлечёнными из самонастраиваемой речевой модели.
Токенизация звука
Аудиокодек и выполняет токенизацию звука примерно таким же способом, как вышеупомянутый алгоритм BPE работает с текстом. Более подробно процесс дискретизации звуковых волн в аудиотокены описан в научных работах «SoundStream: end-to-end нейронный аудиокодек» (Zeghidour et al., 2021) и «Сжатие высококачественного аудио с использованием нейросетей» (D´efossez et al., 2023, arXiv:2210.13438v1). Mimi работает как автоэнкодер.
В научной литературе эти токены называются акустическими, так как они моделируют тонкие звуковые особенности и оптимизированы для высококачественной реконструкции звука. Хотя акустические токены отлично подходят для моделей text-to-audio (text-to-speech, text-to-music), для генерации речи требуется сочетать их с семантическими токенами, извлечёнными из самонаблюдаемых моделей речи.
В отличие от акустических аналогов, семантические токены не позволяют восстанавливать высококачественный аудиофайл, но сильно коррелируют с лингвистическим содержанием. Это сходство с языком позволяет генерировать понятную и последовательную речь даже без текстового описания, используя семантические аудиотокены в качестве префикса для предсказания акустических токенов.
Тем не менее, этот гибридный подход к токенизации несовместим с генерацией в реальном времени. Семантические токены обычно не являются причинными и, следовательно, могут быть вычислены только в офлайн-режиме. Более того, генерация акустических и семантических токенов с помощью отдельных энкодеров представляет собой значительную вычислительную нагрузку. Поэтому Mimi использует дистилляцию для передачи некондиционной, высокоуровневой семантической информации в токены, производимые каузальной моделью, что позволяет осуществлять потоковое кодирование и декодирование семантико-акустических токенов.
Разработчики опубликовали отдельный пост в блоге с описанием работы нейронных аудиокодеков на примере Mimi.
Базовая архитектура Mimi сделана по образцу SoundStream (от Google) и Encodec (от экстремистов из Meta), включает в себя автоэнкодер SeaNet и квантователь Residual Vector Quantizer (RVQ).

Квантователь RVQ преобразует массив данных в одномерный вид с формой (t/128 * 8), а LLM предсказывает восемь уровней на отдельных временных шагах:
Таким образом, вместо предсказания сэмплов напрямую, нейронный аудиокодек работает в три этапа:
-
Токенизация звука.
-
Предсказание следующих токенов в LLM.
-
Восстановление оригинала.
Компания Kyutai — это вообще один из редких примеров успехов европейской науки в области ML и AI, потому что в этой сфере Старый Свет немного уступает США и Китаю. Но вот один из первых нейронных аудиокодеков разработали именно здесь.
Другие модели и кодеки
В 2025 году аудиокодек Mimi стал практически стандартом для сжатия звука в токены, он токенизирует аудио со скоростью 12,5 Гц (около 24 токенов в секунду для каждого слоя квантования), эффективно сжимая голос и окружающие звуки.
После Moshi появились другие модели, которые нативно поддерживают звук, вот некоторые из них:
-
CSM (Sesame, 2025): голосовой чат, Llama + Mimi;
-
Qwen3-Omni (Alibaba, 2025): мультимодальная LLM от Alibaba. Аудио на выходе генерируется отдельной моделью talker, а её выдача не подаётся обратно, так что это по сути текстовая модель с функцией text-to-speech;
-
MiMo-Audio (Xiaomi, 2025): только звук;
-
LFM2-Audio (Liquid AI, 2025): аудио/текст, использует кодек Mimi.
Но рынок развивается очень стремительно, и уже в 2026−2027 гг. может многое измениться. Кроме упомянутых выше SoundStream и Encodec, можно упомянуть ещё нейронные аудиокодеки DAC (Descript Audio Codec) и SNAC (Neural Audio Codec).
В качестве бонуса. Специализированный компрессор для FP64
Вообще, технологии сжатия данных не стоят на месте, каждый год появляются новые научные работы в этой области, исследования и конкретные прикладные разработки, которые можно применять на практике. Например, недавно вышел любопытный архиватор fc (Floating-Point Compressor), это эффективный новый lossless-компрессор для потоков 64-битных цифр с плавающей запятой формата IEEE-754 (FP64, float64, числа двойной точности или double). Он не выполняет токенизации, но теоретически тоже может использоваться для сжатия звука, как и нейронные аудиокодеки, или вместе с ними.
64-битные числа состоят из знака (1 бит), экспоненты (11 бит до запятой) и мантиссы (оставшиеся 52 бита, после запятой).
При малейшем изменении числа мантисса в двоичном коде сильно изменяется, поэтому для обычных архиваторов она представляет случайный шум. Например, у чисел 2,5439 и 2,5438 совпадают знак, экспонента и первые 13 знаков мантиссы, а далее идёт 39 бит случайного шума, который практически не сжимается:
Мантисса 2,5439 в double: 01000101100111101000000111110010000100101101011101110
Мантисса 2,5438 в double: 01000101100110110011110100000111110010000100101101106
Специализированные кодеки разделяют поток на три независимые дорожки и применяют математическое предсказание к мантиссам соседних чисел, превращая хаотичный шум в более простые для сжатия цепочки данных. Конкретно fc разделяет поток на адаптивно изменяющиеся блоки, а потом использует набор специализированных предсказателей/преобразователей/кодеров для чисел с плавающей запятой — и проверяет, какой из них наиболее эффективен для конкретного блока чисел. То есть он работает как метаархиватор, используя несколько разных методов для сжатия и выбирая лучший.
В результате fc в несколько раз эффективнее стандартных архиваторов, а также неплохо выглядит (чуть ниже среднего) по скорости кодирования и декодирования:
|
Кодек |
Степень сжатия |
Кодирование (МБ/с) |
Декодирование (МБ/с) |
|---|---|---|---|
|
fc |
3,07 |
120 |
1277 |
|
zstd -3 |
2,07 |
528 |
1556 |
|
zstd -9 |
2,09 |
111 |
1572 |
|
fpzip |
1,71 |
123 |
121 |
|
lz4hc -9 |
1,69 |
51 |
5835 |
|
gorilla |
1,66 |
683 |
971 |
|
lz4 |
1,62 |
2176 |
5353 |
Компрессор предназначен для временны́х рядов, научных данных, симуляций и аналитики, где числа часто имеют структуру: это гладкие кривые, повторяющиеся значения, фиксированные приращения, периодические сигналы, предсказуемые дельты или мантиссы с низкой энтропией.
Если автор в будущем расширит программу для поддержки 32-битных float, то он подойдёт и для lossless-сжатия высококачественного звука.
© 2026 ООО «МТ ФИНАНС»
Автор: alizar
