References

源码与参考

这一页把学习 MiniMind-O 最常用的本地文件、在线资料和术语表集中到一起。读源码时可以常开这个页面当索引。

源码地图

文件建议关注学习问题
model/model_minimind.py`MiniMindConfig`、`MiniMindBlock`、`MiniMindForCausalLM`、MoE。语言模型主干如何实现?
model/model_omni.py`OmniConfig`、projector、`MiniMindOmni.forward`、`stream_generate`、`RealtimeSession`。多模态如何注入?Talker 如何生成 audio codes?
dataset/omni_dataset.pyParquet 字段、chat prompt、9 路 input_ids、audio labels。一个训练样本到底长什么样?
trainer/train_sft_omni.pycollate、text/audio loss、训练模式、DDP。训练循环如何同时优化文本和语音?
trainer/trainer_utils.py模型初始化、权重加载、checkpoint、学习率。从 LLM 权重到 Omni 权重如何衔接?
eval_omni.py模型加载、评估模式、Mimi 解码、样例组织。怎么快速验证各输入输出路径?
scripts/web_demo_omni.pyGradio demo、音色下拉、图像/音频输入。怎么做一个简单交互界面?
webui/web_demo.pyFlask/WebSocket、音色克隆、实时 VAD、barge-in。电话模式如何组织工程状态?
trainer/train.shmini/full dense/MoE 训练命令。推荐训练顺序是什么?

在线资料

术语表

术语解释
Thinker负责多模态理解和文本生成的 MiniMind 主干。
Talker负责把 Thinker 的语义条件渲染成 Mimi audio codes 的独立模块。
MTPMulti-Token Prediction,多 token 预测。这里指同时预测多层 codebook。
Mimi codesMimi codec 的离散音频表示,8 层 codebook 共同描述音频帧。
Projector把外部 encoder 的隐藏维度映射到 MiniMind hidden size 的 MLP。
Bridge layerThinker 中间层 hidden states,被 Talker 当作语义条件。
VADVoice Activity Detection,用来判断用户是否在说话。
Barge-in用户在模型说话时再次开口,系统中断当前回复并处理新输入。
CER/WER字符错误率/词错误率,常用于语音输出内容一致性评估。
Speaker embedding说话人向量,MiniMind-O 默认用 192 维条件控制音色。

常用命令速查

# 安装依赖
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

# 启动教程网站
python3 serve.py --port 8765

# 文本/语音/图像全模式评估
python eval_omni.py --load_from model --weight sft_omni --mode -1 --prompt_lang 2

# Gradio WebUI
cp -r minimind-3o ./scripts/minimind-3o
cd scripts && python web_demo_omni.py --port 8888

# mini 训练
cd trainer && bash train.sh

许可与引用

源项目使用 Apache-2.0 许可证。做公开复现、课程或博客时,建议引用 GitHub 仓库和技术报告,并标明模型、数据和权重来源。