Home

Awesome

<h1 align="center">Megrez-3B: 软硬协同释放无穹端侧智能</h1> <p align="center"> <img src="assets/megrez_logo.png" width="400"/> <p> <p align="center"> 🤗 <a href="https://huggingface.co/Infinigence/Megrez-3B-Instruct">Megrez-3B-Instruct</a>&nbsp&nbsp| &nbsp&nbsp🤗 <a href="https://huggingface.co/Infinigence/Megrez-3B-Omni"> Megrez-3B-Omni</a>&nbsp&nbsp &nbsp | &nbsp&nbsp📖 <a href="assets/wechat-official.jpg">WeChat Official</a>&nbsp&nbsp | &nbsp&nbsp💬 <a href="assets/wechat-group.jpg">WeChat Groups</a>&nbsp&nbsp <h4 align="center"> <p> <b>中文</b> | <a href="https://github.com/infinigence/Infini-Megrez/blob/main/README_EN.md">English</a> <p> </h4>

目录

模型下载

HuggingFaceModelScopeModelersWisemodel
Megrez-3B-Instruct-OmniMegrez-3B-Instruct-OmniMegrez-3B-Instruct-OmniMegrez-3B-Instruct-Omni
Megrez-3B-InstructMegrez-3B-InstructMegrez-3B-InstructMegrez-3B-Instruct

Megrez-3B-Omni

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

评测结果

图片理解能力

Multitask

OpencompassBmk

更多指标数据请见 🤗 Megrez-3B-Omni

速度

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

实验设置:

快速上手

在线体验

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),但关闭采样可能引入模型复读

Megrez-3B

Megrez-3B-Instruct是由无问芯穹(Infinigence AI)完全自主训练的大语言模型。Megrez-3B旨在通过软硬协同理念,打造一款极速推理、小巧精悍、极易上手的端侧智能解决方案。Megrez-3B具有以下优点:

速度精度模型大小散点图如下,位置越靠近右上表明模型越好越快。更多指标数据请见 🤗 Megrez-3B-Instruct

MMLU MTBench

具体模型能力结果和部署代码参考 Infini-Megrez

WebSearch

我们模型进行了针对性训练,并提供了完整的工程部署方案。InfiniWebSearch 具有以下优势:

  1. 自动决定调用时机:自动决策搜索调用时机,在搜索和对话中自动切换,避免一直调用或一直不调用
  2. 上下文理解:根据多轮对话生成合理的搜索query或处理搜索结果,更好的理解用户意图
  3. 带参考信息的结构化输出:每个结论注明出处,便于查验
  4. 一个模型两种用法:通过sys prompt区分WebSearch功能开启与否,兼顾LLM的高精度与WebSearch的用户体验,两种能力不乱窜

我们对模型进行了针对性训练,使模型可以自动决策搜索调用时机,在搜索和对话中自动切换,并提供更好的总结效果。我们提供了完整的部署工程代码 ,用户可以基于该功能构建属于自己的Kimi或Perplexity,克服小模型常见的幻觉问题和知识储备不足的局限。

WebSearchDemo

开源协议及使用声明