日本語音声基盤モデルの事前学習
前処理編 では、50万時間規模の音声を学習用トークン列に変換するパイプラインを紹介しました。 本記事では、得られたトークン列を用いてTTSモデルをどのように事前学習させたかを述べます。 概要編を読了済みの読者を想定しています。
日本語音声基盤モデルの事前学習では、既存のテキスト LLM を出発点にして音声トークンを扱えるよう拡張する、いわゆる継続事前学習の形を取ります。 これは Spirit-LM1 や LLaSA2 など、近年の LLM-TTS でもしばしば採られているアプローチです。 本記事では、この継続事前学習における次の3つの論点を扱います。
- ベーステキストLLMの選択: インストラクションチューニング済みかそうでないどちらのLLMを出発点とするか
- Token formulation: TTSやASRといった音声タスクを、テキストトークンと音声トークンを連結した系列としてどのように並べるか
- 事前学習知識の忘却防止: 忘却防止のためのテキストデータをどの程度学習データに含めるか
以上の論点について我々がどう判断したかを説明します。
関連記事
- 概要編:日本語音声基盤モデルをスケーリングさせ、TTS性能を見てみる
- 前処理編:音声データを処理する前処理パイプラインと実行基盤を作った話
- 事前学習編:この記事
- 事後学習編:(後日公開予定)
1. 事前学習における、本記事で扱う論点
LLMをベースに音声を扱う事前学習では、テキストトークンと音声トークンをどのように単一の系列とし学習させるかという、テキスト単独の事前学習にはない設計上の選択肢が新たに発生します。 今回は、学習をスケールさせやすいことを重視し、テキストトークンと音声トークンを単一の系列として並べる方針を採用しています。
2. ベースLLMの選択
テキスト事前学習だけがされた base モデルから始めるか、インストラクションチューニング済みのモデル (指示に従う挙動を後付けで学習させたモデル) から始めるかを選び、選んだLLMをどのように音声トークンを扱えるよう拡張するかを決める必要があります。
2-1. インストラクションチューニング済みかそうでないものか
ベースとなるテキストLLMの候補としては、テキスト事前学習のみがされた base モデル と、その上で インストラクションチューニング (テキスト追従性を高めるために事前学習後に行われる学習ステップ) が施されたモデルの2系統があります。 今回は、1B / 3B ともに Llama 3.2-1B / Llama 3.2-3B の base 版3 を出発点とすることにしました。
両者を比較する判断材料として、1B モデル段階で予備実験を行いました。 同一のデータ量で継続事前学習を行い、JSUTコーパス4のCERで評価したところ、両者の間に明確な性能差はほとんど見られませんでした。 今回の継続事前学習はモデルを音声トークンの生成タスクへと適応させることが主目的であり、インストラクションチューニングを挟まない base モデルのほうが、テキスト事前学習で得られた知識をそのまま引き継ぎやすいと考えました。 加えて、すでに instruction-following を獲得した状態から継続事前学習を行うよりも、追加で保持したい特性が少ない base モデルのほうが忘却リスクの管理もしやすくなります。
2-2. 語彙拡張 (vocab expansion)
LLM はあらかじめ語彙に登録されたトークンしか入出力できないため、テキスト用の語彙しか持たない base モデルはそのままでは音声トークンを扱えません。 そこで、前処理編 で紹介した NeuCodec の音声トークン 65,536 個と、テキストと音声を区切る特殊トークンを LLM の語彙に追加し、テキストトークンと音声トークンを単一のトークン空間に統合しました。
これにより、テキストと音声のいずれも同じ next token prediction で扱えるようになり、両者を任意の順序で連結した系列をそのまま学習データとして使えます。 具体的にどのような系列にして並べるかが、次節で扱う Token formulation の問題です。
3. Token formulation
ベースモデルが決まったので、次はテキストと音声をどう一つのトークン列に並べるか、つまり Token formulation を決めます。
3-1. Token formulation と loss の取り方
Token formulation とは、LLMに出力を生成させる際のトークン列のフォーマットのことです。 例えば、ナイーブにTTSタスクを next token prediction の枠組みでモデリングする場合、テキストと音声のトークン列を特殊トークン (テキスト列と音声列の境界を示すための区切り記号) を挟んで連結させます。
TTSタスクを行う際、上図の「生成部分」 (図の右側にあたる音声トークン列) だけを生成できるように学習させれば十分ですが、上図の「プロンプト部分」 (図の左側にあたる入力テキストトークン列) の loss も含めて学習させることも考えられます。 直観的には、プロンプト部分も loss 計算に含めれば、テキスト側の next token prediction も並行して学習することになり、自然言語知識の忘却を抑える方向に働くと予想されます。 一方で,先行研究のLLaSAでは音声トークン部分でのみLossを計算する方法が採用されておりどちらがいいかは不明です。
また、テキストと音声のペアを使うタスクの別の例として、ASRタスクも考えられます。 マルチタスク学習として ASR タスクも併せて訓練することで、音声とテキストの対応関係をモデルにより強く学ばせ、TTS 性能の向上が期待できると考えました。 ASRタスクもTTSタスクと同様に、テキストと音声のトークン列を特殊トークンで連結させますが、TTSタスクとは異なり、生成部分はテキストトークン列になります。
このASRタスクも含めて、TTSと併せたマルチタスク学習として行うことも考えられます。 この場合も同様に、プロンプト部分も訓練するかどうかという選択も存在します。
このように、複数の Token formulation が考えられますが、どの Token formulation が LLM-TTS のための効果的な事前学習につながるかは自明ではありません。 そこで我々は、1Bモデルでの予備実験で、以下2つの選択肢の組み合わせ4通りを比較しました。
- TTSタスクだけを訓練するか (TTS) ・ ASRタスクも訓練するか (TTS+ASR)
- プロンプト部分も訓練するか (prompt) ・ 生成部分だけを訓練するか (無印)
3-2. 1Bでの比較実験と結果
1Bモデルで、これら4通りの Token formulation だけを変えて事前学習を行い、JSUTコーパスでTTSをさせた際のCERを比較しました。 なお、CER は top_p=0.95, temperature=1.0 でサンプリングした結果に対して計算しています。 また、ここでの1B実験は Token formulation を比較するための予備実験であり、概要編で示した最終的な1Bモデルとは学習条件が異なります。 そのため、ここでのCERは構成間の相対比較として見てください。
| カテゴリ | TTS | TTS_prompt | TTS+ASR | TTS+ASR_prompt |
|---|---|---|---|---|
| basic5000 | 30.54% | 25.89% | 36.48% | 35.62% |
| countersuffix26 | 67.60% | 74.39% | 69.58% | 85.41% |
| loanword128 | 27.26% | 22.52% | 34.47% | 34.12% |
| onomatopee300 | 22.40% | 15.74% | 27.55% | 27.13% |
| precedent130 | 36.57% | 25.34% | 40.41% | 37.74% |
| repeat500 | 39.32% | 26.52% | 43.32% | 39.37% |
| travel1000 | 17.31% | 16.40% | 24.19% | 21.19% |
| utparaphrase512 | 24.55% | 17.72% | 30.19% | 28.71% |
| voiceactress100 | 36.00% | 24.51% | 41.43% | 40.05% |
| 平均 | 28.92% | 23.84% | 34.77% | 33.43% |
ASRタスクも併せて訓練すると、TTSタスクだけを訓練した場合よりもCERが大きくなる傾向が見られました。 タスク構成をシンプルに保つことで学習の大規模化がしやすいというメリットもあり、ASRタスクを追加しない構成を採用することにしました。
プロンプト部分も loss 計算に含めるかどうかについては、プロンプト部分も訓練すると生成部分だけを訓練した場合よりもCERが小さくなる傾向が見られました。 ただし、カテゴリ別に見ると countersuffix26 のような数詞系のカテゴリではこの傾向が必ずしも成り立たない点には注意が必要です。
この結果を踏まえて、事前学習では TTSタスクだけを訓練し、プロンプト部分も訓練する Token formulation (TTS_prompt) を採用することにしました。 プロンプト部分 (入力テキスト側) も loss 計算に含めることで、音声トークン中心の学習中もテキストの next token prediction が並行して走り、テキスト側の学習機会が維持されます。 これが言語知識の忘却防止にどこまで寄与するかは検証の余地がありますが、テキストデータの混合と組み合わせて忘却リスクへの対策を行っています。
4. 事前学習知識の忘却防止
3つ目の論点は、テキストLLMが事前学習で獲得した能力の忘却をどのように緩和するかです。 先行研究では、継続事前学習や音声言語モデルの学習において、元の分布に近いテキストデータを再投入する experience replay が、破滅的忘却の緩和に有効であると報告されています5 6。
本研究では、この先行知見に基づいてテキストデータを混合する方針を採用しました。
一方で、音声生成への継続事前学習では系統的比較があまりありません。 そこで学習時のテキスト混合比率に関する予備実験を行いました。
4-1. 1Bでの実験
まず、1Bモデルでテキストデータがサンプリングされる割合を変えて比較しました。 テキストデータの比率は、Text 0% (テキストデータなし) 、Text 10% (テキストデータ10%) 、Text 30% (テキストデータ30%) 、Text 50% (テキストデータ50%) の4通りで比較し、それ以外の割合は音声・テキストペアデータで埋めています。 validation データ (訓練に使っていない音声・テキストペアデータ) の TTS loss (音声トークン生成において計算される loss) の推移を下図に示します。 横軸は学習ステップ数、縦軸は validation TTS loss で、値が低いほど音声生成の loss が小さいことを意味します。

