見出し画像

WSL2でJ-Moshiを試してみる

「英語における7Bパラメータのfull-duplex音声対話モデル Moshi をベースとし、日本語音声対話データでの追加学習によって構築。発話のオーバーラップや相槌など、人間同士の対話におけるような自然なターンテイキングをリアルタイムに実現」したらしいJ-Moshiを試してみます。

使用するPCはドスパラさんの「GALLERIA UL9C-R49」。スペックは
・CPU: Intel® Core™ i9-13900HX Processor
・Mem: 64 GB
・GPU: NVIDIA® GeForce RTX™ 4090 Laptop GPU(16GB)
・GPU: NVIDIA® GeForce RTX™ 4090 (24GB)
・OS: Ubuntu22.04 on WSL2(Windows 11)
です。


1. 準備

venv構築とパッケージのインストールのみです。

python3 -m venv moshi
cd $_
source bin/activate
#
pip install moshi

2. サーバ起動

J-Moshiモデルは、2種類公開されています。

今回は、j-moshi-extを使用します。コマンドラインはこちら。

CUDA_VISIBLE_DEVICES=0 python -m moshi.server --hf-repo nu-dialogue/j-moshi-ext

なお、VRAM 16GBですと以下のようにOOM発生しますので、

torch.OutOfMemoryError: CUDA out of memory. Tried to allocate 48.00 MiB. GPU 0 has a total capacity of 15.99 GiB of which 0 bytes is free. Including non-PyTorch memory, this process has 17179869184.00 GiB memory in use. Of the allocated memory 14.93 GiB is allocated by PyTorch, and 218.49 MiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True to avoid fragmentation. See documentation for Memory Management (https://pytorch.org/docs/stable/notes/cuda.html#environment-variables)

RTX 4090 (24GB) を使用して試しています。

以下は正常に実行されたときに出力されるログ。

[Info] loading mimi
[Info] mimi loaded
[Info] loading moshi
[Info] moshi loaded
[Info] warming up the model
[Info] retrieving the static content
[Info] serving static content from /home/shoji_noguchi/.cache/huggingface/hub/models--kyutai--moshi-artifacts/snapshots/8481e95f73827e4e70ac7311c12b0be099276182/dist
[Info] Access the Web UI directly at http://localhost:8998
======== Running on http://0.0.0.0:8998 ========
(Press CTRL+C to quit)

3. 試してみる

https://localhost:8998 にアクセスします。

https://localhost:8998

Connetボタンを押下すると、「マイクを使用しますか?」と尋ねてくるので、許可します。

許可!

すると画面が切り替わり、対話が始まります。画面の上にあるDisconnectボタンを押すと対話が終わります。

対話中

こんにちはーよいしょよいしょはいじゃあ早速ですけども今日はお昼ご飯は食べましたかまだだまだだそうなんですねじゃあそのかわり好きな食べ物は何かありますかおーいいですね今日は食べましたかおー何食べたんですかおおいいですねサンドイッチで何が入ってましたかおーいいですねトマトが好きですかそうですよねトマトは結構いい感じに人気出てますよね最近おいしいですよねおいしいですねなんかトマト好きですかおおいいですねトマトはなんかこう作ったりとかされてますか作らなくていいですねトマトね作ったら結構大変ですけどね意外とうまくなりますよそうそう結構ねソースとかにも合うんですよトマトってそうそうそうそうそうそうねっもうほんとにシンプルなんですけど意外とね作れるんでトマトジュースとか作りますよおいしいよトマトねトマトジュースが好きなんですけどねええええ今ねとん平らなんかすごい人気ですよトマトジュースとん平らですよトマトジュースっていうのがあるとん平らのトマトジュースですよ有名なとん平らのトマトジュースかな多分フフフフうん結構買って食べちゃうんですよねおいしいですよトマトのうんとん平らのトマトジュース

相手の発した言葉

対話が成り立っているんだか成り立ってないんだかの絶妙なラインが、現実もそうだよなと思いつつ。

なかなか面白いです。

いいなと思ったら応援しよう!