MGM-Omni: 探索开源全模态聊天机器人

你好!如果你对人工智能聊天机器人感兴趣,尤其是那些能处理多种类型输入和输出的模型,我今天想和你聊聊MGM-Omni。这是一个开源的全模态聊天机器人,能处理文本、图像、视频和语音输入,还能生成文本和语音响应。它基于MiniGemini和MiniGemini v2(Lyra),支持长形式语音理解和生成,以及中英文的声音克隆。想象一下,你可以用它来处理小时级的语音文件,或者生成超过10分钟的自然语音故事——这在开源模型中并不常见。

MGM-Omni Banner

我们一起来深入了解一下这个项目吧。我会一步步解释它的功能、安装和使用方式,就像我们在面对面讨论一样。如果你有疑问,比如“MGM-Omni能做什么?”或者“怎么安装它?”,我会尽量提前回答这些常见问题。

MGM-Omni是什么?

MGM-Omni是一个开源的全模态聊天机器人,意思是说它能同时处理多种模态的输入和输出。简单来说,它不只是文本聊天工具,还能理解图像、视频和语音,甚至生成语音回复。这让它成为一个多功能的AI助手,适合各种场景,比如教育、娱乐或日常对话。

这个模型基于之前的项目MiniGemini和Lyra开发而成。MiniGemini专注于多模态视觉语言模型,而Lyra则是一个高效的、以语音为中心的全认知框架。MGM-Omni结合了这些优势,支持长上下文理解,比如处理长达一小时的语音输入,而大多数开源多模态模型只能处理15分钟以内的内容。

为什么这很重要?因为在实际应用中,我们常常遇到长音频,比如会议录音或故事讲述。MGM-Omni在理解整体内容和细节方面表现出色,能提供更好的性能。

此外,它还能生成长形式语音,比如超过10分钟的连续故事讲述。这得益于大量的训练数据和一种叫Chunk-Based Decoding的智能解码方法,确保生成的语音流畅自然。

另一个亮点是流式生成:通过并行解码语音令牌,它能高效产生流式音频,适合实时对话。

零样本声音克隆也是一个实用功能。你只需提供一段大约10秒的短录音,就能克隆出类似的声音,支持中英文。

最重要的是,一切都是完全开源的:代码、模型和训练数据都会发布。这意味着你可以自由修改和使用它,而不用担心版权问题。

相关项目有哪些?

MGM-Omni不是从零开始的,它借鉴了几个相关项目。如果你好奇这些项目是什么,我来列一下:

  • Mini-Gemini:这是一个多模态视觉语言模型的项目,专注于挖掘视觉和语言的潜力。你可以查看他们的GitHub仓库:Mini-Gemini
  • Lyra:一个高效的、以语音为中心的全认知框架。详情见:Lyra

这些项目为MGM-Omni提供了坚实的基础,如果你对多模态AI感兴趣,不妨去探索一下。

MGM-Omni的主要特性

现在,我们来聊聊MGM-Omni的核心特性。这些是它区别于其他开源聊天机器人的地方。我会用列表形式列出来,便于你快速浏览。

  1. 全模态支持:它能处理音频、视频、图像和文本输入,理解长上下文,并生成文本或语音输出。这使得它成为一个真正多功能的AI助手,能应对复杂场景。

  2. 长形式语音理解:不同于大多数开源多模态模型(它们通常在15分钟输入后就失效),MGM-Omni能处理小时级的语音输入,并在整体和细节理解上表现出色。

  3. 长形式语音生成:通过丰富的训练数据和Chunk-Based Decoding方法,它能生成超过10分钟的流畅、自然语音,适合连续讲述故事。

  4. 流式生成:采用并行解码语音令牌的方式,实现高效、平滑的流式音频输出,适用于实时对话。

  5. 零样本声音克隆:基于广泛的音频训练数据,你只需提供一段短录音(约10秒),就能克隆出自定义声音,支持中英文。

  6. 完全开源:所有代码、模型和训练数据都会发布,让开发者可以自由使用和扩展。

这些特性让MGM-Omni在开源全模态聊天机器人领域脱颖而出。如果你想知道它在实际中的表现,我们稍后会看评估数据。

最新动态

项目团队在2025年8月18日发布了MGM-Omni,包括博客文章、演示、模型和代码。更多代码和数据将在后续发布。如果你想第一时间体验,可以访问他们的博客演示模型集合代码仓库

未来计划

项目还有一些待办事项,包括:

  • 发布Arxiv预印本。
  • 发布训练和微调代码。
  • 发布训练数据。

这些更新会让项目更完整,如果你计划参与开发,值得关注。

如何安装MGM-Omni?

安装过程很简单,我会一步步指导你,就像教朋友一样。假设你有基本的Python知识(适合专科毕业生),我们用Conda环境来管理。

步骤1: 克隆仓库

首先,从GitHub克隆项目:

git clone https://github.com/dvlab-research/MGM-Omni.git

