Infinigence/Megrez-3B-Omni

Model

Megrez-3B-Omni: 首个端侧全模态理解开源模型

135

7 commits

2 linked in READMEs

updated Feb 14, 2025

See the code

README

Megrez-3B-Omni: 首个端侧全模态理解开源模型

🔗 GitHub   |   🏠 Demo   |   📖 WeChat Official   |   💬 WeChat Groups  

中文 | English

模型简介

Megrez-3B-Omni是由无问芯穹(Infinigence AI)研发的端侧全模态理解模型,基于无问大语言模型Megrez-3B-Instruct扩展,同时具备图片、文本、音频三种模态数据的理解分析能力,在三个方面均取得最优精度

  • 在图像理解方面,基于SigLip-400M构建图像Token,在OpenCompass榜单上(综合8个主流多模态评测基准)平均得分66.2,超越LLaVA-NeXT-Yi-34B等更大参数规模的模型。Megrez-3B-Omni也是在MME、MMMU、OCRBench等测试集上目前精度最高的图像理解模型之一,在场景理解、OCR等方面具有良好表现。
  • 在语言理解方面,Megrez-3B-Omni并未牺牲模型的文本处理能力,综合能力较单模态版本(Megrez-3B-Instruct)精度变化小于2%,保持在C-EVAL、MMLU/MMLU Pro、AlignBench等多个测试集上的最优精度优势,依然取得超越上一代14B模型的能力表现
  • 在语音理解方面,采用Qwen2-Audio/whisper-large-v3的Encoder作为语音输入,支持中英文语音输入及多轮对话,支持对输入图片的语音提问,根据语音指令直接响应文本,在多项基准任务上取得了领先的结果

基础信息

Language ModuleVision ModuleAudio Module
ArchitectureLlama-2 with GQASigLip-SO400MWhisper-large-v3 (encoder-only)
# Params (Backbone)2.29B0.42B0.64B
Connector-Cross AttentionLinear
# Params (Others)Emb: 0.31B
Softmax: 0.31B
Connector: 0.036BConnector: 0.003B
# Params (Total)4B
# Vocab Size12288064 tokens/slice-
Context length4K tokens
Supported languagesChinese & English

图片理解能力

  • 上图为Megrez-3B-Omni与其他开源模型在主流图片多模态任务上的性能比较
  • 下图为Megrez-3B-Omni在OpenCompass测试集上表现,图片引用自: InternVL 2.5 Blog Post

Multitask OpencompassBmk

modelbasemodel发布时间OpenCompassMMEMMMU valOCRBenchMathVistaRealWorldQAMMVethallusionBenchMMB TEST (en)MMB TEST (zh)TextVQA valAI2D_TESTMMstarDocVQA_TEST
Megrez-3B-OmniMegrez-3B2024.12.1666.2231551.8982.86271.896050.1280.882.380.382.0560.4691.62
Qwen2-VL-2B-InstructQwen2-1.5B2024.08.2857.2187241.179.44362.949.541.774.973.579.774.74890.1
InternVL2.5-2BInternlm2.5-1.8B-chat2024.12.0659.9213843.680.451.360.160.842.674.771.974.374.953.788.7
BlueLM-V-3B-2024.11.2966.1-45.182.960.866.761.8488380.578.485.362.387.8
InternVL2.5-4BQwen2.5-3B-Instruct2024.12.0665.1233752.382.860.564.360.646.381.179.376.881.458.391.6
Baichuan-OmniUnknown-7B2024.10.11-218647.370.051.962.665.447.876.274.974.3---
MiniCPM-V-2.6Qwen2-7B2024.08.0665.2234849.885.260.669.76048.181.27980.182.157.2690.8
Qwen2-VL-7B-InstructQwen2-7B2024.08.2867232654.184.558.270.16250.68380.584.38360.794.5
MiniCPM-Llama3-V-2.5Llama3-Instruct 8B2024.05.2058.8202445.872.554.363.552.842.477.274.276.678.4-84.8
VITAMixtral 8x7B2024.08.12-209747.367.844.95941.639.774.771.471.8---
GLM-4V-9BGLM-4-9B2024.06.0459.1201846.977.651.1-5846.681.179.4-81.158.7-
LLaVA-NeXT-Yi-34BYi-34B2024.01.1855200648.857.440.46650.734.881.17969.378.951.6-
Qwen2-VL-72B-InstructQwen2-72B2024.08.2874.8248264.587.770.577.87458.186.586.685.588.168.396.5

