Mistral AI发布首个开源MoE模型,魔搭社区推理微调最佳实践来啦!

这篇具有很好参考价值的文章主要介绍了Mistral AI发布首个开源MoE模型,魔搭社区推理微调最佳实践来啦!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

原文:Mistral AI发布首个开源MoE模型,魔搭社区推理微调最佳实践来啦! - 知乎

导读

继Mistral 7B 后,Mistral AI 近日又放出一记大招——发布了引爆开源社区的首个 MoE 开源模型 Mixtral 8x7B,在 Apache 2.0 许可证下可商用。Mixtral-8x7B 是一款混合专家模型(Mixtrue of Experts),由8个拥有70亿参数的专家网络组成,这种结构不仅提高了模型处理信息的效率,还降低了运行成本。

在能力上,Mixtral-8x7B 支持 32k token 上下文长度,支持英语、法语、意大利语、德语和西班牙语,拥有优秀的代码生成能力,可微调为指令跟随模型(Mixtral 8x7B Instruct,已同步开源),在 MT-Bench 上达到 8.3 分,达到了可媲美GPT3.5的水平。

mixtral,aigc,大模型,人工智能,开源,chatgpt,AIGC

Mixtral-8x7B 在大多数Benchmarks中表现

与 Llama2 70B 和 GPT3.5相当,甚至部分项上更优于二者

Mixtral 拥有46.7B的总参数量,但每个token只使用 12.9B参数,也就是说,Mixtral的实际执行速度和所需的成本和一个12.9B的模型相当。下图展示了官方公布的模型生成质量与推理消耗成本的关系,与Llama 2相比,Mistral 7B和Mixtral 8x7B表现出自己高能效的优势。

mixtral,aigc,大模型,人工智能,开源,chatgpt,AIGC

目前魔搭社区已经支持 Mixtral-8x7BMixtral-8x7B-Instruct 的下载、推理、微调一站式体验,并提供对应最佳实践教程,欢迎感兴趣的开发者小伙伴们来玩

环境配置与安装

  1. python 3.8及以上版本
  2. pytorch 1.12及以上版本,推荐2.0及以上版本
  3. 建议使用CUDA 11.4及以上
  4. transformers>=4.36.0

本文主要演示的模型为 Mixtral-8x7B-v0.1 和 Mixtral-8x7B-Instruct-v0.1 两个MoE模型。这两个模型参数量大概是47B左右。半径度训练和推理均需要两张A100,或同等显存(约90G~120G显存)。

模型链接和下载

Mixtral-MoE系列模型现已在ModelScope社区开源,包括:

Mixtral-8x7B-v0.1模型:

https://www.modelscope.cn/models/AI-ModelScope/Mixtral-8x7B-v0.1/summary

Mixtral-8x7B-Instruct-v0.1模型:

https://www.modelscope.cn/models/AI-ModelScope/Mixtral-8x7B-Instruct-v0.1/summary

社区支持直接下载模型的repo:

from modelscope import snapshot_download
model_dir1 = snapshot_download("AI-ModelScope/Mixtral-8x7B-v0.1", revision = "master")
model_dir2 = snapshot_download("AI-ModelScope/Mixtral-8x7B-Instruct-v0.1", revision = "master")

值得一提的是,魔搭社区同步上线了Mistral-7B-Instruct-v0.2的新模型:

https://www.modelscope.cn/models/AI-ModelScope/Mistral-7B-Instruct-v0.2/summary

社区支持直接下载模型的repo:

from modelscope import snapshot_download
model_dir1 = snapshot_download("AI-ModelScope/Mistral-7B-Instruct-v0.2", revision = "master")

Mixtral模型推理

Mixtral-8x7B-v0.1推理代码:

from modelscope import AutoModelForCausalLM, AutoTokenizer
import torch

model_id = "AI-ModelScope/Mixtral-8x7B-v0.1"
tokenizer = AutoTokenizer.from_pretrained(model_id)

model = AutoModelForCausalLM.from_pretrained(model_id, device_map='auto', torch_dtype=torch.float16)

text = "Hello my name is"
inputs = tokenizer(text, return_tensors="pt")

outputs = model.generate(**inputs, max_new_tokens=20)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

Mixtral-8x7B-Instruct-v0.1推理代码:

from modelscope import AutoModelForCausalLM, AutoTokenizer
import torch

model_id = "AI-ModelScope/Mixtral-8x7B-Instruct-v0.1"
tokenizer = AutoTokenizer.from_pretrained(model_id)

model = AutoModelForCausalLM.from_pretrained(model_id, device_map='auto', torch_dtype=torch.float16)

