はじめに
MoshiVisはKyutai Labsによって開発され、GitHubでホストされているオープンソースプロジェクトです。MoshiVisはMoshi speech-to-textモデル(7Bパラメータ)をベースにしており、約2億600万個の新しい適応パラメータと、凍結されたPaliGemma2ビジュアルエンコーダ(400Mパラメータ)により、音声を使ってリアルタイムにユーザと画像コンテンツについて議論することができます。PyTorch、Rust、MLXのバックエンドをサポートしており、ユーザーはコードとモデルの重みを無料でダウンロードし、ローカルデバイスで実行することができる。このプロジェクトは開発者や研究者を対象としており、AIインタラクションの探求や新しいアプリケーションの開発に適している。
機能一覧
- リアルタイムの音声入出力をサポートし、ユーザーが話すとモデルは素早く反応する。
- 画像の内容を分析し、音声またはテキストで画像の詳細を説明する能力。
- PyTorch、Rust、MLXのバックエンドは、それぞれ異なるハードウェアに対応している。
- オープンソースのコードとモデルウェイトで、ユーザーが自由に変更できる。
- リアルタイム対話シナリオのための低遅延設計。
- メモリとパフォーマンスを最適化する定量化フォーマット(4ビット、8ビットなど)をサポート。
- 視覚情報と音声情報を融合するトランスアテンションメカニズムを内蔵。
ヘルプの使用
MoshiVisをインストールして使用するには、ある程度の技術的スキルが必要です。詳細な公式インストラクションが提供されており、以下はインストールと操作の完全ガイドです。
設置プロセス
MoshiVisは3つのバックエンドをサポートしており、ユーザーは自分のデバイスに適したバージョンを選ぶことができます。最小要件はPython 3.10+と十分なRAM(PyTorch版では24GBのGPUを推奨、MLX版はMacに最適)です。
PyTorchバックエンドのインストール
- 依存関係をインストールします:
pip install -U moshi
- モデルウエイトをダウンロードし、サービスを開始する:
cd kyuteye_pt
python -m moshi.server --hf-repo kyutai/moshika-vis-pytorch-bf16 --port 8088
- インタビュー
https://localhost:8088
ウェブインターフェイスに入る。 - リモートで実行する場合は、SSHを使ってポートを転送する必要がある:
ssh -L 8088:localhost:8088 user@remote
Rustバックエンドのインストール
- Rustツールチェーンをインストールする。
rustup
(アクセス)。 - GPUサポートを設定する(MacはMetal、NVIDIAはCUDA)。
- サービスを実行する:
cd kyuteye_rs
cargo run --features metal --bin moshi-backend -r -- --config configs/config-moshika-vis.json standalone --vis
- スタンドアロンワーカーリスニング "と表示されたら、次のページにアクセスしてください。
https://localhost:8088
. - オプションの定量化バージョン:
cargo run --features metal --bin moshi-backend -r -- --config configs/config-moshika-vis-q8.json standalone --vis
MLXバックエンドのインストール(Mac推奨)
- MLXの依存関係をインストールします:
pip install -U moshi_mlx
- スタートアップサービス(複数の定量化フォーマットに対応)
cd kyuteye_mlx
python -m moshi_mlx.server # 默认 BF16
python -m moshi_mlx.server -q 4 # 4 位量化
python -m moshi_mlx.server -q 8 # 8 位量化
- インタビュー
http://localhost:8008
ウェブインターフェースを使用する。
フロントエンドのインストール
- ビルド済みクライアントをダウンロードする:
pip install fire rich huggingface_hub
python scripts/get_static_client.py
- SSL証明書を生成する(HTTPS用):
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout key.pem -out cert.pem
- バックエンドはデフォルトでウェブインターフェースを提供しており、追加操作は必要ない。
主な機能
リアルタイム音声(RTV)ダイアログ
- 動くサービス開始後、ウェブ・インターフェイス(
https://localhost:8088
もしかしたらhttp://localhost:8008
).マイクのアイコンをクリックすると通話が始まります。 - 典型例こんにちは」と声をかけると、モデルが女性の声(Moshika)で「こんにちは、どうされましたか?.
- ポイントミリ秒という低遅延で、マイクの特権がオンになっていることを保証します。
- アダプトRustバージョンはコマンドラインインターフェイスをサポートしています:
cd kyuteye_rs
cargo run --bin moshi-cli -r -- tui --host localhost
図形理解
- 動くウェブインターフェースで画像をアップロードするか、コマンドラインでパスを指定します:
python -m moshi_mlx.server -q 8 --image path/to/image.jpg
- リグアップロードして、"これは何ですか?"と言う。モデルはそれを音声で説明する。例えば「白い雲がある青い空の写真です」。
- 性格描写PaliGemma2エンコーダーをベースに、物体、色、シーンを認識します。
モデルのカスタマイズ
- 動くハギング・フェイスの他のウェイトをダウンロードする。
kyutai/moshika-vis-mlx-bf16
)、コンフィギュレーション・ファイルのパスを置き換える。 - リグ修正
configs/moshika-vis.yaml
もしかしたらconfig-moshika-vis.json
サービスを再起動する。 - 使用声のスタイルを調整したり、パフォーマンスを最適化します。
完全な操作手順
- バックエンドの選択デバイスに応じて、PyTorch(GPU)、Rust(クロスプラットフォーム)、MLX(Mac)を選んでください。
- インストール環境上記のコマンドに従って、依存関係とモデルをインストールします。
- サービス開始バックエンドを実行し、サービスの準備が整うのを待つ。
- 接続インターフェースブラウザで指定したポートにアクセスする。
- テスト音声簡単な文章を言い、反応をチェックする。
- テスト画像写真をアップロードしたり、音声で質問することができます。
- 最適化設定定量化パラメータの調整
-q 4
もしかしたら-q 8
またはポート番号)。
ほら
- HTTPSにはSSL証明書が必要です。そうでない場合、ブラウザがマイクのアクセスを制限することがあります。
- 定量化はPyTorchではサポートされておらず、高性能GPUが必要です。
- Rustバージョンはコンパイルに時間がかかるので、初めて実行するときは忍耐強く。
- MLXバージョンはM3 MacBook Proで安定した動作が確認されています。
アプリケーションシナリオ
- 教育支援
生徒が教科書の画像をアップロードすると、MoshiVisが音声で内容を説明する。例えば、「これは細胞の構造の図で、核とミトコンドリアが示されています。 - アクセシビリティ支援
視覚障害のあるユーザーは、「これは牛乳とパンでいっぱいのスーパーマーケットの棚です」と説明するモデルの写真を毎日アップロードしている。 - 開発実験
開発者は、画像インタラクションのためにスマートデバイスに統合される音声アシスタントを構築するためにこれを使用する。
品質保証
- MoshiVisはオフラインでの使用に対応していますか?
はい。一度インストールすれば、インターネットに接続することなく、すべての機能がローカルで動作します。 - Voiceは多言語に対応していますか?
現在、主に英語のダイアログと説明をサポートしており、他の言語での機能は限られています。 - 薄型のコンピューターは使えますか?
MLXバージョンは通常のMacで動作し、PyTorchバージョンは24GBのGPUメモリを必要とする。