文本处理能力

对话&指令中文&英文任务代码任务数学任务
models指令模型发布时间# Non-Emb ParamsMT-BenchAlignBench (ZH)IFEvalC-EVAL (ZH)CMMLU (ZH)MMLUMMLU-ProHumanEvalMBPPGSM8KMATH
Megrez-3B-OmniY2024.12.162.38.46.9466.584.075.373.345.272.660.663.827.3
Megrez-3B-InstructY2024.12.162.38.647.0668.684.874.772.846.178.771.065.528.3
Baichuan-OmniY2024.10.117.0---68.972.265.3-----
VITAY2024.08.1212.9---56.746.671.0---75.7-
Qwen1.5-7B2024.02.046.5---74.173.161.029.936.051.662.520.3
Qwen1.5-7B-ChatY2024.02.046.57.606.20-67.3-59.529.146.348.960.323.2
Qwen1.5-14B2024.02.0412.6---78.777.667.6-37.844.070.129.2
Qwen1.5-14B-ChatY2024.02.0412.67.9----------
Qwen2-7B2024.06.076.5---83.283.970.340.051.265.979.944.2
Qwen2-7b-InstructY2024.06.076.58.417.2151.480.977.270.544.179.967.285.752.9
Qwen2.5-3B-InstructY2024.9.192.8------43.774.472.786.765.9
Qwen2.5-7B2024.9.196.5-----74.245.057.974.985.449.8
Qwen2.5-7B-InstructY2024.09.196.58.75-74.9---56.384.879.291.675.5
Llama-3.1-8B2024.07.237.08.35.771.555.255.866.737.1--84.551.9
Llama-3.2-3B2024.09.252.8--77.4--63.4---77.748.0
Phi-3.5-mini-instructY2024.08.233.68.65.749.446.146.969.047.462.869.686.248.5
MiniCPM3-4BY2024.09.053.98.416.7468.473.673.367.2-74.472.581.146.6
Yi-1.5-6B-ChatY2024.05.115.57.506.20-74.274.761.0-64.070.978.940.5
GLM-4-9B-chatY2024.06.048.28.357.0164.575.671.572.4-71.8-79.650.6
Baichuan2-13B-Base2023.09.0612.6-5.25-58.162.059.2-17.130.252.810.1

注:Qwen2-1.5B模型的指标在论文和Qwen2.5报告中点数不一致,当前采用原始论文中的精度

语音理解能力

ModelBase modelRelease TimeFleurs test-zhWenetSpeech test_netWenetSpeech test_meeting
Megrez-3B-OmniMegrez-3B-Instruct2024.12.1610.8-16.4
Whisper-large-v3-2023.11.0612.417.530.8
Qwen2-Audio-7BQwen2-7B2024.08.0991110.7
Baichuan2-omniUnknown-7B2024.10.1176.98.4
VITAMixtral 8x7B2024.08.12--/12.2(CER)-/16.5(CER)

速度

image_tokensprefill (tokens/s)decode (tokens/s)
Megrez-3B-Omni4486312.661294.9
Qwen2-VL-2B13787349.39685.66
MiniCPM-V-2_64482167.09452.51

实验设置:

  • 测试环境:NVIDIA H100,vLLM下输入128个Text token和一张1480x720大小图片,输出128个token,num_seqs固定为8
  • Qwen2-VL-2B虽然其具备更小尺寸的基座模型,但编码上述大小图片后的image_token相较Megrez-3B-Omni多很多,导致此实验下的decode速度小于Megrez-3B-Omni

快速上手

在线体验

HF Chat Demo

本地部署

环境安装和vLLM推理代码等部署问题可以参考 Infini-Megrez-Omni

如下是一个使用transformers进行推理的例子,通过在content字段中分别传入text、image和audio,可以图文/图音等多种模态和模型进行交互。

import torch
from transformers import AutoModelForCausalLM

