《使用轻薄本也可以进行本地推理的全模态大模型 MiniMind-O 初体验》封面
SCENE / 001
全部文章CODE / 代码笔记

使用轻薄本也可以进行本地推理的全模态大模型 MiniMind-O 初体验

0.1B 参数的全模态模型,居然能在核显轻薄本上跑视频通话

#AI#本地推理
查看 GitHub 项目
本文目录
  1. 前言
  2. 我的设备情况
  3. 0.1B 究竟意味着什么
  4. 环境搭建过程
  5. PyTorch 版本踩坑
  6. 模型资源下载
  7. 推理体验
  8. 命令行模式
  9. Gradio Web UI
  10. 视频通话
  11. 图片分析能力测试
  12. 在轻薄本(核显)上跑的体验
  13. 一些主观感受
  14. 优点
  15. 缺点
  16. 总结
阅读记录0%
0%

前言

最近挖到了一个很有意思的开源项目:MiniMind-O,是 Jingyao Gong 做的一个全模态模型。

一开始看到 0.1B 参数的时候我是很意外的,但仔细一看发现它居然同时支持 文本、语音、图像 三种模态输入,输出 文本 + 流式语音,而且号称可以在消费级显卡上跑。本着试试的心态就折腾了一下 (´・ω・`)

结果确实有点东西。


我的设备情况

我只有一台笔记本,但这台笔记本通过 OCulink 外接了一张 RTX 5060

模式 CPU GPU 内存 说明
🖥️ 外接显卡 AMD Ryzen AI 9 H 365 (10核20线程) RTX 5060 8GB (Blackwell) 32GB OCulink 连接,CUDA 加速推理
💻 纯核显 AMD Ryzen AI 9 H 365 (10核20线程) AMD Radeon 880M (512MB) 32GB 拔掉外接显卡,只用笔记本自身核显

笔记本型号是机械革命无界系列。所以所谓的“核显也能跑”,是真的把外接显卡拔掉的效果。能在 880M 核显上跑通一个全模态模型的实时视频通话,确实挺意外的


0.1B 究竟意味着什么

现在市面上主流的大模型动辄 7B、13B、70B、甚至 671B… 0.1B(也就是 1 亿参数)放在里面基本上就是蝼蚁级别。

但 MiniMind-O 的巧妙之处在于它的架构设计:

主模型(Thinker + Talker):113M 参数
├── Thinker(语言核心):63.91M
├── Talker(语音生成):47.05M
├── 音频投影层:0.99M
└── 视觉投影层:1.18M

外挂编码器(冻结,不参与训练):
├── SenseVoice 语音编码器:234M
├── SigLIP2 视觉编码器:95M
└── Mimi 音频编解码器:96M

注意那些外挂编码器在推理时也是要加载到显存/内存里的,所以实际运行时总加载约 538M 参数…但还是很小。


环境搭建过程

PyTorch 版本踩坑

第一个坑就来了。RTX 5060 是 Blackwell 架构(sm_120),而 PyTorch 2.6 的 CUDA 内核只支持到 sm_90(Ada Lovelace)。装好之后根本跑不起来,报奇怪的 CUDA 错误。

查了一下需要升级到 PyTorch 2.7+cu128 或更高版本才能识别。我实际安装的是 PyTorch 2.11.0+cu128,完美支持。

pip uninstall torch torchvision torchaudio -y
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128

模型资源下载

整个项目需要下载的资源大概 1.6GB 左右,包括各种编码器和模型权重(227MB)。

model/
├── SenseVoiceSmall/    (447MB)  语音编码器
├── siglip2-base-p32-256-ve/ (180MB) 视觉编码器
├── mimi/               (183MB)  音频编解码器
├── campplus/           (13.5MB) 说话人编码器
├── speaker/            (内置音色)
└── vad/                (语音活动检测)

out/
├── sft_omni_768.pth    (227MB)  ← 主要权重
├── sft_omni_768_moe.pth (610MB) ← MoE 版本
├── llm_768.pth         (基座模型)
└── sft_zero_768.pth    (零阶段权重)

推理体验

命令行模式

最简单的测试方式就是跑一段命令行推理:

python eval_omni.py --load_from model --weight sft_omni --mode 0

默认会用英文问 7 个问题,模型会输出文本回答并生成对应的语音帧。

命令行推理的运行截图

文本回答的质量嘛…很符合 0.1B 的水平。句式重复、逻辑跳跃的问题都有,有时候前言不搭后语。但考虑到它的体量,能说出完整的英文句子已经不错了。

Gradio Web UI

然后试了 Gradio 版的 Web 界面:

python web_demo_omni.py --load_from ../ --port 8888

打开 http://localhost:8888 就能看到一个聊天界面。

Gradio 版的实时语音对话界面

支持文本、上传语音文件、上传图片,模型会回复文本 + 合成语音。还内置了 12 种音色可以切换。

视频通话

这个是我觉得最惊艳的部分 (`・ω・´)