text = "Hello my name is"
inputs = tokenizer(text, return_tensors="pt")

outputs = model.generate(**inputs, max_new_tokens=20)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

资源消耗:

mixtral,aigc,大模型,人工智能,开源,chatgpt,AIGC

Mixtral模型微调和微调后推流

微调代码开源地址:

https://github.com/modelscope/swift/tree/main/examples/pytorch/llm

clone swift仓库并安装SWIFT(魔搭官方提供的训练推理框架)

# 设置pip全局镜像和安装相关的python包
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
git clone https://github.com/modelscope/swift.git
cd swift
pip install .[llm]
# 下面的脚本需要在此目录下执行
cd examples/pytorch/llm

模型微调脚本

由于模型尺寸较大,因此我们支持了基于LoRA的训练,精度使用了半精度。

  1. Mixtral-8x7B-v0.1模型
# Experimental environment: 2 * A100
# 2 * 50GB GPU memory
PYTHONPATH=../../.. \
CUDA_VISIBLE_DEVICES=0,1 \
python llm_sft.py \
    --model_id_or_path AI-ModelScope/Mixtral-8x7B-v0.1 \
    --model_revision master \
    --sft_type lora \
    --tuner_backend swift \
    --dtype AUTO \
    --output_dir output \
    --ddp_backend nccl \
    --dataset dureader-robust-zh \
    --train_dataset_sample -1 \
    --num_train_epochs 2 \
    --max_length 512 \
    --check_dataset_strategy warning \
    --lora_rank 8 \
    --lora_alpha 32 \
    --lora_dropout_p 0.05 \
    --lora_target_modules ALL \
    --batch_size 1 \
    --weight_decay 0.01 \
    --learning_rate 1e-4 \
    --gradient_accumulation_steps 16 \
    --max_grad_norm 0.5 \
    --warmup_ratio 0.03 \
    --eval_steps 300 \
    --save_steps 300 \
    --save_total_limit 2 \
    --logging_steps 10 \
    --only_save_model true \
    --gradient_checkpointing false
  1. Mixtral-8x7B-Instruct-v0.1模型
# Experimental environment: 2 * A100
# 2 * 65GB GPU memory
PYTHONPATH=../../.. \
CUDA_VISIBLE_DEVICES=0,1 \
python llm_sft.py \
    --model_id_or_path AI-ModelScope/Mixtral-8x7B-Instruct-v0.1 \
    --model_revision master \
    --sft_type lora \
    --tuner_backend swift \
    --dtype AUTO \
    --output_dir output \
    --ddp_backend nccl \
    --dataset dureader-robust-zh \
    --train_dataset_sample -1 \
    --num_train_epochs 2 \
    --max_length 2048 \
    --check_dataset_strategy warning \
    --lora_rank 8 \
    --lora_alpha 32 \
    --lora_dropout_p 0.05 \
    --lora_target_modules ALL \
    --batch_size 1 \
    --weight_decay 0.01 \
    --learning_rate 1e-4 \
    --gradient_accumulation_steps 16 \
    --max_grad_norm 0.5 \
    --warmup_ratio 0.03 \
    --eval_steps 300 \
    --save_steps 300 \
    --save_total_limit 2 \
    --logging_steps 10 \
    --only_save_model true \
    --gradient_checkpointing false

训练过程也支持本地数据集,需要指定如下参数:

--custom_train_dataset_path /path/to/local/train/file
--custom_val_dataset_path /path/to/local/val/file

数据集格式请参考:

模型微调后的推理脚本,这里的ckpt_dir需要修改为训练生成的checkpoint文件夹:

# Experimental environment: A100
# 2 * 45GB GPU memory
PYTHONPATH=../../.. \
CUDA_VISIBLE_DEVICES=0,1 \
python llm_infer.py \
    --ckpt_dir "output/mistral-7b-moe/vx_xxx/checkpoint-xxx" \
    --load_args_from_ckpt_dir true \
    --eval_human false \
    --max_length 4096 \
    --max_new_tokens 2048 \
    --temperature 0.1 \
    --top_p 0.7 \
    --repetition_penalty 1.05 \
    --do_sample true \
    --merge_lora_and_save false \

微调的可视化结果

训练损失:

mixtral,aigc,大模型,人工智能,开源,chatgpt,AIGC

评估损失

mixtral,aigc,大模型,人工智能,开源,chatgpt,AIGC

训练后生成样例

[INFO:swift] Setting args.verbose: True
[PROMPT]<s> [INST] <<SYS>>
You are a helpful, respectful and honest assistant. Always answer as helpfully as possible, while being safe. Your answers should not include any harmful, unethical, racist, sexist, toxic, dangerous, or illegal content. Please ensure that your responses are socially unbiased and positive in nature.

