Thanks to visit codestin.com
Credit goes to github.com

Skip to content

infinigence/Infini-Megrez

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

更新日志

  • [2025.09.15] 发布 Megrez2-3x7B-A3B 正式版本,模型结构和预览版本一致,训练数据总量从5T增加到8T,在各个测试集上表现更加均衡。

  • [2025.07.24] 发布 Megrez2-3x7B-A3B-Preview 预览版本,专为终端设备设计的大模型,兼顾MoE的精度杠杆与Dense的总参数量友好。

  • [2024.12.16] 发布 Megrez-3B-Omni 基于Megrez-3B-Instruct 扩展,同时具备图片、文本、音频三种模态数据的理解分析能力。

  • [2024.12.16] 发布 Megrez-3B-Instruct 模型能够比肩 Yi-1.5-6B-Chat、 Qwen2-7B-Instruct、 GLM-4-9B-Chat 和 Baichuan2-13B-Chat 等多个6B-13B参数量的模型。

模型下载

Megrez2-3x7B-A3B

模型简介

Megrez2-3x7B-A3B 是专为终端设备设计的大模型,兼顾MoE的精度杠杆与Dense的总参数量友好。本次发布的为Megrez 2.0正式版本,训练数据量8T Tokens,未来我们计划提升模型的推理和Agent能力。

基础信息

Architecture Mixture-of-Experts (MoE)
Total Parameters 3x7B
Activated Parameters 3B
Experts Shared Frequency 3
Number of Layers (Dense layer included) 31
Number of Dense Layers 1
Attention Hidden Dimension 2048
MoE Hidden Dimension (per Expert) 1408
Number of Attention Heads 16
Number of Experts 64
Selected Experts per Token 6
Number of Shared Experts 4
Vocabulary Size 128,880
Context Length 32K
Base Frequency of RoPE 1,000,000
Attention Mechanism GQA
Activation Function SwiGLU

性能测试

我们使用开源评测工具 OpenCompass 对 Megrez2-3x7B-A3B 进行了评测,部分评测结果如下表所示。

Benchmark Metric Megrez2-3x7B
-A3B
Megrez2-3x7B
-A3B-Preview
SmallThinker-21B
-A3B-Instruct
Qwen3-30B-A3B Qwen3-8B Qwen3-4B
-Instruct-2507
Phi4-14B
(nothink)
Gemma3-12B
Activate Params (B) 3.0 3.0 3.0 3.3 8.2 4.0 14.7 12.2
Stored Params (B) 7.5 7.5 21.5 30.5 8.2 4.0 14.7 12.2
MMLU EM 85.4 87.5 84.4 85.1 81.8 - 84.6 78.5
GPQA EM 58.8 28.8 55.0 44.4 38.9 62 55.5 34.9
IFEval Inst
loose
87.7 80.2 85.8 84.3 83.9 83.4 63.2 74.7
MATH-500 EM 87.2 81.6 82.4 84.4 81.6 - 80.2 82.4

如何运行

Transformers

推荐使用 transformers==4.53.3 的版本。 以下是一个非常简单的代码片段示例,展示如何运行 Megrez2-3x7B-A3B 模型:

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

path = "Infinigence/Megrez2-3x7B-A3B"
device = "cuda"

