ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

MiniMind-O:如何从0训练一个0.1B能听、能看、能说的端到端Omni多模态模型(完整指南)

MiniMind-O:如何从0训练一个0.1B能听、能看、能说的端到端Omni多模态模型(完整指南) MiniMind-O如何从0训练一个0.1B能听、能看、能说的端到端Omni多模态模型完整指南【免费下载链接】minimind-o️ A 0.1B Omni model trained from scratch, capable of listening, speaking, and seeing!项目地址: https://gitcode.com/gh_mirrors/mi/minimind-oMiniMind-O 是一个从 0 训练、完全开源的 0.1B 端到端 Omni 多模态模型单一权重同时支持文本 / 语音 / 图像三模态输入输出文本 流式语音。它的代码、权重、训练数据和技术报告全部公开普通个人 GPU单张 RTX 3090约 2 小时即可跑通 mini 数据集的完整训练链路CPU 也能快速推理。这篇文章带你走一遍跑通推理 → 看懂架构 → 从 0 训练 → 实时对话的全过程。 本篇路线图步骤内容大致耗时第 1 步快速开始3 步跑通推理约 10 分钟第 2 步架构总览Thinker 与 Talker 如何分工约 5 分钟第 3 步训练流程单卡 2 小时跑通全链路mini 约 2h第 4 步效果体验语音对话、图像问答、实时打断约 5 分钟 快速开始如何三步跑通 Omni 模型推理对于新手先看效果再谈训练是最省心的路径。MiniMind-O 的推理门槛很低三步即可上手。第一步克隆仓库并安装依赖git clone https://gitcode.com/gh_mirrors/mi/minimind-o cd minimind-o pip install -r requirements.txt依赖清单见 requirements.txt环境参考配置Ubuntu 20.04 CUDA 12.2 Python 3.10。第二步下载发布权重使用modelscopeCLI 将minimind-3o发布权重下载到./out目录README 中还列出了 SenseVoice-Small 语音编码器、SigLIP2 视觉编码器、Mimi 音频编解码器等组件的下载命令详见 README.md 的快速开始一节。第三步命令行问答python eval_omni.py --load_from model --weight sft_omnieval_omni.py 是官方命令行入口支持文本、语音、图像输入与流式语音输出。想体验实时语音通话VAD 监听、barge-in 打断、电话模式可以启动实时 WebUIpython webui/web_demo.py其中 webui/web_demo.py 是实时通话界面而 scripts/web_demo_omni.py 是 Gradio 非实时演示适合上传音频/图片做单轮问答。️ 0.1B Omni 模型架构总览Thinker 和 Talker 怎么分工理解 MiniMind-O 的关键是它的Thinker–Talker 双路径设计——不是把 ASR → LLM → TTS 三级串联而是让语音和文本在隐状态层面直接连通Thinker理解8 层 MiniMind Transformer 主干统一接收文本 token、语音特征、图像特征生成语义层面的回复Talker发声4 层独立 Transformer 8 路 codebook head采用MTPMulti-Token Prediction一次预测多层 Mimi audio codes交给 Mimi 解码器增量还原出 24 kHz 流式波形中间层 BridgeTalker 拿到的语义条件取自 Thinker 中间层默认num_hidden_layers // 2 - 1而非 embedding 或最后一层这是兼顾语义丰富度与避免被 LM head 过度塑形的折中。语音与图像进入主干前分别由冻结的SenseVoice-Small语音编码器和SigLIP2视觉编码器提取特征再通过两层 MLP projectormodel/model_omni.py 中的MMAudioProjector/MMVisionProjector注入隐空间音色条件则由 CAM 说话人编码器以 in-context 方式提供实现免微调的音色克隆。整个模型的可训练主体约113Mdense/315M-A115MMoE加上冻结的外部编码器、编解码器后运行时总加载约 538M——这就是0.1B的来历也是它能在单卡上训练的根本原因。️ 训练流程如何一步步从 0 训练完整链路MiniMind-O 的训练策略是按数据流逐步接入能力共三个阶段与训练数据一一对应阶段数据任务训练重点Ⅰsft_t2a文本 → 语音T2A让 Talker 在语义条件下生成 Mimi codesⅡsft_a2a语音 → 语音A2A接入语音输入对齐音频投影层Ⅲsft_i2t图像 → 文本I2T对齐视觉路径只更新 vision projector完整管线含 mini / full / MoE 多种组合都写在 trainer/train.sh训练入口是 trainer/train_sft_omni.py支持all/audio_proj/vision_proj三种模式与 DDP 多卡。mini 入门管线单卡 3090 约 2 小时仓库提供 mini 与 full 两套数据。mini 从 full 中筛出英文 无视觉子集T2A 约 470 小时 A2A 约 130 小时目标是低成本验证整条链路三步命令如下在trainer/目录下执行cd trainer bash train.sh三步分别对应T2A 全参微调 → A2A 音频投影层对齐 → A2A 小学习率全参精调。full 数据中英 T2A 约 1636h、A2A 约 2135h、图像 I2T则与发布的minimind-3o/minimind-3o-moe权重对应参考 4 卡管线约需数天。数据加载逻辑见 dataset/omni_dataset.py仓库内 dataset/eval_omni/ 目录还提供了中英文语音问答与图像评测样例。看曲线T2A 与 A2A 阶段的 loss 收敛情况下面是 full 训练过程中的参考曲线。T2A 阶段文本与语音 loss 均快速下降并趋于平稳A2A 阶段接入语音输入后loss 波动更大中英混合数据 更长序列但仍稳定收敛 小贴士MoE 版本总参数更多但激活参数与 dense 接近CER 表现与 dense 持平更适合作为容量如何分配的实验对照。️ 效果体验语音对话与图像长什么样训练或下载权重后可以直观感受两类核心能力。语音到语音A2A真实语音输入 → Thinker 组织语义 → Talker 渲染语音输出。中英短回答连贯稳定图像到语音I2A把视觉编码、文本生成和语音渲染串在同一条链路里模型能抓住主体物体和大致场景音色克隆方面模型内置 5 个 voice promptdylan / eric / serena / uncle_fu / vivian并支持用任意参考音频做 zero-shot 克隆参考音色与说话人 embedding 存放于 model/speaker/voices.pt 与 model/speaker/voice_clone.pt。推理时只需替换音色条件Thinker prompt 与 Talker 权重均不变。⚡ 流式交互序列格式与实时打断是如何实现的MiniMind-O 的实用感来自流式与打断能力。从时序图看用户说完turn end后约140 ms首个文本 token 出来TTFT260 ms左右首个音频帧可播TTFA整个回答边生成边播放当用户在模型说话时再次开口VAD 检测到语音后系统会 abort 当前生成、退回 listening 状态并重新 prefill这就是 barge-in实时打断形成近似双工对话。实时交互界面实际效果如下 项目结构与关键文件速查模块路径作用Omni 核心模型model/model_omni.pyOmniConfig配置、Thinker/Talker 与 MTP audio head 实现语言主干model/model_minimind.pyMiniMind TransformerRoPE / GQA / RMSNorm训练脚本trainer/train_sft_omni.pySFT 全链路训练入口T2A/A2A/I2T、多模式、DDP推荐管线trainer/train.shmini / full / MoE 各档训练命令命令行推理eval_omni.py文本/语音/图像问答 流式播放实时 WebUIwebui/web_demo.pyVAD 监听、电话模式、打断非实时演示scripts/web_demo_omni.pyGradio 上传式演示数据集工具dataset/omni_dataset.pyparquet 训练数据加载与预处理✅ 写在最后MiniMind-O 的价值不在刷榜而在于把一个完整的 Omni 闭环——多模态理解、MTP 语音生成、流式解码、实时打断、音色克隆——压进了 0.1B 量级并且每一行核心算法都是 PyTorch 原生实现没有三方高层封装。这意味着你可以从第一行代码读起单卡就能动手复现和改造是学习端到端语音多模态模型最友好的开源起点之一。如果你想进一步动手先跑通 mini 训练链路再对照 README.md 中的技术报告章节调整bridge_layer、Talker hidden size 或 codebook 接口即可体验完整的从 0 训练一个能听、能看、能说的模型之旅。【免费下载链接】minimind-o️ A 0.1B Omni model trained from scratch, capable of listening, speaking, and seeing!项目地址: https://gitcode.com/gh_mirrors/mi/minimind-o创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表