path = "{{PATH_TO_PRETRAINED_MODEL}}"  # Change this to the path of the model.

model = (
    AutoModelForCausalLM.from_pretrained(
        path,
        trust_remote_code=True,
        torch_dtype=torch.bfloat16,
        attn_implementation="flash_attention_2",
    )
    .eval()
    .cuda()
)

# Chat with text and image
messages = [
    {
        "role": "user",
        "content": {
            "text": "Please describe the content of the image.",
            "image": "./data/sample_image.jpg",
        },
    },
]

# Chat with audio and image
messages = [
    {
        "role": "user",
        "content": {
            "image": "./data/sample_image.jpg",
            "audio": "./data/sample_audio.m4a",
        },
    },
]

MAX_NEW_TOKENS = 100
response = model.chat(
    messages,
    sampling=False,
    max_new_tokens=MAX_NEW_TOKENS,
    temperature=0,
)
print(response)

注意事项

  1. 请将图片尽量在首轮输入以保证推理效果,语音和文本无此限制,可以自由切换
  2. 语音识别(ASR)场景下,只需要将content['text']修改为“将语音转化为文字。”
  3. OCR场景下开启采样可能会引入语言模型幻觉导致的文字变化,可考虑关闭采样进行推理(sampling=False),但关闭采样可能引入模型复读

开源协议及使用声明

  • 协议:本仓库中代码依照 Apache-2.0 协议开源。
  • 幻觉:大模型天然存在幻觉问题,用户使用过程中请勿完全相信模型生成的内容。
  • 价值观及安全性:本模型已尽全力确保训练过程中使用的数据的合规性,但由于数据的大体量及复杂性,仍有可能存在一些无法预见的问题。如果出现使用本开源模型而导致的任何问题,包括但不限于数据安全问题、公共舆论风险,或模型被误导、滥用、传播或不当利用所带来的任何风险和问题,我们将不承担任何责任。
custom_code
megrezo
safetensors

Contributors

LI
lizhiyuan

4 commits

kkwhale7

2 commits

ZH
zhoudong

1 commits

Infinigence/Megrez-3B-Omni

Model

Megrez-3B-Omni: 首个端侧全模态理解开源模型

135

7 commits

2 linked in READMEs

updated Feb 14, 2025

See the code

README

Megrez-3B-Omni: 首个端侧全模态理解开源模型

🔗 GitHub   |   🏠 Demo   |   📖 WeChat Official   |   💬 WeChat Groups  

中文 | English

模型简介

Megrez-3B-Omni是由无问芯穹(Infinigence AI)研发的端侧全模态理解模型,基于无问大语言模型Megrez-3B-Instruct扩展,同时具备图片、文本、音频三种模态数据的理解分析能力,在三个方面均取得最优精度

  • 在图像理解方面,基于SigLip-400M构建图像Token,在OpenCompass榜单上(综合8个主流多模态评测基准)平均得分66.2,超越LLaVA-NeXT-Yi-34B等更大参数规模的模型。Megrez-3B-Omni也是在MME、MMMU、OCRBench等测试集上目前精度最高的图像理解模型之一,在场景理解、OCR等方面具有良好表现。
  • 在语言理解方面,Megrez-3B-Omni并未牺牲模型的文本处理能力,综合能力较单模态版本(Megrez-3B-Instruct)精度变化小于2%,保持在C-EVAL、MMLU/MMLU Pro、AlignBench等多个测试集上的最优精度优势,依然取得超越上一代14B模型的能力表现
  • 在语音理解方面,采用Qwen2-Audio/whisper-large-v3的Encoder作为语音输入,支持中英文语音输入及多轮对话,支持对输入图片的语音提问,根据语音指令直接响应文本,在多项基准任务上取得了领先的结果

基础信息

Language ModuleVision ModuleAudio Module
ArchitectureLlama-2 with GQASigLip-SO400MWhisper-large-v3 (encoder-only)
# Params (Backbone)2.29B0.42B0.64B
Connector-Cross AttentionLinear
# Params (Others)Emb: 0.31B
Softmax: 0.31B
Connector: 0.036BConnector: 0.003B
# Params (Total)4B
# Vocab Size12288064 tokens/slice-
Context length4K tokens
Supported languagesChinese & English

