2025年1月24日、名古屋大学の研究者(大橋 厚元,飯塚 慎也,姜 菁菁,東中 竜一郎)が、日本語 full duplex(全二重)音声対話システム「J-moshi」を試作し、モデルをHugging Faceで公開しました。公開ありがとうございます。これはAITuberやデジタルサイネージ、電話応対など使い道がありそうです。「つくる人をつくる」AICU mediaでは実際に手を動かして、Google Colabでの動くコードと解説を共有いたします。
日本語Full-duplex音声対話システムの試作
大橋 厚元,飯塚 慎也,姜 菁菁,東中 竜一郎
名古屋大学 大学院情報学研究科
概要: 人間同士の対話における発話のオーバーラップや相槌など,同時双方向的な特徴をモデル化できるfull-duplex音声対話システムは,近年注目を集めている.しかし日本語においては,full-duplex音声対話システムはほとんど見られず,full-duplex音声対話システムの開発に関する知見は不足している.本研究では,英語における主要なfull-duplex音声対話システムであるMoshi[1] をベースとすることで,日本語で利用可能な最初のfull-duplex音声対話システム J-Moshi[2] を試作し,公開する.
本研究は,JSTムーンショット型研究開発事業 JPMJMS2011の支援を受けています。雑談対話コーパスおよび相談対話コーパスは 株式会社アイシン との共同研究において構築されたそうです。また本研究では名古屋大学のスーパーコンピュータ「不老」が利用されています。
学習では128基のNVIDIA V100 32GB GPUが使用されているそうです。
コードベースとしてはMoshiを利用し、そのコードベースを利用する形でHugging Face でモデルが公開されています。
https://huggingface.co/nu-dialogue/j-moshi-ext
J-MoshiはCC BY-NC 4.0の下で公開されており,研究目的での利用を想定しています.本モデルは,なりすましや詐欺など,いかなる悪意ある目的での使用も意図していません.また,本モデルの出力には,学習データに起因するバイアスや不正確もしくは攻撃的な情報が含まれる可能性があります.我々はその使用によって生じるいかなる損害についても責任を負いません.
J-Moshi のベースとなった MoshiはフランスのKyutaiという科学研究所が2024年9月に公開したものです。Moshi以外にも Mimi などの興味深い音声対話モデルを研究しています。
https://arxiv.org/abs/2410.00037
Check out this Japanese version of Moshi built on our pretrained models. すごいですね! https://t.co/0ONrdyPwnS
— kyutai (@kyutai_labs) January 24, 2025
もっとデモが見たい方は公式サイトへどうぞ。
https://nu-dialogue.github.io/j-moshi/
公開ありがとうございます!>名古屋大学 東中研究室
Google Colabで使ってみよう
さて「つくる人をつくる」AICUでは、実際に手を動かして検証してみるところが大事です。実行には24GB以上のVRAMを搭載したLinux GPUマシンが必要、とのことでGoogle ColabのL4環境をつかっていきます。
![画像](https://assets.st-note.com/img/1737734203-NhGczZHjVfba12JCLQ3l5p0k.png)
実際にGoogle Colabで動作確認したソースコードと解説は文末においておきます。とはいえ、結果的に必要なスクリプトは実に2行!でした。
!pip install moshi gradio
!python -m moshi.server --gradio-tunnel --hf-repo nu-dialogue/j-moshi-ext
mochiの原作コードにて提供されているサーバー、moshi.server に トンネルオプション[--gradio-tunnel]を指定すると、Google Colab側のPythonプログラムにトンネル経由で接続できます。
![画像](https://assets.st-note.com/img/1737735024-IMZh0KubiBlx7OQgET3DY2tA.png?width=1200)
表示された gradio.live のURLをクリックします。
![画像](https://assets.st-note.com/img/1737732817-1zl9W7YZNiGCjrsBpRXf3hnE.png?width=1200)
![画像](https://assets.st-note.com/img/1737732861-j4THskdJzNY67AMLGDeoVQ2S.png)
Moshi は実験的な会話型 AI です。
発言はすべて鵜呑みにしないでください。
会話は 5 分に制限されています。
Moshi は考えながら同時に話します。
Moshi はいつでも聞きながら話すことができます。
あなたと Moshi の間の流れが最大になります。
海賊のロールプレイをしたり、ラザニアの作り方を尋ねたり、最後に見た映画を尋ねたりしてください。
すべてのブラウザをサポートするよう努めていますが、Chrome が最も適しています。
@Kyutai と一緒に焼きました。<3
セッションを開始すると、旅行代理店のエージェントさんが旅行の相談に乗ってくれました。
J-Moshiの学習では,以下の音声対話コーパスを使用しました.また,これらデータに加え,J-Moshi-extの学習では,テキスト対話コーパスから音声合成された拡張データも使用しました.使用したコーパスは以下の通りです:
-
音声対話コーパス
-
雑談対話コーパス(内製)
-
相談対話コーパス(内製)
-
テキスト対話コーパス
はじめて J-moshi を起動してキョドる しらいはかせ @o_ob をどうぞお楽しみください。
— AICU (@AICUai) January 24, 2025
女性の声は nu-dialogue/j-moshi-ext による生成で、非常に高速に全二重会話らしきものが生成されていることがわかります。
(プツプツ切れているのは別の原因かも) pic.twitter.com/Q40yulRxIg
https://twitter.com/AICUai/status/1882828111504695649
会話は発話のオーバーラップや相槌など、人間同士の対話におけるような自然なターンテイキングをリアルタイムに実現していることが体験できます。J-Moshiの学習済みモデル(nu-dialogue/j-moshi-ext)だけで推論された全二重の会話が生成されています。LLMではないので知能的な反応ではありませんが相槌のリズムなどは非常に自然です。コードの提供いっさいなく、moshiにHuggingFaceのモデルをロードするだけで実現している点も評価できると考えます(論文は後日公開されるそうです)。これはAITuberや、お年寄り向けの対話エージェント、そして会話の前の「えーと…」といったフィラーの生成で、時間がかかる大規模な言語モデルとの連携などに活用できる可能性があり、大きな貢献となりそうです。
なおJ-Moshiが生成した音声のサンプルはこちらからご覧いただけます。
J-Moshiは試作段階であり,その応答は不自然な場合があります.また,J-Moshiの学習データの大部分は雑談対話であるため,ユーザの指示に従った応答を生成することはできません.
ログに表示されている opus (ブラウザの音声ストリーミング)の1サイクルの処理速度は84msecぐらいです。つまり秒11サイクルぐらいの速度でトークンを生成しています。
(むしろこの Info表示が負荷になっている感じです)
![画像](https://assets.st-note.com/img/1737733821-fHuFBDU4o8itjNhvSEYq5RMZ.png)
ローカル環境などで研究する場合、更に高速化したいならこちらの144行目をコメントアウトするといいかもしれませんね。
https://github.com/kyutai-labs/moshi/blob/main/moshi/moshi/server.py#L144
Google Colabの L4 GPUでの動作で、VRAMは17GBぐらい消費しています。
![画像](https://assets.st-note.com/img/1737734826-rVSYG0RENbdyDulQzcH1qsZa.png)
用途をデジタルサイネージなどに限定すれば、コンシューマGPUなどでも動くかもしれませんね。
これからも研究の発展を期待します!
本記事はAICU Japanしらいはかせが検証しました。
AICUマガジンVol.9に収録予定です。
以下は、Google Colabでの動作するコードです。
メンバーシップ向けに提供します。
この記事の続きはこちらから https://note.com/aicu/n/nc1b1a911caf4
Originally published at https://note.com on Jan 24, 2025.
Comments