InnoMegrez2-Preview

🔗 Github  |  📄 Tech Report  |  💬 WeChat Official  
中文 | [English](https://github.com/sii-research/InnoMegrez2/blob/main/README.md)
## 模型简介 InnoMegrez2-Preview 是专为终端设备设计的大模型,兼顾MoE的精度杠杆与Dense的总参数量友好。本次发布的为Megrez 2.0预览版本,训练数据量5T 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** | 5,000,000 | | **Attention Mechanism** | GQA | | **Activation Function** | SwiGLU |
## 性能测试 我们使用开源评测工具 [OpenCompass](https://github.com/open-compass/opencompass) 对 InnoMegrez2-Preview 进行了评测,部分评测结果如下表所示。
Benchmark Metric InnoMegrez2-Preview Qwen2.5-3B Qwen2.5-7B Qwen3-4B Qwen3-8B Phi-4-mini Gemma-3-4B GPT-4o-mini
2024-07-18
Activate Params (B) 3.0 3.1 7.6 4.0 8.2 3.8 4.3 -
Stored Params (B) 7.5 3.1 7.6 4.0 8.2 3.8 4.3 -
General Tasks
C-EVAL EM 91.7 68.2 76.2 72.2 77.9 40.0 - 66.3
MMLU-Pro EM 67.6 43.7 56.3 - - 52.8 43.6 -
Instruction Tasks
IF-Eval Prompt Strict 80.2 58.2 71.2 81.2 83.0 68.6 90.2 80.4
Math & STEM Tasks
MATH-500 EM 81.6 65.9 75.5 84.8 87.4 64.0 75.6 78.2
GSM8K EM 83.6 86.7 91.6 - 93.2 88.6 89.2 -
Coding Tasks
HumanEval Pass@1 74.4 74.4 84.8 - 85.9 74.4 71.3 87.2
MBPP Pass@1 88.0 72.7 79.2 - 77.0 65.3 63.2 -
## 如何运行 ### Transformers 推荐使用最新版本的 `transformers` 或者 `transformers>=4.52.4` 的版本。 以下是一个非常简单的代码片段示例,展示如何运行 InnoMegrez2-Preview 模型: ```python from transformers import AutoModelForCausalLM, AutoTokenizer import torch path = "sii-research/InnoMegrez2-Preview" 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年共同宣布的最新测量结果。珠穆朗玛峰不仅是登山爱好者的圣地,也是地理和科学研究的重要对象。 ``` ## 如何部署 InnoMegrez2-Preview 支持使用 `vLLM` 和 `SGLang` 作为推理后端,更详细的信息请查看我们的[github仓库](https://github.com/sii-research/InnoMegrez2)。 ## 最佳实践 为了获得最佳性能,建议以下设置: 1. 采样参数:推荐使用 Temperature=0.7 和 TopP=0.9 。 2. 标准化输出格式:在基准测试时,我们建议使用提示来标准化模型输出,比如: * 数学问题:在提示中包含“请逐步推理,并将最终答案放在\boxed{}中。” * 选择题:在提示中添加以下 JSON 结构以标准化响应:“请在 answer 字段中仅以选择字母的形式显示您的选择,例如 "answer": "C" 。” ## 许可声明 我们所有的开源模型均采用Apache 2.0协议授权。 ## 联系我们 如果您有任何问题,请随时提交GitHub issue或联系[微信群组](https://github.com/sii-research/InnoMegrez2/blob/main/assets/wechat-group.jpg)。