图片理解能力

  • 上图为Megrez-3B-Omni与其他开源模型在主流图片多模态任务上的性能比较
  • 下图为Megrez-3B-Omni在OpenCompass测试集上表现,图片引用自: InternVL 2.5 Blog Post

Multitask OpencompassBmk

modelbasemodel发布时间OpenCompassMMEMMMU valOCRBenchMathVistaRealWorldQAMMVethallusionBenchMMB TEST (en)MMB TEST (zh)TextVQA valAI2D_TESTMMstarDocVQA_TEST
Megrez-3B-OmniMegrez-3B2024.12.1666.2231551.8982.86271.896050.1280.882.380.382.0560.4691.62
Qwen2-VL-2B-InstructQwen2-1.5B2024.08.2857.2187241.179.44362.949.541.774.973.579.774.74890.1
InternVL2.5-2BInternlm2.5-1.8B-chat2024.12.0659.9213843.680.451.360.160.842.674.771.974.374.953.788.7
BlueLM-V-3B-2024.11.2966.1-45.182.960.866.761.8488380.578.485.362.387.8
InternVL2.5-4BQwen2.5-3B-Instruct2024.12.0665.1233752.382.860.564.360.646.381.179.376.881.458.391.6
Baichuan-OmniUnknown-7B2024.10.11-218647.370.051.962.665.447.876.274.974.3---
MiniCPM-V-2.6Qwen2-7B2024.08.0665.2234849.885.260.669.76048.181.27980.182.157.2690.8
Qwen2-VL-7B-InstructQwen2-7B2024.08.2867232654.184.558.270.16250.68380.584.38360.794.5
MiniCPM-Llama3-V-2.5Llama3-Instruct 8B2024.05.2058.8202445.872.554.363.552.842.477.274.276.678.4-84.8
VITAMixtral 8x7B2024.08.12-209747.367.844.95941.639.774.771.471.8---
GLM-4V-9BGLM-4-9B2024.06.0459.1201846.977.651.1-5846.681.179.4-81.158.7-
LLaVA-NeXT-Yi-34BYi-34B2024.01.1855200648.857.440.46650.734.881.17969.378.951.6-
Qwen2-VL-72B-InstructQwen2-72B2024.08.2874.8248264.587.770.577.87458.186.586.685.588.168.396.5

文本处理能力

对话&指令中文&英文任务代码任务数学任务
models指令模型发布时间# Non-Emb ParamsMT-BenchAlignBench (ZH)IFEvalC-EVAL (ZH)CMMLU (ZH)MMLUMMLU-ProHumanEvalMBPPGSM8KMATH
Megrez-3B-OmniY2024.12.162.38.46.9466.584.075.373.345.272.660.663.827.3
Megrez-3B-InstructY2024.12.162.38.647.0668.684.874.772.846.178.771.065.528.3
Baichuan-OmniY2024.10.117.0---68.972.265.3-----
VITAY2024.08.1212.9---56.746.671.0---75.7-
Qwen1.5-7B2024.02.046.5---74.173.161.029.936.051.662.520.3
Qwen1.5-7B-ChatY2024.02.046.57.606.20-67.3-59.529.146.348.960.323.2
Qwen1.5-14B2024.02.0412.6---78.777.667.6-37.844.070.129.2
Qwen1.5-14B-ChatY2024.02.0412.67.9----------
Qwen2-7B2024.06.076.5---83.283.970.340.051.265.979.944.2
Qwen2-7b-InstructY2024.06.076.58.417.2151.480.977.270.544.179.967.285.752.9
Qwen2.5-3B-InstructY2024.9.192.8------43.774.472.786.765.9
Qwen2.5-7B2024.9.196.5-----74.245.057.974.985.449.8
Qwen2.5-7B-InstructY2024.09.196.58.75-74.9---56.384.879.291.675.5
Llama-3.1-8B2024.07.237.08.35.771.555.255.866.737.1--84.551.9
Llama-3.2-3B2024.09.252.8--77.4--63.4---77.748.0
Phi-3.5-mini-instructY2024.08.233.68.65.749.446.146.969.047.462.869.686.248.5
MiniCPM3-4BY2024.09.053.98.416.7468.473.673.367.2-74.472.581.146.6
Yi-1.5-6B-ChatY2024.05.115.57.506.20-74.274.761.0-64.070.978.940.5
GLM-4-9B-chatY2024.06.048.28.357.0164.575.671.572.4-71.8-79.650.6
Baichuan2-13B-Base2023.09.0612.6-5.25-58.162.059.2-17.130.252.810.1

