微信扫码
与创始人交个朋友
我要投稿
Qwen1.5-MoE模型:2.7B的激活参数量达到7B模型的性能
今天阿里放了MOE的模型,总参数量14.3B,具有64个专家,每次激活8个,在仅激活2.7B参数情况下,效果可以与Qwen1.5-7B模型媲美,并且训练陈本降低75%,推理速度提升1.74倍。同时阿里开源了Base版本模型和Chat版本模型。
博客:https://qwenlm.github.io/zh/blog/qwen-moe/
HF:https://huggingface.co/Qwen/Qwen1.5-MoE-A2.7B
HF:https://huggingface.co/Qwen/Qwen1.5-MoE-A2.7B-Chat
注意:以下内容来自参考Qwen官方博客。
与Mistral-MOE配置8个专家采用Top-2门控策略选择专家不同,主要进行以下改进:
在MMLU、GSM8K、HumanEval和Multilingual榜单上评论了Qwen1.5-MoE-A2.7B模型的语言理解、数学、代码和多语言能力。在MT-Bench榜单上测试了Chat模型的能力。发现Qwen1.5-MoE-A2.7B效果可以媲美最佳的7B模型。
尽管MOE模型的总参数了较大,但实际激活参数远小于7B模型,并由于初始化方法无需过多数据进行模型训练,从而显著降低了模型75%的训练成本。
并且在A100-80G显卡上,利用vllm框架测试Qwen1.5-7B和Qwen1.5-MoE-A2.7B模型的推理性能,保持输入输出token均为1k情况下,具体TPS如下,可以发现Qwen1.5-MoE-A2.7B模型与Qwen1.5-7B模型相比,推理速度提高了约1.74倍。
利用transformers进行Qwen1.5-MoE-A2.7B模型推理如下所示:
from transformers import AutoModelForCausalLM, AutoTokenizer
device = "cuda" # the device to load the model onto
model = AutoModelForCausalLM.from_pretrained(
"Qwen/Qwen1.5-MoE-A2.7B-Chat",
torch_dtype="auto",
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen1.5-MoE-A2.7B-Chat")
prompt = "Give me a short introduction to large language model."
messages = [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(device)
generated_ids = model.generate(
model_inputs.input_ids,
max_new_tokens=512
)
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]
开源的MOE模型越来越多,最近老马的Grok-1模型是MOE,DBRX的132B模型也是MOE,今天千问也开源了MOE。
但总觉得如论MOE模型有些投机取巧的意味,狗头保命。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-03-30
2024-04-26
2024-05-14
2024-04-12
2024-05-10
2024-05-28
2024-07-18
2024-04-25
2024-05-22
2024-04-26