千亿大模型来了!通义千问110B模型开源,魔搭社区推理、微调最佳实践

本文涉及的产品
交互式建模 PAI-DSW,每月250计算时 3个月
模型训练 PAI-DLC,100CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
简介: 近期开源社区陆续出现了千亿参数规模以上的大模型,这些模型都在各项评测中取得杰出的成绩。今天,通义千问团队开源1100亿参数的Qwen1.5系列首个千亿参数模型Qwen1.5-110B,该模型在基础能力评估中与Meta-Llama3-70B相媲美,在Chat评估中表现出色,包括MT-Bench和AlpacaEval 2.0。

近期开源社区陆续出现了千亿参数规模以上的大模型,这些模型都在各项评测中取得杰出的成绩。今天,通义千问团队开源1100亿参数的Qwen1.5系列首个千亿参数模型Qwen1.5-110B,该模型在基础能力评估中与Meta-Llama3-70B相媲美,在Chat评估中表现出色,包括MT-Bench和AlpacaEval 2.0。

Qwen1.5-110B与其他Qwen1.5模型相似,采用了相同的Transformer解码器架构。它包含了分组查询注意力(GQA),在模型推理时更加高效。该模型支持32K tokens的上下文长度,同时它仍然是多语言的,支持英、中、法、西、德、俄、日、韩、越、阿等多种语言。

下图为基础语言模型效果评估,并与最近的SOTA语言模型Meta-Llama3-70B以及Mixtral-8x22B进行了比较。

image.png

上述结果显示,千问110B模型在基础能力方面至少与Llama-3-70B模型相媲美。在这个模型中,没有对预训练的方法进行大幅改变,因此110B模型和72B相比的性能提升主要来自于增加模型规模。

在MT-Bench和AlpacaEval 2.0上进行了Chat评估,结果如下:

image.png

与之前发布的Qwen1.5-72B模型相比,在两个Chat模型的基准评估中,110B表现显著更好。评估结果的持续改善表明,即使在没有大幅改变后训练方法的情况下,更强大、更大规模的基础语言模型也可以带来更好的Chat模型

Qwen1.5-110B是Qwen1.5系列中规模最大的模型,也是该系列中首个拥有超过1000亿参数的模型。它在与最近发布的SOTA模型Llama-3-70B的性能上表现出色,并且明显优于72B模型。这告诉我们,在模型大小扩展方面仍有很大的提升空间。虽然Llama-3的发布表明预训练数据规模具有重要意义,但我们相信通过在未来的发布中同时扩展数据和模型大小,我们可以同时获得两者的优势。敬请期待Qwen2!

小编划重点:

  • 首个千亿级模型来袭,Qwen1.5-110B,今天发布了base和chat模型,量化模型和GGUF模型也将会发布。
  • Qwen1.5-110B相比72B效果有很大的提升,该提升主要来自模型规模的提升。
  • Qwen1.5-110B和最近发布的SOTA模型Llama-3-70B的性能上相比不分伯仲,未来通义千问团队将会探索模型规模提升和扩展预训练数据规模两种方法同时带来的优势,请大家期待Qwen2!

魔搭社区最佳实践

模型体验:

体验链接:

https://modelscope.cn/studios/qwen/Qwen1.5-110B-Chat-demo

为了便于大家比较,社区搭建了Llama3-70B-Instruct和Qwen1.5-110B-Chat的对比环境,体验链接:

https://www.modelscope.cn/studios/LLM-Research/Llama3-Qwen1.5-Arena

例如,多语言能力:

image.png

小学数学so easy:

image.png

再难一点也不在话下:

image.png

逻辑能力:

image.png

模型下载

模型链接:

Qwen1.5-110B-Chat:

https://www.modelscope.cn/models/qwen/Qwen1.5-110B-Chat

Qwen1.5-110B:

https://www.modelscope.cn/models/qwen/Qwen1.5-110B

from modelscope import snapshot_download
model_dir = snapshot_download('qwen/Qwen1.5-110B-Chat')

模型推理

推理代码:

from modelscope import AutoModelForCausalLM, AutoTokenizer
device = "cuda" # the device to load the model onto
model = AutoModelForCausalLM.from_pretrained(
    "qwen/Qwen1.5-110B-Chat",
    torch_dtype="auto",
    device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained("qwen/Qwen1.5-110B-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]

显存要求(4卡A100,230G显存):

image.png

模型训练

魔搭社区的微调框架SWIFT已经支持了Qwen1.5全系列模型的微调和推理。

下面我们以自我认知任务为例针对千问1.5-110b-chat模型为例给出训练参数配置:

nproc_per_node=4
CUDA_VISIBLE_DEVICES=0,1,2,3 \
NPROC_PER_NODE=$nproc_per_node \
swift sft \
    --model_type qwen1half-110b-chat \
    --sft_type lora \
    --tuner_backend peft \
    --dtype AUTO \
    --output_dir output \
    --ddp_backend nccl \
    --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 \
    --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 \
    --use_flash_attn true \
    --deepspeed default-zero3 \
    --self_cognition_sample 2000 \
    --model_name 小白 'Xiao Bai' \
    --model_author 魔搭 ModelScope \

训练loss:

image.png

可以看到其收敛非常平滑。

训练的显存使用情况:

image.png

训练后推理可以使用如下脚本(注意将--ckpt_dir替换为训练log输出的weights路径):

# Experimental environment: 4*A100
CUDA_VISIBLE_DEVICES=0,1,2,3 \
swift infer \
    --ckpt_dir "/output/qwen1half-110b-chat/vx-xxx/checkpoint-xx" \
    --load_dataset_config true \
    --max_length 2048 \
    --eval_human true \
    --use_flash_attn false \
    --max_new_tokens 2048 \
    --temperature 0.1 \
    --top_p 0.7 \
    --repetition_penalty 1. \
    --do_sample true \
    --merge_lora_and_save false \


自我认知对话测试:

image.png

通用对话测试:

image.png

相关文章
|
21天前
|
Go 开发工具
百炼-千问模型通过openai接口构建assistant 等 go语言
由于阿里百炼平台通义千问大模型没有完善的go语言兼容openapi示例,并且官方答复assistant是不兼容openapi sdk的。 实际使用中发现是能够支持的,所以自己写了一个demo test示例,给大家做一个参考。
|
2天前
|
人工智能 监控 算法
3D-Speaker:阿里通义开源的多模态说话人识别项目,支持说话人识别、语种识别、多模态识别、说话人重叠检测和日志记录
3D-Speaker是阿里巴巴通义实验室推出的多模态说话人识别开源项目,结合声学、语义和视觉信息,提供高精度的说话人识别和语种识别功能。项目包含工业级模型、训练和推理代码,以及大规模多设备、多距离、多方言的数据集,适用于多种应用场景。
69 18
3D-Speaker:阿里通义开源的多模态说话人识别项目,支持说话人识别、语种识别、多模态识别、说话人重叠检测和日志记录
|
14天前
|
开发框架 自然语言处理 JavaScript
千问开源P-MMEval数据集,面向大模型的多语言平行评测集
近期,通义千问团队联合魔搭社区开源的多语言基准测试集 P-MMEval,涵盖了高效的基础和专项能力数据集。
千问开源P-MMEval数据集,面向大模型的多语言平行评测集
|
17天前
|
机器学习/深度学习 人工智能 达摩院
ClearerVoice-Studio:阿里通义开源的语音处理框架,提供语音增强、分离和说话人提取等功能
ClearerVoice-Studio 是阿里巴巴达摩院通义实验室开源的语音处理框架,集成了语音增强、分离和音视频说话人提取等功能。该框架基于复数域深度学习算法,能够有效消除背景噪声,保留语音清晰度,并提供先进的预训练模型和训练脚本,支持研究人员和开发者进行语音处理任务。
130 3
ClearerVoice-Studio:阿里通义开源的语音处理框架,提供语音增强、分离和说话人提取等功能
|
1天前
|
机器学习/深度学习 人工智能 安全
通义视觉推理大模型QVQ-72B-preview重磅上线
Qwen团队推出了新成员QVQ-72B-preview,这是一个专注于提升视觉推理能力的实验性研究模型。提升了视觉表示的效率和准确性。它在多模态评测集如MMMU、MathVista和MathVision上表现出色,尤其在数学推理任务中取得了显著进步。尽管如此,该模型仍存在一些局限性,仍在学习和完善中。
|
1天前
|
关系型数据库 机器人 OLAP
智答引领|AnalyticDB与通义千问大模型联手打造社区问答新体验
PolarDB开源社区推出基于云原生数据仓库AnalyticDB和通义千问大模型的“PolarDB知识问答助手”,实现一站式全链路RAG能力,大幅提升查询效率和问答准确率。该系统整合静态和动态知识库,提供高效的数据检索与查询服务,支持多种场景下的精准回答,并持续优化用户体验。欢迎加入钉群体验并提出宝贵意见。
智答引领|AnalyticDB与通义千问大模型联手打造社区问答新体验
|
28天前
|
人工智能 自然语言处理
ACE:阿里通义实验室推出的全能图像生成和编辑模型
ACE是阿里巴巴通义实验室推出的全能图像生成和编辑模型,基于扩散变换器,支持多模态输入和多任务处理。该模型通过长上下文条件单元(LCU)和统一条件格式,能够理解和执行自然语言指令,实现图像生成、编辑和多轮交互等复杂任务,显著提升视觉内容创作的效率和灵活性。
96 3
ACE:阿里通义实验室推出的全能图像生成和编辑模型
|
27天前
|
机器学习/深度学习 人工智能 安全
通义千问开源的QwQ模型,一个会思考的AI,百炼邀您第一时间体验
Qwen团队推出新成员QwQ-32B-Preview,专注于增强AI推理能力。通过深入探索和试验,该模型在数学和编程领域展现了卓越的理解力,但仍在学习和完善中。目前,QwQ-32B-Preview已上线阿里云百炼平台,提供免费体验。
|
17天前
|
缓存 API 开发工具
Qwen-coder方向-如果从0开始应用通义千问开源大模型
从0开始接触,带您全面了解Qwen2.5语言模型家族,包括其核心功能、微调方法以及具体应用场景。我们将通过一系列精心准备的应用demo和使用指南,帮助您掌握如何充分利用Qwen2.5的强大能力
213 8
|
26天前
|
机器学习/深度学习 人工智能 安全
千问团队开源会思考的QwQ模型,这模型成精了!
QwQ是由Qwen团队开发的大型语言模型,专注于增强AI的推理能力。此预览版本在数学和编程领域表现出色,但在其他领域仍有提升空间。模型具备深度自省和自我质疑的能力,通过逐步推理和假设检验,能够在复杂问题上取得突破性进展。QwQ不仅支持本地推理和Ollama直接运行,还提供了详细的微调指南,助力开发者根据特定需求定制模型。尽管QwQ在推理过程中存在语言切换和安全性等方面的局限性,Qwen团队仍致力于不断优化,推动模型向更高层次的智能迈进。[了解更多](https://modelscope.cn/studios/Qwen/QwQ-32B-preview)
千问团队开源会思考的QwQ模型,这模型成精了!

热门文章

最新文章