このように、1Bではテキストデータを混ぜても TTS loss が改善されないことがわかります。 Text 50%まで混ぜると loss は大きく悪化しています。 1Bモデルにおいては、少なくとも今回試し、評価した範囲では「テキストを混ぜない方がよい」というのが結論となりました。
4-2. 3Bでの実験
では、3Bではどうでしょうか。 先ほどの1Bと同一の学習データ量の下、テキストデータの比率を、Text 0% (テキストデータなし) 、Text 10% (テキストデータ10%) 、Text 30% (テキストデータ30%) に変えて同様に比較しました。 また、1Bと同様に、テキスト以外の割合は音声・テキストペアデータで埋めています。 validation データの TTS loss をプロットしたものが以下です。

3Bの場合は、テキストデータを混ぜずに訓練すると validation データの TTS loss が徐々に悪化していきます。 一方で、テキストデータを混ぜると、validation データの TTS loss は下がり続けることが確認できます。
訓練データに対して1エポック (訓練データを1周分) しか学習を行っていないため、訓練サンプルを何度も反復したことによる典型的な overfitting とは性質が異なります。 また、validation データは訓練データとは異なるドメインの音声で構成されており、訓練ドメインから外れた音声に対する loss を測る役割を果たしています。 このことからテキストデータの混合がドメイン過適合の緩和に寄与していると解釈することができます。
3Bのモデルに対してJSUTコーパスの読み上げタスクでのCERを比較したものが以下です。
| カテゴリ | Text 0% | Text 10% | Text 30% |
|---|---|---|---|
| basic5000 | 11.86% | 11.15% | 11.62% |
| countersuffix26 | 59.41% | 53.41% | 61.05% |
| loanword128 | 15.35% | 16.23% | 16.97% |
| onomatopee300 | 10.97% | 11.04% | 11.86% |
| precedent130 | 13.43% | 11.43% | 11.14% |
| repeat500 | 13.36% | 13.08% | 13.58% |
| travel1000 | 10.61% | 8.57% | 8.93% |
| utparaphrase512 | 10.54% | 10.61% | 9.74% |
| voiceactress100 | 13.81% | 12.78% | 13.41% |
| 平均 | 11.94% | 11.15% | 11.55% |
validation loss での傾向と同様に、3Bモデルではテキストデータを10%混ぜたときに最もCERが低くなりました。 loss と CER の両指標で同じ傾向が確認できたため、3Bの事前学習では Text 10% を採用することにしました。
5. まとめ
本記事では、日本語音声基盤モデルの事前学習で我々が決めた3つの論点について述べました。 結論は以下の通りです。
- ベースLLM: 1B / 3B ともに Llama 3.2 の base モデル3 を採用し、NeuCodec の 65,536 トークンを語彙に追加した。インストラクション版との性能差はほぼなく、base を選んだ
- Token formulation: 今回の予備実験条件では、TTSタスクのみを訓練し、プロンプト部分も含めて loss を取る (TTS_prompt) のが最も平均 CER が低かった。ASR を併せたマルチタスクはむしろ悪化した
- 事前学習知識の忘却防止: 先行研究で有効性が支持されるテキストデータを混合する方針を採用し、3Bでの混合比率は本稿のTTS指標に基づいて10%とした
事前学習で得た基盤モデルの上に、どのように実用的な TTS 挙動を安定して載せていくかは、事後学習編で扱う予定です。
関連記事
- 概要編:日本語音声基盤モデルをスケーリングさせ、TTS性能を見てみる
- 前処理編:音声データを処理する前処理パイプラインと実行基盤を作った話
- 事前学習編:この記事
- 事後学習編:(後日公開予定)
参考文献
-
Tu Anh Nguyen et al., Spirit LM: Interleaved Spoken and Written Language Model, 2024. ↩︎
-
Zhen Ye et al., LLaSA: Scaling Train-Time and Test-Time Compute for LLaMA-based Speech Synthesis, 2025. ↩︎
-
Meta AI, Llama 3.2-1B / Llama 3.2-3B, 2024. ↩︎ ↩︎
-
Ryosuke Sonobe et al., JSUT corpus: free large-scale Japanese speech corpus for end-to-end speech synthesis, 2017. ↩︎
-
Siddhant Arora et al., On The Landscape of Spoken Language Models: A Comprehensive Survey, 2025. ↩︎
-
Wenzhen Zheng et al., Breaking Language Barriers: Cross-Lingual Continual Pre-Training at Scale, 2024. ↩︎