🗣️

【Colabで動く】NVIDIAの次世代音声対話AI「PersonaPlex」を試してみた!技術解説&実装ガイド

に公開
2026/01/24
1件

【Colabで動く】NVIDIAの次世代音声対話AI「PersonaPlex」を試してみた!技術解説&実装ガイド

最近、音声対話AIの進化が止まりませんね。
でも、従来の音声AIを使っていて、こんな「もどかしさ」を感じたことはありませんか?

「こちらの発言が終わるのを待ってから……(沈黙)……やっと返事が来る」
「声やキャラを変えたいけど、決まったパターンしか選べない」

従来のシステムは 「音声認識(ASR) → テキスト生成(LLM) → 音声合成(TTS)」 というバケツリレー方式だったため、どうしても 遅延 や 会話のぎこちなさが発生していました。また、最近話題のフルデュプレックスモデル(KyutaiのMoshiなど)は、爆速な代わりに「声やキャラが固定」という制約がありました。

そこで登場したのが、NVIDIAの研究プロジェクトPersonaPlexです。
これはMoshiの爆速アーキテクチャをベースに、 「自由なキャラ設定(ペルソナ)」 を可能にした進化版モデルです。

今回は、この技術の深掘り解説と、実際に Google Colabで動かすまでの手順 をまとめて解説します!

https://research.nvidia.com/labs/adlr/personaplex/

PersonaPlex とは?:技術詳細解説

1. 「Moshi」の進化系:フルデュプレックス対話

PersonaPlexの基盤となっているのは、Kyutaiが開発した 「Moshi」 というアーキテクチャです。
最大の特徴は、人間と同じように 「相手の話を聞きながら、自分も話す」 ことができる点です。

特徴 従来の音声対話 PersonaPlex (Moshiベース)
処理フロー ASR → LLM → TTS(直列) 単一モデルで統合処理
会話のリズム ターン制(待ち時間あり) リアルタイム(割り込みOK)
キャラ制御 音声合成の設定変更のみ プロンプトで動的に変化

従来のパイプライン処理とは異なり、ユーザーの音声ストリームとエージェントの音声ストリームを 「Dual-stream Transformer」 で並列処理します。これにより、相槌を打ったり、話の途中で自然に割り込んだりといった、人間らしい挙動が可能になります。

https://arxiv.org/abs/2410.00037

2. 「ハイブリッド・プロンプティング」によるペルソナ制御

Moshiでは固定だった「人格」を、PersonaPlexでは以下の2つの入力で自在に制御できるようにしました。これを ハイブリッド・プロンプティング と呼びます。

  • 🔊 音声プロンプト (Voice Prompt)
    • わずか数秒の音声サンプルから、声質、話し方のスタイル、韻律(プロソディ)を抽出・適用します。
  • 📝 テキストプロンプト (Text Prompt)
    • 「あなたは冷静な宇宙飛行士です」「親切な銀行の窓口係です」といった役割や背景情報を自然言語で指示します。

この2つをモデル内部(MimiコーデックとHelium言語モデル)で統合することで、「指定した声で、指定した役割を演じながら、間髪入れずに喋る」 AIが実現しました。

3. 「リアル」と「合成」のいいとこ取り学習

なぜPersonaPlexはこれほど会話が自然なのか? その秘密は学習データにあります。

  • リアルな会話データ (Fisher English corpus):
    • 人間同士の電話会話データを使用。ここから「うんうん」「あー、なるほど」といった 相槌(バックチャネル) や、感情的な抑揚、割り込みのタイミングを学習しています。
  • 合成データ (Synthetic Data):
    • 最新のLLMを使って生成した、「架空のカスタマーサポート」などのタスク指向データ。これにより、業務的な指示や複雑な設定を正確に守る能力を強化しています。

この2つをブレンドして学習させることで、「人間のような自然なリズム」 と 「AIとしてのタスク遂行能力」 の両立に成功しています。NVIDIAのベンチマーク(FullDuplexBench)でも、ターン交代の滑らかさや遅延の少なさで高い評価を得ています。


⚠️ 重要:Hugging Face でのモデル利用条件

