4月1日,澜舟科技宣布开源Mengzi3-13B大模型,对学术研究完全开放,同时支持免费商用。此前,在3月18日的产品发布会上,澜舟科技展示了其“一横N纵”战略下的孟子大模型系列,其中Mengzi3-13B作为“一横”的核心——孟子大模型技术V3版本亮相。
Mengzi3-13B模型基于Llama架构,数据集规模高达3T tokens,涵盖了网页、代码、书籍、论文等多元化、高质量的数据来源。Mengzi3-13B在数据集质量上相较年初发布的孟子GPT V2系列(包括孟子大模型-标准、孟子大模型-轻量、孟子大模型-金融、孟子大模型-编码)有显著提升。
据官方同步的评测数据,在MMLU、Chinese-MMLU、GSM8K、HUMAN-EVAL等多项公开数据集进行的模型效果评估中,Mengzi3-13B均展现出了卓越的性能表现。在参数量20B以内的轻量化大模型领域,Mengzi3-13B在中英文语言能力方面的成绩尤为突出,具备了出色的实用性和高性价比,能更好的满足企业的商业化需求。
以下是魔搭社区对于Mengzi3-13B的下载、推理、微调训练实战教程~
模型链接和下载
Mengzi3-13B 基础模型现已在魔搭ModelScope社区开源,包括:
Mengzi3-13B-Base:
https://modelscope.cn/models/langboat/Mengzi3-13B-Base
社区支持直接下载模型的repo:
#模型下载 from modelscope import snapshot_download model_dir = snapshot_download('langboat/Mengzi3-13B-Base')
模型推理
推理代码:
孟子3-13B基础模型推理代码:
import torch from modelscope import AutoModelForCausalLM, AutoTokenizer tokenizer = AutoTokenizer.from_pretrained("Langboat/Mengzi3-13B-Base", use_fast=False, trust_remote_code=True) model = AutoModelForCausalLM.from_pretrained("Langboat/Mengzi3-13B-Base", device_map="auto", trust_remote_code=True) inputs = tokenizer('指令:回答以下问题。输入:介绍一下孟子。输出:', return_tensors='pt') if torch.cuda.is_available(): inputs = inputs.to('cuda') pred = model.generate(**inputs, max_new_tokens=512, repetition_penalty=1.01, eos_token_id=tokenizer.eos_token_id) print(tokenizer.decode(pred[0], skip_special_tokens=True))
全精度推理显存占用:
推理生成样例:
指令:回答以下问题。输入:介绍一下孟子。输出: 孟子(约公元前372年—公元前289年),名轲,字子舆,邹国(今山东邹城市)人。战国时期哲学家、思想家、政治家、教育家,是孔子之后、荀子之前的儒家学派的代表人物,与孔子并称“孔孟”。孟子宣扬“仁政”,最早提出“民贵君轻”思想,被韩愈列为先秦儒家继承孔子“道统”的人物,元朝追封为“亚圣”。孟子继承并发扬了孔子的思想,成为仅次于孔子的一代儒家宗师,有“亚圣”之称,与孔子合称为“孔孟”。他生活在兼并战争激烈的战国中期,他在总结前期儒家学说的基础上,提出了系统的“仁政”学说和“性善”论观点,把孔子和孔子门徒没有讲清楚的孔子学说发展了起来,使其成为孔子之后的新的儒学大师。
模型微调和微调后推理
我们使用swift来对模型进行微调, swift是魔搭社区官方提供的LLM微调推理框架.
微调代码开源地址: https://github.com/modelscope/swift
环境准备:
git clone https://github.com/modelscope/swift.git cd swift pip install -e .[llm] pip install deepspeed
微调脚本: (LoRA)
默认只对LLM部分的qkv进行lora微调. 如果你想对LLM部分的所有linear进行微调, 可以指定`--lora_target_modules ALL`
# Experimental environment: 2 * A100 # 2 * 36GB GPU memory nproc_per_node=2 CUDA_VISIBLE_DEVICES=0,1 \ NPROC_PER_NODE=$nproc_per_node \ MASTER_PORT=29500 \ swift sft \ --model_id_or_path langboat/Mengzi3-13B-Base \ --model_revision master \ --sft_type lora \ --tuner_backend swift \ --dtype bf16 \ --output_dir output \ --ddp_backend nccl \ --dataset dureader-robust-zh \ --train_dataset_sample -1 \ --num_train_epochs 1 \ --max_length 2048 \ --check_dataset_strategy warning \ --lora_rank 8 \ --lora_alpha 32 \ --lora_dropout_p 0.05 \ --lora_target_modules DEFAULT \ --gradient_checkpointing true \ --batch_size 1 \ --weight_decay 0.1 \ --learning_rate 1e-4 \ --gradient_accumulation_steps $(expr 16 / $nproc_per_node) \ --max_grad_norm 0.5 \ --warmup_ratio 0.03 \ --eval_steps 100 \ --save_steps 100 \ --save_total_limit 2 \ --logging_steps 10 \ --deepspeed default-zero2 \
微调后推理脚本: (这里的ckpt_dir需要修改为训练生成的checkpoint文件夹)
# Experimental environment: A100 # 30GB GPU memory CUDA_VISIBLE_DEVICES=0 \ swift infer \ --ckpt_dir "output/mengzi3-13b-base/vx-xxx/checkpoint-xxx" \ --load_dataset_config true \ --temperature 0.1 \ --top_p 0.7 \ --repetition_penalty 1. \ --do_sample true \ --merge_lora false \
微调的可视化结果:
微调后样例:
[PROMPT]输入:Task: Question Generation Context: 【东奥会计在线——中级会计职称频道推荐】根据《关于提高科技型中小企业研究开发费用税前加计扣除比例的通知》的规定,研发费加计扣除比例提高到75%。|财政部、国家税务总局、科技部发布《关于提高科技型中小企业研究开发费用税前加计扣除比例的通知》。|通知称,为进一步激励中小企业加大研发投入,支持科技创新,就提高科技型中小企业研究开发费用(以下简称研发费用)税前加计扣除比例有关问题发布通知。|通知明确,科技型中小企业开展研发活动中实际发生的研发费用,未形成无形资产计入当期损益的,在按规定据实扣除的基础上,在2017年1月1日至2019年12月31日期间,再按照实际发生额的75%在税前加计扣除;形成无形资产的,在上述期间按照无形资产成本的175%在税前摊销。|科技型中小企业享受研发费用税前加计扣除政策的其他政策口径按照《财政部国家税务总局科技部关于完善研究开发费用税前加计扣除政策的通知》(财税〔2015〕119号)规定执行。|科技型中小企业条件和管理办法由科技部、财政部和国家税务总局另行发布。科技、财政和税务部门应建立信息共享机制,及时共享科技型中小企业的相关信息,加强协调配合,保障优惠政策落实到位。|上一篇文章:关于2016年度企业研究开发费用税前加计扣除政策企业所得税纳税申报问题的公告 下一篇文章:关于提高科技型中小企业研究开发费用税前加计扣除比例的通知 Answer: 75% Question:输出: [OUTPUT]研发费加计扣除比例</s> [LABELS]研发费用加计扣除比例 -------------------------------------------------- [PROMPT]输入:Task: Question Generation Context: 下载速度达到72mbp/s速度相当快。相当于500兆带宽。在网速计算中, b=bit ,B=byte 8×b=1×B 意思是 8个小写的b 才是一个大写B。4M理论下载速度:4M就是4Mb/s 理论下载速度公式:4×1024÷8=512KB /s 请注意按公式单位已经变为 KB/s 依此类推: 2M理论下载速度:2×1024÷8=256KB /s 8M理论下载速度:8×1024÷8=1024KB /s =1MB/s 10M理论下载速度:10×1024÷8=1280KB /s =2M理论下载速度+8M理论下载速度 50M理论下载速度:50×1024÷8=6400KB /s 1Gb理论下载速度:1024×1024÷8=128MB /s 公式:几兆带宽×1024÷8=()KB/s。 Answer: 相当于500兆带宽 Question:输出: [OUTPUT]72mbps相当于多少兆</s> [LABELS]72mbps是多少网速 -------------------------------------------------- [PROMPT]输入:Task: Question Generation Context: 防水作为目前高端手机的标配,特别是苹果也支持防水之后,国产大多数高端旗舰手机都已经支持防水。虽然我们真的不会故意把手机放入水中,但是有了防水之后,用户心里会多一重安全感。那么近日最为火热的小米6防水吗?小米6的防水级别又是多少呢? 小编查询了很多资料发现,小米6确实是防水的,但是为了保持低调,同时为了不被别人说防水等级不够,很多资料都没有标注小米是否防水。根据评测资料显示,小米6是支持IP68级的防水,是绝对能够满足日常生活中的防水需求的。 Answer: IP68级 Question:输出: [OUTPUT]小米6防水等级</s> [LABELS]小米6防水等级 -------------------------------------------------- [PROMPT]输入:Task: Question Generation Context: 我个人感觉是吕颂贤版,剧情和原著差别不大,虽然TVB演员颜值和风光没有大陆的好。但是香港特区人口和地域的限制,只能注重在演员的演技方面发挥很出色,楼主看过大陆排《笑傲江湖》吧!在台词上表现的很生硬没有香港的注重神色配台词,比如杜燕歌把吕颂贤表情和性格几乎和原著差别不大。武打几乎沿用徐克和程小东动作的风格很注重实际技巧,没有大陆版的在武打场面依靠电脑特效表现的太夸张了。李亚鹏版的武打动作和导演还是香港的元彬,大陆毕竟还是在武侠剧起步的比较晚,主要是还是靠明星大腕压阵而香港却是恰恰相反。 Answer: 吕颂贤版 Question:输出: [OUTPUT]笑傲江湖哪个版本好看</s> [LABELS]笑傲江湖哪个版本好看
资源占用
微调
点击直达模型详情