If a question does not make any sense, or is not factually coherent, explain why instead of answering something not correct. If you don't know the answer to a question, please don't share false information.
<</SYS>>

Task: Question Generation
Context: 爬行垫根据中间材料的不同可以分为:XPE爬行垫、EPE爬行垫、EVA爬行垫、PVC爬行垫;其中XPE爬行垫、EPE爬行垫都属于PE材料加保鲜膜复合而成,都是无异味的环保材料,但是XPE爬行垫是品质较好的爬行垫,韩国进口爬行垫都是这种爬行垫,而EPE爬行垫是国内厂家为了减低成本,使用EPE(珍珠棉)作为原料生产的一款爬行垫,该材料弹性差,易碎,开孔发泡防水性弱。EVA爬行垫、PVC爬行垫是用EVA或PVC作为原材料与保鲜膜复合的而成的爬行垫,或者把图案转印在原材料上,这两款爬行垫通常有异味,如果是图案转印的爬行垫,油墨外露容易脱落。当时我儿子爬的时候,我们也买了垫子,但是始终有味。最后就没用了,铺的就的薄毯子让他爬。
Answer: XPE
Question:  [/INST][OUTPUT]什么材质的爬行垫好</s>

[LABELS]爬行垫什么材质的好
--------------------------------------------------
[PROMPT]<s> [INST] <<SYS>>
You are a helpful, respectful and honest assistant. Always answer as helpfully as possible, while being safe. Your answers should not include any harmful, unethical, racist, sexist, toxic, dangerous, or illegal content. Please ensure that your responses are socially unbiased and positive in nature.

If a question does not make any sense, or is not factually coherent, explain why instead of answering something not correct. If you don't know the answer to a question, please don't share false information.
<</SYS>>

Task: Question Generation
Context: 真实情况是160-162。她平时谎报的168是因为不离脚穿高水台恨天高(15厘米) 图1她穿着高水台恨天高和刘亦菲一样高,(刘亦菲对外报身高172)范冰冰礼服下厚厚的高水台暴露了她的心机,对比一下两者的鞋子吧 图2 穿着高水台恨天高才和刘德华谢霆锋持平,如果她真的有168,那么加上鞋高,刘和谢都要有180?明显是不可能的。所以刘德华对外报的身高174减去10-15厘米才是范冰冰的真实身高 图3,范冰冰有一次脱鞋上场,这个最说明问题了,看看她的身体比例吧。还有目测一下她手上鞋子的鞋跟有多高多厚吧,至少超过10厘米。
Answer: 160-162
Question:  [/INST][OUTPUT]范冰冰身高</s>

[LABELS]范冰冰多高真实身高
--------------------------------------------------
[PROMPT]<s> [INST] <<SYS>>
You are a helpful, respectful and honest assistant. Always answer as helpfully as possible, while being safe. Your answers should not include any harmful, unethical, racist, sexist, toxic, dangerous, or illegal content. Please ensure that your responses are socially unbiased and positive in nature.

If a question does not make any sense, or is not factually coherent, explain why instead of answering something not correct. If you don't know the answer to a question, please don't share false information.
<</SYS>>

Task: Question Generation
Context: 防水作为目前高端手机的标配,特别是苹果也支持防水之后,国产大多数高端旗舰手机都已经支持防水。虽然我们真的不会故意把手机放入水中,但是有了防水之后,用户心里会多一重安全感。那么近日最为火热的小米6防水吗?小米6的防水级别又是多少呢? 小编查询了很多资料发现,小米6确实是防水的,但是为了保持低调,同时为了不被别人说防水等级不够,很多资料都没有标注小米是否防水。根据评测资料显示,小米6是支持IP68级的防水,是绝对能够满足日常生活中的防水需求的。
Answer: IP68级
Question:  [/INST][OUTPUT]小米6防水等级</s>

[LABELS]小米6防水等级

资源消耗:

2 * 46G

mixtral,aigc,大模型,人工智能,开源,chatgpt,AIGC

点击链接直达模型:Mixtral-8x7B-v0.1 · 模型库 (modelscope.cn)文章来源地址https://www.toymoban.com/news/detail-794608.html

