- PVSM.RU - https://www.pvsm.ru -

Нейронные аудиокодеки: мощное сжатие звука с помощью LLM

Если использовать нейросеть как «большой словарь токенов» для архиватора, то можно разработать архиватор с рекордным коэффициентом сжатия. Например, сейчас в мировом бенчмарке Large Text Compression Benchmark [1] (LTCB) лидирует компрессор NNCP [2], в котором Фабрис Беллар реализовал примерно такую идею:

Результаты LTCB на текстовом корпусе enwik9 [3] (первые 1 000 000 000 байт текста англоязычной Википедии — enwiki-20060303-pages-articles.xml, 4,7 ГБ), июнь 2026

Программа

Результат (байт)

Коэффициент
сжатия

Размер декодера
(zip, байт)

Всего
(байт)

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 [4], который устанавливается через PyPi:

pip install tiktoken

Этот токенизатор использует алгоритм кодирования байт-пар BPE [5], изначально созданный в 1994 году именно для сжатия данных.

BPE заменяет наиболее частую пару байтов на новый байт, который не содержится в исходном наборе данных:

  • ABABCABCD ------Исходная строка входных данных

  • XXCXCD----------Пара AB заменяется на неиспользуемый X

  • XYYD------------Пара XC заменяется на неиспользуемый Y

Для восстановления исходного набора данных хранится таблица замен. Токены соответствуют различным объёмам исходного текста: от отдельных символов (включая одиночные цифры или знаки препинания) до целых слов (даже длинных составных):

Токенизация случайного текста из Википедии, источник

Токенизация случайного текста из Википедии, источник [6]

Токенизатор SentencePiece [7] от компании Google тоже основан на алгоритме BPE.

Превращение текста в токены — обратимый процесс, так что полученные токены всегда можно преобразовать обратно в исходный текст. И сжатие происходит без потерь, то есть это классический lossless-кодек.

Многослойные нейросети RNN исключительно эффективны в предсказании следующего слова [8], и не только слова. После обучения нейросеть усваивает основные признаки любых данных и умеет сама синтезировать или восстанавливать такие данные на основе скудной информации:

Слева: RNN распознаёт признаки в наборе данных. Справа: RNN учится рисовать номера домов, из статьи Андрея Карпаты 2015 года

Слева: RNN распознаёт признаки в наборе данных. Справа: RNN учится рисовать номера домов, из статьи [8] Андрея Карпаты 2015 года

Предсказание аудиосэмплов

Вопрос в следующем: а можно ли повторить такой подход в сжатии звука? То есть разработать аудиокодек на трансформерах, который будет надёжно предсказывать не следующее слово, а следующий звуковой сэмпл?

В 2016 году DeepMind опубликовала генеративную звуковую модель WaveNet [9], которая вполне реалистично синтезировала человеческую речь [10] в режиме text-to-speech, хотя в «творческом» режиме свободного текста явно запиналась, подбирая слова [11].

Сэмпл — минимальная единица информации в цифровом звуке. Одна секунда звука содержит десятки тысяч сэмплов, из блога DeepMind

Сэмпл — минимальная единица информации в цифровом звуке. Одна секунда звука содержит десятки тысяч сэмплов, из блога [12] DeepMind

С тех пор технологии значительно продвинулись, и сейчас синтезированная речь в нейронках Gemini [13], ChatGPT Advanced Voice Mode [14]Qwen [15] и Moshi [16] практически неотличима от настоящей.

Нейронный аудиокодек Mimi

В июле 2024 года французская компания Kyutai опубликовала речевую модель Moshi [17]. Это был первый в мире голосовой end-to-end AI с открытыми исходниками, способный вести диалог в реальном времени и свободный для использования всеми желающими.

Модель умеет думать и говорить одновременно, синтезирует свободный поток слов на любую тему, распознавая речь и генерируя ответы. Демо [16] работает во всех браузерах, беседы ограничены 5 мин.

Основные компоненты архитектуры Moshi: языковая модель Helium; нейронный аудиокодек Mimi; потоковая иерархическая генерация семантических и акустических токенов, источник

