Liquid AIは、約7400万パラメータのストリーミング音声コーデック「LiquidCodec」を公開した。これは同社のモデルLFM3-Audio-2BおよびLFM3-Omni-2Bの基盤となるもので、音声を言語モデルが予測可能な離散的な単位であるトークンに変換し、その後、これらのトークンを音声に再変換する。重みはHugging Faceで公開されている。
LiquidCodecは、24kHzでサンプリングされた音声を処理し、80msのフレームに分割する。モデルカードLFM3-Audio-2Bによると、各フレームは12のトークンとなり、12のストリームに分散される。このコーデックは、Liquid AIがLFM2-Audio-1.5Bで使用していたKyutaiの「Mimi」に取って代わる。Mimiは9620万パラメータを持つ。
3段階の動作プロセス
動作は、エンコード、量子化、デコードという3段階のチェーンに基づいている。Liquid AIは、エンコーダとデコーダの両方に対称的な構成で、そのアーキテクチャLFM3のブロックを使用している。エンコーダは完全に因果的(causal)であり、すでに受信した音声のみに依存するため、ストリーミングに適している。
量子化において、LiquidCodecはRVQ(residual vector quantization)ではなく、GFSQ(grouped finite scalar quantization)と呼ばれる手法を採用している。RVQでは、各コードブックが前のブックで捉えられなかった部分を補正する。GFSQではグループが独立しているため、12のストリームをMaskGIT型トランスフォーマーで並列に予測することが可能となる。デコーダは、波形デコーダでしばしば計算コストが高い転置畳み込みによるアップサンプリングステップを経ずに、スペクトル係数を直接予測する。
学習は2段階で行われた。第1段階では、107言語の26万4000時間の音声が使用され、敵対的損失は用いられなかった。第2段階では、5万5000時間のフルバンド(24kHz以上)音声でファインチューニングが行われ、敵対的批評が適用された。Liquid AIによると、このステップにより残存する金属的なアーティファクトが除去されたという。最後のステップとして、エッジデバイスでの推論を目指し、デコーダのみに対して学習を意識した量子化(QAT)が実施された。
Liquid AIによる速度と品質評価
Liquid AIは、Apple M4 Maxチップを搭載したMacBook Proの単一CPUスレッド上でのFP32処理速度を測定した。これらの公称値によると、LiquidCodecはエンコードを約361倍のリアルタイム速度、デコードを約87倍のリアルタイム速度で処理する。リアルタイムファクター(RTF)は処理時間を音声の長さで割った値であり、低いほど処理が高速である。エンコードのRTFは0.0028で、Mimiの0.0361、NanoCodecの0.2145、X-Codec 2の0.7359と比較される。デコードでは0.0115で、比較対象はそれぞれ0.0329、0.2543、0.0379であった。
品質評価において、Liquid AIは8つのテストセットを使用した:LibriSpeech test-clean、Seed-TTS(英語および北京語)、そしてFLEURSの5言語(ドイツ語、フランス語、北京語、日本語、韓国語)。LiquidCodecは、8セット全てで最高のViSQOLスコアと最低のメル距離を記録した。LibriSpeechでは、ViSQOLスコアは4.319に達し、NanoCodecの4.219、X-Codec 2の4.119、Mimiの4.031を上回った。各コーデックのトークンで学習した音声合成テストでは、LiquidCodecが8セット全てで最高のUTMOSv2スコアを示した。LibriSpeechでの単語誤り率は3.15%で、Mimiの6.27%を下回った。
ただし、NanoCodecは8セット中7セットでより優れたPESQ (WB) スコアを獲得し、LibriSpeechでの話者類似性(SECS 0.836対0.785)でもLiquidCodecを上回った。
デプロイメント
このコーデックは、Hugging Face Transformersを使用し、trust_remote_code=Trueを設定することでロードできる。encode()関数は音声コードを生成し、decode()関数は波形を復元する。ネイティブクラスLiquidCodecStreamingCacheにより、チャンクごとのデコードが可能となる。カードの例では、bfloat16精度のCUDA GPUが使用されている。
エッジデバイス向けに、Liquid AIはllama.cpp用のGGUFフォーマット(Q4_0、Q4_K_M、Q8_0)を提供しており、LFM3-Audio-2BおよびLFM3-Omni-2B用のGGUFリポジトリも用意している。同社によると、Q4_0とデコーダのQATを組み合わせることで、デコーダのフットプリントを3.5分の1に削減できるという。これにより、LibriSpeechでのViSQOLスコアは4.319から4.292に変化する。
