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

в 7:01, , рубрики: double, fc, float, Mimi, ruvds_статьи, tiktoken, архиваторы, метаархиватор, семантические токены

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

Результаты LTCB на текстовом корпусе enwik9 (первые 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, который устанавливается через PyPi:

pip install tiktoken

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

С тех пор технологии значительно продвинулись, и сейчас синтезированная речь в нейронках Gemini, ChatGPT Advanced Voice ModeQwen и Moshi практически неотличима от настоящей.

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

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

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

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

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

Один из основных компонентов модели — нейронный аудиокодек 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), для генерации речи требуется сочетать их с семантическими токенами, извлечёнными из самонаблюдаемых моделей речи.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Компания 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

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js