jingyaogong/minimind-o
🎙️ A 0.1B Omni model trained from scratch, capable of listening, speaking, and seeing!
MiniMind‑O – 0.1 Bパラメータの超小型エンドツーエンドオムニモデル
何であるか – MiniMind‑Oはオープンソースのマルチモーダル(テキスト+音声+画像)モデルであり、これらの入力のいずれかを理解し、テキストとストリーミング音声の両方で応答できます。完全にPyTorchで実装された「Thinker → Talker」パイプライン(高レベルフレームワークの魔法なし)を備え、トレーニングスクリプト、データ、事前学習済み重み、デモインターフェースを同梱しています。
主な特徴(READMEに記載)
- オムニ機能 – 1つの重みファイルで3つの入力モダリティ(テキスト、音声、視覚)と2つの出力モダリティ(テキスト、リアルタイム音声)を処理します。
- 超小型のフットプリント – 基本モデル「minimind‑3o」は約113 Mの学習可能なパラメータ(≈0.1 B)です。MoEバージョン(≈315 M)も提供されています。これにより、miniデータセットでRTX‑3090 1台で約2時間でフルチェーントレーニングが可能になります。
- Thinker–Talker二重パスアーキテクチャ
- Thinker:マルチモーダル埋め込みを統合し、テキスト応答を生成するMiniMindトランスフォーマー。
- Talker:Thinkerの隠れ状態を条件として、MTP(Multi‑Token Prediction)により複数層のMimi音声コードを予測。コードはリアルタイムで24 kHz音声にデコードされ、バージンイン(割り込み)とニアデュプレックス相互作用を可能にします。
- モダリティプロジェクター – 冷却された外部エンコーダ(音声用:SenseVoice‑Small、視覚用:SigLIP‑2)が2層MLPプロジェクターに特徴を供給し、MiniMindの隠れ空間にマッピングします。
- ボイスクラウンニング&プロンプト – スピーカー埋め込み(CAM++)と参照音声コードを用いたコンテキスト内ボイスクラウンニング。実験用に5つの組み込みボイスプロンプトと7つの未確認プロンプトが提供されています。
- トレーニングデータ – 2つのバンドル:
- mini:英語のみの小規模サブセット。全パイプラインを約2時間で実行可能。
- full:公開された重みに使用された完全な多言語(中国語+英語)データセット。
- フルスタックコード – データロード(
train_sft_omni.py)から評価(eval_omni.py)まで、デモUI(Gradio Web UIとリアルタイム電話モードUI)までをカバー。 - 第三者の抽象化なし – コアレイヤーはすべてPyTorchテンソルで直接記述。HuggingFaceトークナイザーは利便性のため使用可能。
一般的な利用ケース
| シナリオ | MiniMind‑Oの役割 |
|---|---|
| 研究・教育 – オムニモデルがどのように構築・トレーニングされるかを学ぶ。 | 0.1 Bの最小モデル、完全なトレーニングスクリプト、1GPUで実行可能な小さなデータセットを提供。 |
| マルチモーダルアシスタントのプロトタイピング – テキストで会話、音声でモデルに話しかけ、画像を提示して音声で応答を得る。 | 提供されたCLI(eval_omni.py)またはGradio/WebUIを使用してリアルタイムでインタラクション可能。バージンイン対応。 |
| ボイススタイルの実験 – コンテキスト内ボイスクラウンニングをテスト、または異なるスピーカー埋め込みを比較。 | 組み込みのボイスプロンプト+任意の参照音声コードの供給が可能。 |
| 超小型オムニモデルのベンチマーク – より大きなオープンモデルと比較して、パラメータ効率、CER/WER、ボイスクラウンニング類似度を評価。 | 技術レポートに評価曲線、CER/WER数値、スピーカー類似性テーブルを掲載。 |
クイックスタート(READMEから)
- クローン&インストール
git clone --depth 1 https://github.com/jingyaogong/minimind-o cd minimind-o pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple - 必要なモデルとデータのダウンロード(ModelScopeまたはHuggingFace LFS)
modelscope download --model gongjy/SenseVoiceSmall --local_dir ./model/SenseVoiceSmall modelscope download --model gongjy/siglip2-base-p32-256-ve --local_dir ./model/siglip2-base-p32-256-ve modelscope download --model gongjy/mimi --local_dir ./model/mimi modelscope download --model gongjy/campplus --local_dir ./model/campplus modelscope download --model gongjy/minimind-3o-pytorch llm_768.pth --local_dir ./out # 基本LLM重み - 推論の実行(CLI例)
または Gradioデモを起動:python eval_omni.py --load_from model --weight sft_omnicp -r minimind-3o ./scripts/minimind-3o # トランスフォーマー形式の重みをコピー cd scripts && python web_demo_omni.py - miniデータセットでのトレーニング(1GPU例)
(以降の音声プロジェクターおよびフルパイプラインステップも同様のパターン)cd trainer CUDA_VISIBLE_DEVICES=0 torchrun --master_port 29560 --nproc_per_node 1 \ train_sft_omni.py --learning_rate 5e-4 \ --data_path ../dataset/sft_t2a_mini.parquet --epochs 1 \ --batch_size 40 --use_compile 1 --from_weight llm --save_weight sft_zero \ --max_seq_len 512 --use_wandb 0 --use_moe 0
もっと詳しく知りたい場合
- 技術レポート – arXiv: 2605.03937(READMEの上部にリンク)。
- モデル重み&コレクション – ModelScopeおよびHuggingFaceのMiniMind‑Oコレクション内。
- デモ動画&ライブGradioデモ – READMEにリンクあり。
- 関連プロジェクト – 基盤となるトランスフォーマーベースのMiniMind(LLM)およびMiniMind‑V(視覚言語)。
TL;DR
MiniMind‑Oは、ある程度のGPUを持つ誰でも、エンドツーエンドのマルチモーダルモデル(テキスト+音声+画像)を、完全にゼロからトレーニング可能または即時利用可能にします。その超小型の0.1 Bのフットプリント、オープンソースコード、およびバンドルされたデータにより、オムニモーダルAIの学習やプロトタイピングの実用的な入り口となっています。
関連
- プロジェクト
- プロジェクト
- Dispatch
- プロジェクト
- プロジェクト