项目还带了一个 Flask 版的 Web UI,支持实时视频通话:

cd webui
python web_demo.py --load_from ../ --port 7860

打开 http://localhost:7860/call,打开摄像头,按住说话键,模型就会实时捕捉视频画面 + 语音输入,然后通过语音回答你

Flask 版 Web 的视频通话界面,图中摄像头已开启

在轻薄本的 AMD 880M 核显 上居然也能跑起来,画面捕获和语音交互都很顺畅。一个 0.1B 的模型在核显上做视频通话,还挺魔幻的

图片分析能力测试

既然是全模态,那肯定要测测它的图片理解能力

测试一:初音未来 × JavaScript 海报

初音未来 JavaScript 宣传海报分析

输入了一张以初音未来为 IP 的 JavaScript 编程语言宣传海报,AI 生成的

结果嘛…它完全没认出来这是初音未来

后面就是大段重复的“VASCRITIONS”循环,句子结构也开始崩了

能看出模型大致抓到了画面内容(虽然人物、服装、姿势大都是错误的),细节全是错的——名字乱编、文字识别完全失败、而且有明显的句式重复和循环问题。毕竟 0.1B 的视觉理解能力就这样了 (´・ω・`)

测试二:Linux 作业截图

Linux 终端作业截图分析

这张明显好一些,能认出是终端界面、命令行操作,大概能描述出有人在执行命令。虽然具体的命令内容和输出描述的不正确,但至少方向对了。


在轻薄本(核显)上跑的体验

说实话一开始没抱太大期望。对我来说核显跑深度学习模型感觉拿自行车上高速 (´・_・`)

但实际跑下来:

  • 文本对话:毫无压力,秒回
  • 语音输入:1s 以内,基本感觉不到延迟
  • 图片问答:也是 1s 以内出结果
  • 视频通话:核显也能跑,画面实时捕获 + 语音流处理

说实话核显的性能表现比我想象中好很多。之前以为语音和图片处理要等好几秒,实际体验基本是秒出。

当然,因为模型本身很小,回答的“智商”确实有限。你问它人生的意义,它可能会给你一些看起来很合理但细想又很空洞的回答。

但关键在于:一个能在核显轻薄本上做实时视频通话的全模态模型,这件事本身就很有意义。


一些主观感受

优点

  • 硬件门槛极低:核显都能跑,几乎等于没有门槛
  • 全模态架构:文本、语音、图像三模态输入,文本 + 流式语音输出,设计完整
  • 搭建简单:跟着步骤半小时到一小时就能跑起来
  • 开源友好:代码风格清晰,全部 PyTorch 原生实现
  • 项目完整度:从训练到推理到 Web UI 一条龙,还有实时视频通话

缺点

  • 智商感人:0.1B 就是 0.1B,别指望它能帮你写代码或做复杂推理
  • 英文为主:虽然支持中英文,但训练数据偏英文,中文效果更弱
  • 语音质量一般:合成语音能听,但距离自然流畅还有差距
  • 视频交互响应速度一般:核显上有轻微延迟,但可用
  • 图片理解薄弱:对非自然图像(海报、二次元等)的理解有限

总的来说优缺点都很鲜明,毕竟 0.1B 的体量摆在那里,能做成这样已经很惊喜了 (`・ω・´)

总结

MiniMind-O 这个项目让我想起一个词——“螺蛳壳里做道场”。

0.1B 的参数规模,硬是把文本、语音、图像三种模态的输入揉到一起,还能输出文本 + 流式语音,在核显轻薄本上跑起来。虽然每个单项拿出来都不算强,但能在一个模型里同时做到这些,本身就是技术上很有意思的尝试。

对于想了解全模态模型的人来说,这是个很好的学习材料。毕竟能亲手在自己电脑上跑一个能看、能听、能说、能聊的模型,本身就是一件挺酷的事情。

另外,我计划后续用 RTX 5060 的 8GB 显存尝试跑一下主模型的训练,如果可行会再发一篇博客分享经验。感兴趣的可以关注一下 ( ´ ▽ ` )ノ

项目地址:https://github.com/jingyaogong/minimind-o

设备环境:AMD Ryzen AI 9 H 365 / 32GB 内存,通过 OCulink 外接 RTX 5060(8GB 显存),拔掉外接后回退至 AMD Radeon 880M 核显

READING / FOCUSOFF

留言

评论区暂未开放;可先通过 RSS 或「关于」页联系。

站内搜索

输入关键词开始搜索