Основные компоненты архитектуры Moshi: языковая модель Helium; нейронный аудиокодек Mimi; потоковая иерархическая генерация семантических и акустических токенов, источник [17]

Один из основных компонентов модели — нейронный аудиокодек Mimi с остаточной векторной квантизацией и семантическими знаниями, извлечёнными из самонастраиваемой речевой модели.

Токенизация звука

Аудиокодек и выполняет токенизацию звука примерно таким же способом, как вышеупомянутый алгоритм BPE работает с текстом. Более подробно процесс дискретизации звуковых волн в аудиотокены описан в научных работах «SoundStream: end-to-end нейронный аудиокодек» [18] (Zeghidour et al., 2021) и «Сжатие высококачественного аудио с использованием нейросетей» [19] (D´efossez et al., 2023, arXiv:2210.13438v1). Mimi работает как автоэнкодер.

В научной литературе [20] эти токены называются акустическими, так как они моделируют тонкие звуковые особенности и оптимизированы для высококачественной реконструкции звука. Хотя акустические токены отлично подходят для моделей text-to-audio (text-to-speech, text-to-music), для генерации речи требуется сочетать их с семантическими токенами, извлечёнными из самонаблюдаемых моделей речи [21].

Совместная работа акустических, семантических и текстовых токенов в Moshi, источник

Совместная работа акустических, семантических и текстовых токенов в Moshi, источник [17]

В отличие от акустических аналогов, семантические токены не позволяют восстанавливать высококачественный аудиофайл, но сильно коррелируют с лингвистическим содержанием. Это сходство с языком позволяет генерировать понятную и последовательную речь даже без текстового описания, используя семантические аудиотокены в качестве префикса для предсказания акустических токенов.

Тем не менее, этот гибридный подход к токенизации несовместим с генерацией в реальном времени. Семантические токены обычно не являются причинными и, следовательно, могут быть вычислены только в офлайн-режиме. Более того, генерация акустических и семантических токенов с помощью отдельных энкодеров представляет собой значительную вычислительную нагрузку. Поэтому Mimi использует дистилляцию для передачи некондиционной, высокоуровневой семантической информации в токены, производимые каузальной моделью, что позволяет осуществлять потоковое кодирование и декодирование семантико-акустических токенов.

Разработчики опубликовали отдельный пост в блоге [6] с описанием работы нейронных аудиокодеков на примере Mimi.

Если добавить LLM в пару кодер-декодер, то система сможет предсказывать звук, а декодер — выполнять обратное преобразование

Если добавить LLM в пару кодер-декодер, то система сможет предсказывать звук, а декодер — выполнять обратное преобразование

Базовая архитектура Mimi сделана по образцу SoundStream [18] (от Google) и Encodec [19] (от экстремистов из Meta), включает в себя автоэнкодер SeaNet [22] и квантователь Residual Vector Quantizer (RVQ) [18].

Нейронные аудиокодеки: мощное сжатие звука с помощью LLM - 7

Квантователь RVQ преобразует массив данных в одномерный вид с формой (t/128 * 8), а LLM предсказывает восемь уровней на отдельных временных шагах:

Упрощение трёхуровневой RVQ для подачи в языковую модель

Упрощение трёхуровневой RVQ для подачи в языковую модель

Таким образом, вместо предсказания сэмплов напрямую, нейронный аудиокодек работает в три этапа:

  1. Токенизация звука.

  2. Предсказание следующих токенов в LLM.

  3. Восстановление оригинала.

Если зафиксировать часть семантических токенов, модель сгенерирует остальные

Если зафиксировать часть семантических токенов, модель сгенерирует остальные

Компания Kyutai — это вообще один из редких примеров успехов европейской науки в области ML и AI, потому что в этой сфере Старый Свет немного уступает США и Китаю. Но вот один из первых нейронных аудиокодеков разработали именно здесь.

Другие модели и кодеки

В 2025 году аудиокодек Mimi стал практически стандартом для сжатия звука в токены, он токенизирует аудио со скоростью 12,5 Гц (около 24 токенов в секунду для каждого слоя квантования), эффективно сжимая голос и окружающие звуки.