到了这里,关于Mistral AI发布首个开源MoE模型,魔搭社区推理微调最佳实践来啦!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 国内最大Llama开源社区发布首个预训练中文版Llama2

    \\\" 7月31日,Llama中文社区率先完成了国内 首个真正意义上的中文版Llama2-13B大模型 ,从模型底层实现了Llama2中文能力的大幅优化和提升。毋庸置疑,中文版Llama2一经发布将开启国内大模型新时代! | 全球最强,但中文短板 Llama2是当前全球范围内最强的开源大模型,但其中文能

    2024年02月13日
    浏览(41)
  • 大模型调用工具魔搭GPT——一键调用魔搭社区上百个AI模型的API

    为了让模型开发变得更容易,阿里云在发布会现场推出了一款令开发者耳目一新的工具:ModelScopeGPT(魔搭GPT)。它能够通过担任“中枢模型”的大语言模型一键调用魔搭社区其他的AI模型,实现大模型和小模型协同完成复杂任务。   这类智能调用工具被业界普遍看好。Model

    2024年02月16日
    浏览(38)
  • ModaHub魔搭社区: AI模型社区ModelScope和Hugging Face行业分析报告

    目录 引言: 一、github星数: 二、模型数: 三、数据集: 四、演示应用程序数: 五、下载数: 六、开发者、付费企业和公司用户数: 结论: AI模型开源社区在近年来迅速发展,为研究人员、开发者和企业提供了丰富的资源和工具。本报告将对两个知名

    2024年02月13日
    浏览(65)
  • 24-25年是下一代浪潮最关键的两年!GenAI框架与工具合集;RAG要点速查手册;国内首个MoE开源大模型;大语言模型新书追更 | ShowMeAI日报

    👀 日报周刊合集 | 🎡 生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! https://d.design/competition/alipay-spring 补充一份背景:堆友 (D.Design) 是阿里巴巴推出的一个新的在线设计平台 支付宝和堆友联合推出了一场 AIGC 视频创作比赛,邀请创作者使用AI工具创作贺岁 MV,并提

    2024年01月22日
    浏览(52)
  • 阿里云通义千问开源第二波!大规模视觉语言模型Qwen-VL上线魔搭社区

    通义千问开源第二波!8月25日消息,阿里云推出大规模视觉语言模型Qwen-VL,一步到位、直接开源。Qwen-VL以通义千问70亿参数模型Qwen-7B为基座语言模型研发,支持图文输入,具备多模态信息理解能力。在主流的多模态任务评测和多模态聊天能力评测中,Qwen-VL取得了远超同等规

    2024年02月11日
    浏览(45)
  • 百度智能云发布国内首个AI原生应用商店,构建全链路大模型生态体系

    面向企业客户启动文心大模型4.0 API调用服务测试申请, 服务超过17000家客户,在各行各业的近500个场景中进行大模型应用落地探索 ……自今年3月面世以来,百度智能云千帆大模型平台作为全球首个一站式企业级大模型平台,为业界交出了唯一一份“满分成绩单”。 10月17日

    2024年02月07日
    浏览(51)
  • ModaHub魔搭社区:开源向量数据库的Milvus怎么读?

    Milvus是一个中文词语,意为“Milvus navigate,为智慧找方向,为价值做链接,为创作者做伙伴”。在读这个词语时,可以按照以下方式发音:   首先,我们需要将Milvus这个词语分解成多个音节。根据汉语拼音的规则,可以将其分解为“mi”、“lu”、“su”。 接下来,我们需要

    2024年02月15日
    浏览(112)
  • ModaHub魔搭社区:阿里云CTO周靖人:魔搭社区将成为中国最大的“大模型自由市场”

    7月7日消息,阿里云CTO周靖人在上海世界人工智能大会上宣布了阿里云的发展计划。   他表示,阿里云将致力于推动中国大模型生态的繁荣,并为大模型创业公司提供全方位的支持。阿里云魔搭社区已经聚集了180万AI开发者和900多个优质AI模型,旨在成为中国最大的“大模型自

    2024年02月15日
    浏览(41)
  • 中国电信开源星辰AI大模型:央企中首个完成LLM研发和开源的选手诞生

    丰色 发自 凹非寺 量子位 | 公众号 QbitAI 没想到啊,开源大模型家族里,居然挤进来一位 特别的选手 : 来自央企,身份为运营商。 具体是谁? 中国电信 。 所谓“不鸣则已,一鸣惊人”: 中国电信集团成立的中电信人工智能科技有限公司凭借全自研算法、精心打造的高质量

    2024年02月21日
    浏览(48)
  • ModaHub魔搭社区:基于阿里云 ACK 搭建开源向量数据库 Milvus

    目录 一、准备资源 二、集群创建: 本集群基于Terway网络构建 二、连接刚刚创建的ACK集群 三、部署Milvus数据库 四、优化Milvus配置 简介: 生成式 AI(Generative AI)引爆了向量数据库(Vector Database)市场,基于大模型的各种应用场景会需要使用到向量数据库。 其中,Milvus 是一

    2024年02月12日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包