注:Qwen2-1.5B模型的指标在论文和Qwen2.5报告中点数不一致,当前采用原始论文中的精度

语音理解能力

ModelBase modelRelease TimeFleurs test-zhWenetSpeech test_netWenetSpeech test_meeting
Megrez-3B-OmniMegrez-3B-Instruct2024.12.1610.8-16.4
Whisper-large-v3-2023.11.0612.417.530.8
Qwen2-Audio-7BQwen2-7B2024.08.0991110.7
Baichuan2-omniUnknown-7B2024.10.1176.98.4
VITAMixtral 8x7B2024.08.12--/12.2(CER)-/16.5(CER)

速度

image_tokensprefill (tokens/s)decode (tokens/s)
Megrez-3B-Omni4486312.661294.9
Qwen2-VL-2B13787349.39685.66
MiniCPM-V-2_64482167.09452.51

实验设置:

  • 测试环境:NVIDIA H100,vLLM下输入128个Text token和一张1480x720大小图片,输出128个token,num_seqs固定为8
  • Qwen2-VL-2B虽然其具备更小尺寸的基座模型,但编码上述大小图片后的image_token相较Megrez-3B-Omni多很多,导致此实验下的decode速度小于Megrez-3B-Omni

快速上手

在线体验

HF Chat Demo

本地部署

环境安装和vLLM推理代码等部署问题可以参考 Infini-Megrez-Omni

如下是一个使用transformers进行推理的例子,通过在content字段中分别传入text、image和audio,可以图文/图音等多种模态和模型进行交互。

import torch
from transformers import AutoModelForCausalLM

path = "{{PATH_TO_PRETRAINED_MODEL}}"  # Change this to the path of the model.

model = (
    AutoModelForCausalLM.from_pretrained(
        path,
        trust_remote_code=True,
        torch_dtype=torch.bfloat16,
        attn_implementation="flash_attention_2",
    )
    .eval()
    .cuda()
)

# Chat with text and image
messages = [
    {
        "role": "user",
        "content": {
            "text": "Please describe the content of the image.",
            "image": "./data/sample_image.jpg",
        },
    },
]

# Chat with audio and image
messages = [
    {
        "role": "user",
        "content": {
            "image": "./data/sample_image.jpg",
            "audio": "./data/sample_audio.m4a",
        },
    },
]

MAX_NEW_TOKENS = 100
response = model.chat(
    messages,
    sampling=False,
    max_new_tokens=MAX_NEW_TOKENS,
    temperature=0,
)
print(response)

注意事项

  1. 请将图片尽量在首轮输入以保证推理效果,语音和文本无此限制,可以自由切换
  2. 语音识别(ASR)场景下,只需要将content['text']修改为“将语音转化为文字。”
  3. OCR场景下开启采样可能会引入语言模型幻觉导致的文字变化,可考虑关闭采样进行推理(sampling=False),但关闭采样可能引入模型复读

开源协议及使用声明

  • 协议:本仓库中代码依照 Apache-2.0 协议开源。
  • 幻觉:大模型天然存在幻觉问题,用户使用过程中请勿完全相信模型生成的内容。
  • 价值观及安全性:本模型已尽全力确保训练过程中使用的数据的合规性,但由于数据的大体量及复杂性,仍有可能存在一些无法预见的问题。如果出现使用本开源模型而导致的任何问题,包括但不限于数据安全问题、公共舆论风险,或模型被误导、滥用、传播或不当利用所带来的任何风险和问题,我们将不承担任何责任。
custom_code
megrezo
safetensors

Contributors

LI
lizhiyuan

4 commits

kkwhale7

2 commits

ZH
zhoudong

1 commits