実装に入る前に一つだけハードルがあります。
PersonaPlexモデル(nvidia/personaplex-7b-v1)はHugging Faceで公開されていますが、利用規約への同意(Gate認証)が必須です。

  1. ページへアクセス:
    https://huggingface.co/nvidia/personaplex-7b-v1
  2. ログイン: Hugging Faceアカウントでログイン。
  3. 同意ボタン: モデルページの利用条件を確認し、「Agree(同意する)」をクリック。

承認されると、ご自身のアクセストークンを使ってモデルをダウンロードできるようになります。


Google Colab での実装手順

では、実際にColabで動かしてみましょう。
今回は、Colab上でサーバーを立ち上げ、ローカルPCのブラウザから音声対話ができる環境を構築します。

Step 1: リポジトリの取得とセットアップ

まずは必要なライブラリをインストールします。ベースとなっている moshi ライブラリもここで導入します。

# リポジトリのクローン
!git clone [https://github.com/NVIDIA/personaplex.git](https://github.com/NVIDIA/personaplex.git)
%cd personaplex/

# 依存ライブラリのインストール(moshi等を含む)
!pip install moshi/.

Step 2: Hugging Face へのログイン

先ほど同意したモデルをダウンロードするために、アクセストークンを使ってログインします。

from huggingface_hub import login

# ここにあなたのHugging Faceトークンを入力
hf_token = "hf_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" 
login(token=hf_token)

Step 3: Cloudflare Tunnel で外部公開

Colabの環境はそのままでは外部(あなたのPCのブラウザ)からアクセスしにくいため、Cloudflare Tunnelを使って一時的な公開URLを発行します。

import subprocess
import os
import time

# cloudflared のダウンロード
if not os.path.exists("cloudflared-linux-amd64"):
    !wget -q -nc [https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64](https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64)
    !chmod +x cloudflared-linux-amd64

# ログファイルの準備
log_file = open("tunnel_log.txt", "w")

# Tunnel の起動(ローカルの8998ポートを公開)
proc = subprocess.Popen(
    ["./cloudflared-linux-amd64", "tunnel", "--url", "http://localhost:8998", "--no-tls-verify"],
    stdout=log_file,
    stderr=log_file
)

# URLが表示されるまで少し待機してログを確認
time.sleep(5)
!grep -o 'https://.*\.trycloudflare.com' tunnel_log.txt | head -n 1

上記のコードを実行すると、https://xxxxx.trycloudflare.com という形式のURLが表示されます。これが対話画面への入り口です。

Step 4: サーバーの起動

最後に、バックエンドのMoshiサーバーを起動します。

# 一時的なSSLディレクトリを作成してサーバー起動
!SSL_DIR=$(mktemp -d); python -m moshi.server --ssl "$SSL_DIR" --port 8998

起動したら、Step 3で取得した CloudflareのURL にブラウザからアクセスしてみてください。


実行結果と感想

実際に試してみたところ、GPU付きのColabインスタンス上で無事にPersonaPlexが起動しました!

  • 爆速レスポンス: 自分が話し終わるか終わらないかのタイミングですぐに返答が来ます。
  • 割り込みOK: AIが話している最中にこちらが話すと、自然に止まったり、「Oh, sorry」と反応したりします。
  • キャラ変の楽しさ: UI上でシステムプロンプトを書き換えるだけで、即座に話し方や態度が変わるのが新鮮でした。

従来の「トランシーバー型(交代制)」の対話とは全く違う、「電話で話しているような感覚」 を体験できました。


まとめ

PersonaPlexは、音声対話AIの課題だった「遅延」と「不自然さ」を一気に解消する可能性を秘めたモデルです。

  • 1つのモデルで聴取と発話を統合(Full Duplex)
  • Moshiベースの高速性に、ペルソナ制御を追加
  • Colabでも手軽に実験可能

興味がある方は、ぜひHugging Faceで利用申請をして、次世代の対話AIに触れてみてください。

Discussion

Ryu|AI駆動開発ハッカーRyu|AI駆動開発ハッカー

参考になりました!
ちなみに、 Colabo の無料版(T4 GPU)では、メモリ不足で動かなかったです。。。
かなしみ

1