这会下载所有必要的文件。

步骤2: 创建并激活环境

用Conda创建一个新的Python 3.10环境:

conda create -n mgm-omni python=3.10 -y
conda activate mgm-omni

然后进入项目目录:

cd MGM-Omni

步骤3: 更新子模块和安装依赖

初始化子模块:

git submodule update --init --recursive

升级pip并安装包:

pip install --upgrade pip
pip install -e .

就这样,安装完成了!如果遇到问题,比如依赖冲突,确保你的Conda是最新的。

如何使用MGM-Omni?

使用MGM-Omni有几种方式,取决于你想做什么:声音克隆、文本聊天、带视觉输入的聊天,还是多模态输入。我会分别解释,每种都附上命令示例。

零样本声音克隆

如果你想生成类似参考音频的声音,这是最简单的起点。

运行命令:

python -m mgm.serve.cli_tts \
--model wcy1122/MGM-Omni-TTS-2B \
--ref-audio assets/ref_audio/Man_EN.wav

如果你有参考音频的准确转录文本,可以添加--ref-audio-text参数来提升精度;否则,它会自动用Whisper-large-v3转录。

这适合创建自定义声音,比如为故事配音。

作为全模态聊天机器人聊天

MGM-Omni的核心是聊天功能,支持多种输入。

只用文本输入聊天

基本命令:

python -m mgm.serve.cli \
--model wcy1122/MGM-Omni-7B \
--speechlm wcy1122/MGM-Omni-TTS-2B

如果你想用特定声音回复,添加--ref-audio和可选的--ref-audio-text

这就像和AI聊天,但能生成语音输出。

带视觉输入聊天

添加图像文件:

python -m mgm.serve.cli \
--model wcy1122/MGM-Omni-7B \
--speechlm wcy1122/MGM-Omni-TTS-2B \
--image-file assets/examples/ronaldo.jpg

类似地,用--video-file添加视频输入,或--audio-file添加音频输入。

多模态输入聊天

结合多种输入:

python -m mgm.serve.cli \
--model wcy1122/MGM-Omni-7B \
--speechlm wcy1122/MGM-Omni-TTS-2B \
--image-file assets/examples/ronaldo.jpg \
--audio-file assets/examples/instruct.wav

你可以用多个--image-file--video-file--audio-file来添加更多文件。

启动本地Gradio演示

想用图形界面试试?运行:

python -m mgm.serve.web_demo \
--model wcy1122/MGM-Omni-7B \
--speechlm wcy1122/MGM-Omni-TTS-2B

这会启动一个本地Web演示,便于交互。

这些命令都是基于项目提供的,确保你的环境正确安装了模型(从Hugging Face下载)。

MGM-Omni的性能评估

评估数据能帮你了解模型的实际表现。我们来看看在语音理解、音频理解和语音生成方面的结果。这些是基于标准基准测试的。

语音和音频理解

首先是WER(词错误率)和CER(字符错误率)在语音理解上的结果。LS指LibriSpeech,CM指Common Voice。

Model Date LS-clean↓ LS-other↓ CM-EN↓ CM-ZH↓ AISHELL↓
Mini-Omni2 2024-11 4.7 9.4
Lyra 2024-12 2.0 4.0
VITA-1.5 2025-01 3.4 7.5 2.2
Qwen2.5-Omni 2025-03 1.6 3.5 7.6 5.2
Ola 2025-06 1.9 4.3
MGM-Omni-7B 2025-08 1.7 3.6 8.8 4.5 1.9
MGM-Omni-32B 2025-08 1.5 3.2 8.0 4.0 1.8

MGM-Omni-32B在大多数指标上领先,显示出在长语音理解上的优势。

接下来是AIR-Bench Chat上的评估,包括语音、声音、音乐和混合。

Model Date Speech↑ Sound↑ Music↑ Mix↑ Average↑
LLaMA-Omni 2024-08 5.2 5.3 4.3 4.0 4.7
Mini-Omni2 2024-11 3.6 3.5 2.6 3.1 3.2
IXC2.5-OmniLive 2024-12 1.6 1.8 1.7 1.6 1.7
VITA-1.5 2025-01 4.8 5.5 4.9 2.9 4.5
Qwen2.5-Omni 2025-03 6.8 5.7 4.8 5.4 5.7
Ola 2025-06 7.3 6.4 5.9 6.0 6.4
MGM-Omni-7B 2025-08 7.3 6.5 6.3 6.1 6.5
MGM-Omni-32B 2025-08 7.1 6.5 6.2 6.2 6.5

MGM-Omni在平均分上达到6.5,特别是在声音和音乐理解上表现出色。

语音生成

在seed-tts-eval基准上的结果,CER和WER越低越好,SS(相似度分数)越高越好。