tokenizer = AutoTokenizer.from_pretrained(path, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(path, torch_dtype=torch.bfloat16, device_map=device, trust_remote_code=True)

messages = [
    {"role": "user", "content": "世界上最高的山峰是哪座?"},
]
model_inputs = tokenizer.apply_chat_template(messages, return_tensors="pt", add_generation_prompt=True).to(device)

model_outputs = model.generate(
    model_inputs,
    do_sample=True,
    max_new_tokens=1024
)

output_token_ids = [
    model_outputs[i][len(model_inputs[i]):] for i in range(len(model_inputs))
]

responses = tokenizer.batch_decode(output_token_ids, skip_special_tokens=True)[0]
print(responses)

# 世界上最高的山峰是珠穆朗玛峰(Mount Everest),位于喜马拉雅山脉的中尼边境。珠穆朗玛峰的海拔高度为8,848.86米(29,031.7英尺),这一数据是由中国和尼泊尔在2020年共同宣布的最新测量结果。珠穆朗玛峰不仅是登山爱好者的圣地,也是地理和科学研究的重要对象。

ModelScope

ModelScope 采用了与 Transformers 类似(但不完全一致)的编程接口。对于基础使用,仅需将上面代码第一行做如下修改:

from modelscope import AutoModelForCausalLM, AutoTokenizer

llama.cpp

llama.cpp 支持在各种硬件上以最小的设置和最先进的性能来启用LLM推断。现已支持,具体请查看 support-megrez 分支

如何部署

vLLM

需使用 vllm==0.10.1.1 版本。在当前版本环境下,需对 vllm 相关文件进行一次补丁替换;后续我们将提交 pull request,尽早将该修改合并至 vllm 的正式版本中。

  1. 找到你的vllm安装路径
import vllm
print(vllm.__file__)
  1. 替换vllm相关文件
cp ./demo/vllm/patch/layer.py <vllm_install_path>/model_executor/layers/fused_moe/

vLLM 离线

cd demo/vllm
export MODEL_PATH="Infinigence/Megrez2-3x7B-A3B"
python3 infer_vllm_offline.py $MODEL_PATH

vLLM 在线

在终端中启动vLLM服务,命令如下

cd demo/vllm
export MODEL_PATH="Infinigence/Megrez2-3x7B-A3B"
python3 serve_llm_online.py serve $MODEL_PATH --gpu-memory-utilization 0.9 --served-model-name megrez-moe --trust_remote_code

现在,可以通过curl发送请求

curl --location 'http://localhost:8000/v1/chat/completions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer sk-123456' \
--data '{
    "model": "megrez-moe",
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "世界上最高的山峰是哪座?"
                }
            ]
        }
    ]
}'

SGLang

推荐 sglang==0.4.9.post2 的版本,在当前版本环境下,需对 sglang 相关文件进行一次补丁替换;后续我们将提交 pull request,尽早将该修改合并至 sglang 的正式版本中。

  1. 找到你的sglang安装路径
import sglang
print(sglang.__file__)
  1. 替换sglang相关文件
cp ./demo/sglang/patch/layer.py <sglang_install_path>/srt/layers/moe/fused_moe_triton/layer.py

sglang 离线

cd demo/sglang
export MODEL_PATH="Infinigence/Megrez2-3x7B-A3B" 
python3 infer_sglang_offline.py $MODEL_PATH

最佳实践

为了获得最佳性能,建议以下设置:

  1. 采样参数:推荐使用 Temperature=0.7 和 TopP=0.9 。

  2. 标准化输出格式:在基准测试时,我们建议使用提示来标准化模型输出,比如:

    • 数学问题:在提示中包含“请逐步推理,并将最终答案放在\boxed{}中。”
    • 选择题:在提示中添加以下 JSON 结构以标准化响应:“请在 answer 字段中仅以选择字母的形式显示您的选择,例如 "answer": "C" 。”

Megrez-3B-Omni

详细信息请查看 Infini-Megrez-Omni 仓库

Megrez-3B-Instruct

详细信息请查看 Megrez-3B 分支

许可声明

我们所有的开源模型均采用Apache 2.0协议授权。

引用信息

如果您觉得我们的代码和模型有用,请引用以下信息。

@misc{li2025megrez2technicalreport,
      title={Megrez2 Technical Report}, 
      author={Boxun Li and Yadong Li and Zhiyuan Li and Congyi Liu and Weilin Liu and Guowei Niu and Zheyue Tan and Haiyang Xu and Zhuyu Yao and Tao Yuan and Dong Zhou and Yueqing Zhuang and Bo Zhao and Guohao Dai and Yu Wang},
      year={2025},
      eprint={2507.17728},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={https://arxiv.org/abs/2507.17728}, 
}

联系我们

如果您有任何问题,请随时提交GitHub issue或联系微信群组

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •