世界を動かす技術を、日本語で。

ニューラルオーディオコーデック:音声をLLMに取り込む方法

2025年10月21日原文(kyutai.org)

概要

  • 音声LLM は現在のテキストLLMに比べて大きく遅れている現状
  • 音声のモデリング はテキストよりも難易度が高い理由
  • ニューラル音声コーデック を使ったアプローチの重要性
  • VQ-VAE (ベクトル量子化オートエンコーダ)の仕組みとメリット
  • 今後の課題 と音声生成モデルの発展可能性

音声LLMの現状と課題

  • 音声LLM は、現在のテキストLLM(例:GPT-4oなど)に比べて知能や自然さで劣る現状
  • 多くの音声LLMは、 音声→テキスト変換→テキスト生成→テキスト→音声変換 というラッパー的手法
  • これにより、 声の感情や抑揚、皮肉、共感 などの理解・表現が困難
  • GeminiやChatGPTのAdvanced Voice Modeなど、ネイティブ音声対応のLLMもあるが、 実用面や知能面で限界
  • 例:「高い声で“私の声は高い?”と聞いても、正しく判別できない」問題

テキストと音声モデリングの違い

  • テキストは バイトペアエンコーディング(BPE) などで容易にトークン化が可能
  • GPT-4oのトークナイザーなど、長年同じ仕組みを利用
  • 音声は1秒間に数万サンプル とデータ量が多く、長期的な一貫性を保つモデル構築が難しい
  • WaveNetのように サンプル単位で予測 する方法は、計算コストが高く、生成も非現実的に遅い

ニューラル音声コーデックの役割

  • 音声を離散トークンに変換 し、LLMで予測しやすい形に圧縮
  • コーデックを用いることで、 音声→トークン→LLM→トークン→音声 という流れが可能
  • Kyutaiチームの Mimi など、実際のモデルで採用例
  • SesameのCSMなど、他モデルでも応用

サンプル単位生成の実験

  • Andrej KarpathyのnanoGPTを改造し、 Libri-Lightデータセット で実験
  • μ-lawアルゴリズムで 256バケットに量子化 し、トークンとして扱う
  • 小規模Transformer(151Mパラメータ)で学習
  • 結果: 意味不明な音声、声質の不安定さ、単語の認識不能
  • 10秒音声の生成に 30分以上 かかるなど、実用性に課題

オートエンコーダとVQ-VAEの導入

  • オートエンコーダ で音声を低次元の潜在空間に圧縮・再構成
  • 潜在空間を クラスタリング(例:k-means) し、離散化
  • 量子化操作は非微分可能だが、 ストレートスルー推定器 で勾配を近似
  • コミットメント損失 を導入し、潜在表現がクラスタ中心に近づくように訓練
  • これにより、モデル自体が量子化に適応

VQ-VAEのメリットと今後

  • VQ-VAE は、音声や画像の離散表現を効率的に学習可能
  • 量子化による情報損失を 多段階量子化(Residual Vector Quantization) などで補完可能
  • 音声LLMの進化には、 コーデックの改良と大規模データ・計算資源 の投入が不可欠
  • 今後の課題: リアルタイム性、長期一貫性、感情やニュアンスの理解

まとめ

  • 音声LLM の進化には、 ニューラル音声コーデックVQ-VAE の活用が重要
  • テキストと異なり、 音声データの大規模圧縮と離散化 が不可欠
  • 現状の限界 を突破するには、さらなる研究と技術革新が必要

Hackerたちの意見

いい投稿をシェアしてくれてありがとう!チームと共有するよ。最近、AIスイートで音声を使い始めたばかりだから、ここに書いてある内容はとても役に立ちそうだね。

多くのLLMには音声インターフェースがあるけど、通常はあなたの話を文字に起こして、テキストで答えを生成し、その後テキスト読み上げを使って返答を声に出しているんだ。それは多くの場合には問題ないけど、実際の音声理解ではなくてラッパーみたいなものだね。でも、トークン化についても同じことが言えるよ。LLMはまず文字のグループをトークンに変換して、それを使ってトークンを生成し、最後にトークンを文字に戻すんだ。これも本当の理解じゃないよ!もしLLMがそんなに賢いなら、トークン化のステップを飛ばせるはずだよ。

