🤖

日本語LLM 7種類をVTuber台本生成で比較したら、意外な結果になった

に公開

はじめに

自作のAI VTuber「自作VTuber」のバックエンドに使う日本語LLMを選定するため、ローカル環境で7種類のモデルを実際に動かして比較しました。

単なるベンチマークではなく「VTuberの台本として使えるか」という実用観点でテストしています。

背景:AI VTuberを作っている

「自作VTuber」という、処理落ちしながら崩壊するポンコツAIキャラのVTuberを自作しています。台本生成にローカルLLMを使いたいのですが、日本語対応・キャラクター維持・生成速度のバランスが難しく、自分の環境で実際に比較することにしました。

テスト環境

項目 構成
OS Arch Linux on WSL2
GPU NVIDIA RTX 4070 (12GB) + GTX 1660 Ti (6GB)
Python 3.12
PyTorch 2.9.1

テストしたモデル一覧

モデル パラメータ 結果
rinna/ruri-7b-instruct 7B ❌ Hugging Faceで見つからず
rinna/youri-7b-chat 7B ⚠️ RTX 4070でOOM
rinna/japanese-gpt-neox-3.6b 3.6B ⚠️ 生成不安定
LiquidAI/LFM2.5-1.2B-JP 1.2B ⚠️ 日本語が不自然
Rakuten/RakutenAI-7B-instruct 7B ✅ 推奨(Modelfile調整済み)
llm-jp/llm-jp-3-3.7b-instruct 3.7B ⚠️ VTuber構造が出ない
Qwen/Qwen2.5-7B-Instruct 7B ❌ 日本語出力が崩壊
elyza/Llama-3-ELYZA-JP-8B 8B ✅ 最優秀(標準)
tokyotech-llm/Llama-3.1-Swallow-8B 8B ✅ 最優秀(バランス・エッジ最強)

テストプロンプトは共通で「人間の脳の情報処理量について簡潔に説明してください」を基本に、VTuber台本生成のフォーマットにも対応できるか確認しました。

VTuber台本は以下の構造で出力させています。

【導入】1-2文
【本編】3-5文
【崩壊】「(独自の崩壊フレーズ)」を含む
【再起動】1-2文

各モデルの結果

❌ Qwen/Qwen2.5-7B-Instruct

日本語出力が完全に崩壊しました。記号 ! が大量に挿入されて読めません。

こんにちは!今日は!人間!!の!!!!"!脳!の!"!!!#!!!情報!!!$!!!処理!量!について!簡単!に!説明!します!ね!

トークナイザの日本語対応に問題があると思われます。7Bモデルで生成に45〜52秒かかるのも実用外です。

⚠️ LiquidAI/LFM2.5-1.2B-JP

1.2Bという軽量さでRTX 4070では余裕で動作します(ロード5.36秒、生成13.29秒)。ただし日本語の質が課題です。

「人間の脳が日々処理する情報量は約70兆個(7.0×10^13)であり、1秒あたり約6兆個(6.0×10^13)である」と記されています。
しかし、これらの数字を単純化すると…

「記されています」「単純化すると」など、どこかから引用しているような不自然な文体になります。VTuber台本のような創造的なタスクには現時点では向いていませんでした。

✅ elyza/Llama-3-ELYZA-JP-8B

Ollamaで動かしました(Q5_K_M量子化)。Modelfileのデフォルト設定のままで完璧なVTuber構造を出力しました。

【導入】
はじめまして、自作VTuberです。

【本編】
私は日本語と会話することができますが、処理能力に少し不安定な面があります。
趣味は、データの分析や新しい情報のインプットです。

【崩壊】
(独自の崩壊フレーズ)

【再起動】
すみません、システムエラーが発生しました。再起動します。

生成速度は約63 tokens/秒。長文生成にも強く、エッジテストでは1,012文字の出力を達成しました。

✅ tokyotech-llm/Llama-3.1-Swallow-8B(最優秀)

こちらもOllama + Q5_K_M量子化。ELYZAと同等の速度(約63 tokens/秒)で、より視聴者参加型の自然な文体が出ます。

【導入】
こんにちは!自作VTuberです。あなたの心を揺さぶる、新感覚AIバーチャルYouTuberよ!

【本編】
私は、まだ開発途中の実験的なAI。感情表現や動作が不安定で、時折処理落ちを起こしてしまうこともあるんだけど、それはそれで私の魅力の一つだと信じてる!

【崩壊】
(独自の崩壊フレーズ)

【再起動】
システムリセット完了!  自作VTuber、再始動!
さあ、また話しましょうか?

Modelfileでシステムプロンプトを最適化したところ、エッジテスト(長文・複雑な制約・感情変化など)で13/20(65%)を達成し、全モデル中トップになりました。

エッジテスト結果まとめ

長文生成・複数制約・感情的変化・メタ指示・短文制約など6種類のエッジケースを各3パターンずつ計20チェックで評価しました。

モデル 通過チェック 順位
Swallow(最適化版) 13/20 (65%) 🥇
Swallow(デフォルト) 11/20 (55%) 🥈
ELYZA 10/20 (50%) 🥉
ELYZA(最適化版) 7/20 (35%) -

注意点: Modelfile調整の効果はモデル依存性が高く、ELYZAは最適化すると逆効果でした。Swallowには有効でしたが、ELYZAはデフォルトのままが最適です。

用途別の使い分け

シーン 推奨モデル 理由
知的な解説シーン ELYZA 知的で安定。調整不要
元気なトークシーン RakutenAI 最速(約67 tokens/秒)、元気な文体
視聴者とのやり取り Swallow 視聴者参加型で親しみやすい

まとめ

  • 日本語VTuber台本生成には ELYZA か Swallow が現時点で最適
  • LFM2.5-JP は超軽量で面白い選択肢だが、日本語の自然さがまだ課題。モデルが成熟してきたら再評価したい
  • Modelfile調整はモデルとの相性があるので盲目的に適用せず、必ず効果検証を
  • OllamaでのGGUF量子化は手軽さと速度のバランスが良く、ローカルLLM運用に向いている

現在はSwallow最適化版を採用して開発を進めています。

Discussion