После Moshi появились другие модели, которые нативно поддерживают звук, вот некоторые из них:

  • CSM [23] (Sesame, 2025): голосовой чат, Llama + Mimi;

  • Qwen3-Omni [15] (Alibaba, 2025): мультимодальная LLM от Alibaba. Аудио на выходе генерируется отдельной моделью talker, а её выдача не подаётся обратно, так что это по сути текстовая модель с функцией text-to-speech;

  • MiMo-Audio [24] (Xiaomi, 2025): только звук;

  • LFM2-Audio [25] (Liquid AI, 2025): аудио/текст, использует кодек Mimi.

Но рынок развивается очень стремительно, и уже в 2026−2027 гг. может многое измениться. Кроме упомянутых выше SoundStream и Encodec, можно упомянуть ещё нейронные аудиокодеки DAC [26] (Descript Audio Codec) и SNAC [27] (Neural Audio Codec).

В качестве бонуса. Специализированный компрессор для FP64

Вообще, технологии сжатия данных не стоят на месте, каждый год появляются новые научные работы в этой области, исследования и конкретные прикладные разработки, которые можно применять на практике. Например, недавно вышел любопытный архиватор fc [28] (Floating-Point Compressor), это эффективный новый lossless-компрессор для потоков 64-битных цифр с плавающей запятой формата IEEE-754 [29] (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

Источник [30]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/float/453325

Ссылки в тексте:

[1] Large Text Compression Benchmark: https://www.mattmahoney.net/dc/text.html

[2] NNCP: https://bellard.org/nncp/

[3] enwik9: http://mattmahoney.net/dc/textdata.html

[4] tiktoken: https://github.com/openai/tiktoken

[5] BPE: http://www.pennelynn.com/Documents/CUJ/HTML/94HTML/19940045.HTM

[6] источник: https://kyutai.org/codec-explainer

[7] SentencePiece: https://github.com/google/sentencepiece

[8] исключительно эффективны в предсказании следующего слова: https://karpathy.github.io/2015/05/21/rnn-effectiveness/

[9] WaveNet: https://deepmind.google/blog/wavenet-a-generative-model-for-raw-audio/

[10] реалистично синтезировала человеческую речь: https://storage.googleapis.com/gdm-deepmind-com-prod-public/media/media/us-english-parametric-1.wav

[11] явно запиналась, подбирая слова: https://storage.googleapis.com/gdm-deepmind-com-prod-public/media/media/speaker-1.wav

[12] блога: https://deepmind.google/discover/blog/wavenet-a-generative-model-for-raw-audio/

[13] Gemini: https://blog.google/technology/google-deepmind/gemini-2-5-native-audio/

[14] Advanced Voice Mode: https://openai.com/index/hello-gpt-4o/

[15] Qwen: https://qwen.ai/blog?id=fdfbaf2907a36b7659a470c77fb135e381302028&from=research.research-list

[16] Moshi: https://moshi-chat.kyutai.org/

[17] речевую модель Moshi: https://arxiv.org/abs/2410.00037

[18] «SoundStream: end-to-end нейронный аудиокодек»: https://dl.acm.org/doi/10.1109/TASLP.2021.3129994

[19] «Сжатие высококачественного аудио с использованием нейросетей»: https://arxiv.org/abs/2210.13438

[20] научной литературе: https://arxiv.org/abs/2209.03143

[21] самонаблюдаемых моделей речи: https://arxiv.org/abs/2006.11477

[22] SeaNet: https://www.isca-archive.org/interspeech_2020/tagliasacchi20_interspeech.html

[23] CSM: https://www.sesame.com/research/crossing_the_uncanny_valley_of_voice

[24] MiMo-Audio: https://github.com/XiaomiMiMo/MiMo-Audio

[25] LFM2-Audio: https://www.liquid.ai/blog/lfm2-audio-an-end-to-end-audio-foundation-model

[26] DAC: https://github.com/descriptinc/descript-audio-codec

[27] SNAC: https://arxiv.org/abs/2410.14411

[28] fc: https://github.com/xtellect/fc

[29] IEEE-754: https://en.wikipedia.org/wiki/Double-precision_floating-point_format

[30] Источник: https://habr.com/ru/companies/ruvds/articles/1040026/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1040026