匿名用户2024年07月31日
22阅读
所属分类ai
开源地址https://modelscope.cn/models/jzx-ai-lab/MiniMATH

作品详情

MiniMATH

中文 | English

MiniMath 技术报告 | github

MiniMATH-1.5B-base 是基于19B 精选的数学相关题目、文字、对话数据的预训练模型,在未经过SFT, DPO等流程,并且严格隔离了测试数据的前提下,在中文数学题目的逻辑推理上取得了较好的效果,且与对齐后的模型具有类似的对话、指令跟随能力。同时,模型训练过程中也未采用学习率调度等技术行为,仅使用了两阶段的batchsize调度及四阶段的数据配比调整,通过不同阶段的性能实验,验证了高质量、合理配比的数据对模型生成效果的重要性。

局限性:

  • 受限于模型规模和单纯的pretrain 训练方法,模型可能出现幻觉性问题和回声问题。
  • 受限于数据规模,模型主要在中文的高质量内部题目上进行训练,因此英文题目的表现可能不佳。
  • 受限于pretrain 训练方法,模型在多轮对话中的表现可能不佳。
  • 受限于pretrain 训练方法,模型回复内容偏向于冗长,同时由于规模的限制,幻觉性问题可能进一步加重。

目录

更新日志

  • 2024/04/09 权重发布。
  • 2024/04/01 初始发布。

模型下载与使用

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
from modelscope import snapshot_download
torch.set_default_device('cuda')

path = snapshot_download('jzx-ai-lab/MiniMATH')
tokenizer = AutoTokenizer.from_pretrained(path, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(path,torch_dtype=torch.float16, trust_remote_code=True,attn_implementation="flash_attention_2")
messages = [
    {
        "role": "user",
        "content": "请你解释一下什么是等差数列"
    }
]
text = tokenizer.apply_chat_template(
    messages
)

model_inputs = tokenizer([text], return_tensors="pt", add_special_tokens=False, return_attention_mask=False).to(model.device)

generated_ids = model.generate(
    model_inputs.input_ids,
    max_new_tokens=512,
    temperature=0.5,
    top_p=1.0
)

generated_ids = [
    output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]

response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]

print(response)

评测结果

评测设置

  • 由于MiniMATH是使用大量数学相关知识训练的特化模型,因此我们仅在数学相关的任务以及两个通用文本任务上进行了评测,为了最大限度保证评估结果的准确性,我们使用了较为严格的正则匹配来评估模型在不同任务上的表现
  • 同时我们也将评估脚本全部开源,为评估提供可靠的复现

文本模型评测

|模型|Non-Emb Params|C-Eval|CMMLU|MMLU|GSM8K|MATH|MATH23K|数学均分|training-token| |-|-|-|-|-|-|-|-|-|-| |TinyLlama-1.1B|1.1B|25.02|24.03|24.3|2.27|0.74|-|1.5|~1T |Qwen1.5-1.8B|1.2B|59.7|57.8|46.8|38.4|10.1|58.3|35.6|-| |Gemini Nano-3B|-|-|-|-|22.8(report)|-|-|-|-| |StableLM-Zephyr-3B|2.7B|30.34|30.89|45.9|52.54|12.49|37.68|32.5|-| |Phi-1.5|-|-|-|42.87|40.2|-|-|-|150B |Phi-2-2B|2.5B|23.37|24.18|52.66|57.16|3.5|43.39|30.35|1.4T |MiniCPM-2B|2.4B|51.13|51.07|53.46|53.83|10.24|67.5|43.83|~1T |GPT-3.5-Turbo|-|-|-|70.0|80.8|34.1|75.7|63.46|-| |GPT-4|-|-|-|86.4|92.0|52.9|87.5|77.46|-| |MiniMATH-1.5B|1.2B|41.64|42.70|29.13|43.34|14.5|60.04|39.29|58B|

已知的问题

  • 使用transformers推理的结果与pytorch原始推理结果有略微的差异,评测分数会有1-2个百分点的下降,这个问题我们正在排查解决
  • 使用transformers推理时,如果使用bfloat16精度,将获得较差的结果,建议使用float16精度
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论