本当の理解なんてないよ。理解の基準がないから、理解が何かを機械的に知っているわけじゃないし。今のところ、最も良いのは人々がその場で作り上げた基準を「雰囲気で知っている」ってことかな。

ずっと疑問に思ってるのは、音声をトークン化する努力がなぜされなかったのかってこと。書き起こした言葉じゃなくてね。トレーニングに使える音声は大量にあるのに。

音声トレーニングのトランスフォーマーの瞬間はまだ来てないと思うけど、理論的には音声優先のモデルはもっと能力が高くなるはずだね。

音声トークンはテキストに比べて少なくとも4倍のトークンを消費するから、まず効率の問題があるね。それに、ゼロからLLMをトレーニングするのに十分な音声データはあるのかな?

データはあるけど、書き言葉の量には全然及ばないし、言語、方言、イントネーション、表情、手のジェスチャーなどの追加機能を考慮する必要がないほど標準化されているわけじゃない。音声からテキストへの変換は、そういった他の特徴を多く捨てて、言語間でマッピングするのにもっと効率的なトークンのセットに文脈を与えるために使われているんだ。

音声トークンでのトレーニングはコストがかかるけど、きっとそこにたどり着くよ。YouTubeの講義のトランスクリプトでモデルをトレーニングするのと、その音声でトレーニングするのでは違いが出るはずだね。

記事はまさにそれについて話してるよ。重要な質問は、連続的な信号(音声/音声)をどのように離散的なトークンのセットに変換するかってこと。音声の一つのウィンドウは通常10msから100msの間だよね。そのウィンドウの意味的かつ音響的な内容を表す「トークン」に全ての情報を圧縮するのは難しい。だから、残差ベクトル量子化が役立つ技術なんだ。単一のタイムスライスを量子化するために、複数の辞書を使って、各々が前の残差レベルに条件付けされるんだ。異なる周波数で信号を量子化することもできるよ。投稿の最後の方には、彼らのMimi音声コーデックで訓練されたLLMのサンプルがあるよ。

これがこの概念について見た中で、一番視覚的に心地よい説明だと思う。おめでとう!僕も似たようなVQ-VAEの作業を試みたことがあるけど、レンダリングされたテキストをトークン化しようとしたんだ。10ポイントのレンダリングフォントで動くビジュアルLLMを作れるか興味があったし、PDFソースも使ってみた。基本的なアイデアは、テキストの画像を生成するより進んだ拡散画像モデルができることをやることだった。特定の画像テキスト拡散モデルを作って、補完を行うこと。さらに、ドキュメントタイプや言語を埋め込めたら、現在の辞書トークナイザーよりも抽象化されたテキストの潜在表現ができるかもと思った。たくさん学べたし、この投稿で全部美しく表現されてると思ったよ。

これは面白いね。音声に直接取り組むのは、テキストよりもはるかに複雑だよね。でも、LLMが音声でネイティブに動作するための一部が、音声を効率的にエンコードするコーデックを見つけることだっていうのはすごくワクワクする。いつか、フォーリエ変換やそれに類似したものに基づかず、声帯の形、舌の位置、喉や胸、口の形を説明する物理的パラメータのセットに基づいた人気の音声コーデックを作ることになるんじゃないかって思う。そんなモデルが統計的に導き出されて、ほぼ「ハードコーディング」されるようになるかも。人間の解剖学はその範囲を超えてあまり変わらないからね。これ、フォルマント音声エンコーディングって呼ばれてると思うけど、LLMがその分野を大きく進展させることになったら面白いな。歴史的には音声合成の方が音声圧縮よりも関係が深いと思うし。

このアプローチで人工音声を作ろうとする試みの長い歴史があるよ。口の部分を再現して、空気を振動させるんだ。どれもかなり馬鹿げていて、書くことが単に音声の派生物じゃないって理解していないような作品ばかりだよ。

Hacker Newsで議論の続きを見る