Model Date Model Size CER↓ SS(ZH)↑ WER↓ SS(EN)↑
CosyVoice2 2024-12 0.5B 1.45 0.748 2.57 0.652
Qwen2.5-Omni-3B 2025-03 0.5B 1.58 0.744 2.51 0.635
Qwen2.5-Omni-7B 2025-03 2B 1.42 0.754 2.33 0.641
MOSS-TTSD-v0 2025-06 2B 2.18 0.594 2.46 0.476
HiggsAudio-v2 2025-07 6B 1.66 0.743 2.44 0.677
MGM-Omni 2025-08 0.6B 1.49 0.749 2.54 0.670
MGM-Omni 2025-08 2B 1.38 0.753 2.28 0.682
MGM-Omni 2025-08 4B 1.34 0.756 2.22 0.684

MGM-Omni的4B版本在所有指标上领先,显示出在语音生成上的强劲性能。对于Qwen2.5-Omni,模型大小指talker的大小。

这些数据表明,MGM-Omni在开源全模态模型中是顶尖的,尤其在长形式处理上。

演示示例

项目提供了博客中的一些例子,展示MGM-Omni的实际效果。如果你想自己试试,访问Web演示

如何引用MGM-Omni?

如果你在研究中使用这个项目,建议引用以下工作:

@misc{wang2025mgmomni,
  title={MGM-Omni: An Open-source Omni Chatbot},
  author={Wang, Chengyao and Zhong, Zhisheng and Peng, Bohao and Yang, Senqiao and Liu, Yuqi and Yu, Bei and Jia, Jiaya},
  year={2025},
  howpublished={\url{https://mgm-omni.notion.site}},
  note={Notion Blog}
}

@inproceedings{zhong2025lyra,
  title={Lyra: An Efficient and Speech-Centric Framework for Omni-Cognition},
  author={Zhong, Zhingsheng and Wang, Chengyao and Liu, Yuqi and Yang, Senqiao and Tang, Longxiang and Zhang, Yuechen and Li, Jingyao and Qu, Tianyuan and Li, Yanwei and Chen, Yukang and Yu, Shaozuo and Wu, Sitong and Lo, Eric and Liu, Shu and Jia, Jiaya},
  booktitle={Proceedings of the IEEE/CVF international conference on computer vision},
  year={2025}
}

@article{li2024mgm,
  title={Mini-Gemini: Mining the Potential of Multi-modality Vision Language Models},
  author={Li, Yanwei and Zhang, Yuechen and Wang, Chengyao and Zhong, Zhisheng and Chen, Yixin and Chu, Ruihang and Liu, Shaoteng and Jia, Jiaya},
  journal={arXiv:2403.18814},
  year={2023}
}

致谢

这个项目感谢以下仓库的贡献:

  • 基于LLaVA系列、Mini-Gemini和Lyra。
  • 使用Qwen2.5-VL的VLM和视觉编码器。
  • 使用Qwen3系列的LLM。
  • 使用CosyVoice2的音频令牌化和流匹配模型。
  • 使用Belle-whisper和Qwen2-Audio的音频编码器。
  • 使用MegaTTS生成大量合成数据。

这些组件让MGM-Omni成为可能。

常见问题解答(FAQ)

基于用户可能的问题,我整理了一些常见疑问和答案。这些都是直接从项目信息中来的。

MGM-Omni支持哪些输入和输出模态?

它支持文本、图像、视频和语音输入,能生成文本或语音输出。特别适合多模态交互,比如结合图像和音频的聊天。

如何处理长语音输入?

MGM-Omni能处理小时级的语音,而非仅限15分钟。这得益于其长上下文理解能力,在评估中显示出低WER和CER。

声音克隆需要多长的参考音频?

大约10秒就够了。使用零样本方法,支持中英文。

MGM-Omni是完全开源的吗?

是的,所有代码、模型和训练数据都会发布。目前已发布部分,更多即将到来。

如何启动Web演示?

用命令python -m mgm.serve.web_demo --model wcy1122/MGM-Omni-7B --speechlm wcy1122/MGM-Omni-TTS-2B启动本地Gradio界面。

MGM-Omni在性能上比其他模型好在哪里?

从评估看,它在长形式语音理解和生成上领先,比如在AIR-Bench上的平均分6.5,以及seed-tts-eval上的低CER和高SS。

可以用MGM-Omni生成故事语音吗?

是的,通过长形式生成和Chunk-Based Decoding,能产生超过10分钟的自然语音。

如果安装出错怎么办?

检查Conda环境是否正确,pip是否升级。确保克隆了子模块。

MGM-Omni基于哪些基础模型?

基于MiniGemini(多模态视觉语言模型)和Lyra(语音中心框架),还整合了Qwen系列和CosyVoice2等。

如何添加自定义声音到聊天中?

在聊天命令中添加--ref-audio参数,提供参考音频文件。

这些问题覆盖了大多数用户关切。如果你有更多疑问,欢迎查看项目仓库。

通过这个探索,我希望你对MGM-Omni有了全面了解。它不只是一个工具,更是开源AI社区的进步。如果你试用了,分享你的体验吧!(字数统计:约4500字)