Liquid AI представила LiquidCodec — потоковый аудиокодек примерно на 74 миллиона параметров, который служит основой для её моделей LFM3-Audio-2B и LFM3-Omni-2B. Он преобразует речь в токены — дискретные единицы, которые может предсказывать языковая модель, а затем конвертирует эти токены обратно в аудио. Веса доступны на Hugging Face.
LiquidCodec обрабатывает звук с частотой дискретизации 24 кГц и разбивает его на кадры по 80 мс. Согласно описанию модели LFM3-Audio-2B, каждый кадр превращается в 12 токенов, распределённых по 12 потокам. Кодек заменяет Mimi от Kyutai, который Liquid AI использовала в LFM2-Audio-1.5B. Mimi насчитывает 96,2 миллиона параметров.
Трёхэтапный принцип работы
Работа строится на трёхэтапной цепочке: кодирование, квантование, декодирование. Liquid AI использует блоки своей архитектуры LFM3 как в энкодере, так и в декодере — эти две части симметричны. Энкодер полностью каузальный, то есть опирается только на уже полученные звуки, что подходит для потоковой передачи.
Для квантования LiquidCodec использует метод под названием GFSQ (grouped finite scalar quantization) вместо RVQ (residual vector quantization). В RVQ каждый кодексный словарь корректирует то, что не уловил предыдущий. В GFSQ группы независимы, поэтому 12 потоков могут предсказываться параллельно трансформерами типа MaskGIT. Декодер предсказывает спектральные коэффициенты напрямую, без этапа повышения частоты дискретизации через транспонированную свёртку, которая часто является затратной в вейвформных декодерах.
Обучение проходило в две фазы. Первая использовала 264 000 часов речи на 107 языках без состязательных потерь. Вторая была дообучена на 55 000 часов широкополосной речи (24 кГц и выше) с состязательными критиками. По словам Liquid AI, этот этап устранил оставшиеся металлические артефакты. Финальный этап — квантование с учётом обучения (QAT) только для декодера — нацелен на вывод на периферийных устройствах.
Скорость и качество по данным Liquid AI
Liquid AI измерила скорость в FP32 на одном потоке процессора MacBook Pro с чипом Apple M4 Max. Согласно этим заявленным цифрам, LiquidCodec выполняет кодирование примерно в 361 раз быстрее реального времени, а декодирование — примерно в 87 раз. Коэффициент реального времени (RTF) — это время обработки, делённое на длительность аудио: чем он ниже, тем быстрее обработка. RTF кодирования составляет 0,0028 против 0,0361 у Mimi, 0,2145 у NanoCodec и 0,7359 у X-Codec 2. Для декодирования он равен 0,0115 против 0,0329, 0,2543 и 0,0379 соответственно.
Для оценки качества Liquid AI использовала восемь тестовых наборов: LibriSpeech test-clean, Seed-TTS на английском и мандаринском, а также пять языков из FLEURS (немецкий, французский, мандаринский, японский, корейский). LiquidCodec показывает наилучший балл ViSQOL и наименьшее мель-расстояние на всех восьми наборах. На LibriSpeech оценка ViSQOL достигает 4,319 против 4,219 у NanoCodec, 4,119 у X-Codec 2 и 4,031 у Mimi. В тестах синтеза речи, обученных на токенах каждого кодекса, LiquidCodec демонстрирует наилучший балл UTMOSv2 на всех восьми наборах. Уровень ошибок по словам на LibriSpeech составляет 3,15 % против 6,27 % у Mimi.
Однако NanoCodec получает более высокий балл PESQ (WB) на семи из восьми наборов и опережает LiquidCodec по сходству говорящего на LibriSpeech (SECS 0,836 против 0,785).
Развёртывание
Кодек загружается через Hugging Face Transformers с активацией trust_remote_code=True. Функция encode() генерирует аудиокоды, а decode() восстанавливает форму волны. Нативный класс LiquidCodecStreamingCache позволяет выполнять декодирование по частям. Примеры в описании используют графические процессоры (GPU) CUDA в формате bfloat16.
Для встраиваемых устройств Liquid AI предлагает версии GGUF Q4_0, Q4_K_M и Q8_0, предназначенные для llama.cpp, а также репозитории GGUF для LFM3-Audio-2B и LFM3-Omni-2B. По словам компании, комбинация Q4_0 и QAT декодера сокращает его объём в 3,5 раза. Оценка ViSQOL на LibriSpeech при этом снижается с 4,319 до 4,292.
