在人工智能畛域的极速开展进程中,阿里通义千问的 Qwen2.5 模型以其弱小的性能和宽泛的运行后劲,成为了备受关注的焦点。2024 云栖大会上的颁布,更是让 Qwen2.5 走进了更多开发者和钻研者的视线。本文将深化讨论 Qwen2.5 的各项技术特点和长处。
一、总体概述
Qwen2.5 全系列涵盖了多个尺寸的大言语模型、多模态模型、数学模型和代码模型。这种片面的模型体系,为不同畛域的运行提供了弱小的允许。无论是人造言语处置义务中的文本生成、问答,还是在编程畛域的代码生成与辅佐,亦或是数学识题的求解,Qwen2.5 都能施展出色的作用。每个尺寸的模型都有基础版本、指令追随版本、量化版本,总计上架 100 多个模型,满足了用户在不同场景下的多样化需求,刷新了业界纪录。
二、性能优化
1. 预训练数据长处: Qwen2.5 全系列模型在 18t tokens 数据上启动预训练,预训练数据量大幅度增长到达了 18 万亿 tokens,超越了 meta 最新开源 llama-3.1 的 15 万亿,成为目前训练数据最多的开源模型之一。少量的数据为模型提供了更丰盛的常识和更准确的了解才干。
2. 全体性能更新: 与 Qwen2 相比,Qwen2.5 的全体性能优化了 18%以上。在常识才干方面,其在 MMLU 基准测试等多个测评中都有清楚改良;数学才干也获取了极速优化,例如在 Math 基准上,Qwen2.5-7b/72b-instruct 的得分相比 Qwen2-7b/72b-instruct 有了清楚提高。
3. 指令追随与结构化数据处置才干增强: 在指令追随方面,Qwen2.5 提高清楚,能够更好地理解和口头用户的指令。同时,关于结构化数据(如表格)的了解和生成结构化输入(尤其是)的才干也成功了清楚改良。这使得它在处置复杂数据和须要准确输入的义务中体现愈加出色。
4. 弱小的言语允许: Qwen2.5 允许高达 128k 的高低文长度8k 内容,并且能够丝滑照应多样化的系统揭示,成功角色表演和聊天机器人等义务。它还允许中文、英文、法文、西班牙文、俄文、日文、越南文、阿拉伯文等 29 种以上言语,具备弱小的多言语才干。
三、专项打破
1. Qwen2.5-coder: 用于编程的 Qwen2.5-coder 在多达 5.5t tokens 的编程关系数据上启动了训练,为开发者提供了更高效的编程辅佐。无论是代码的生成、调试,还是回答编程关系的疑问,它都能给出准确且适用的倡导。
2. Qwen2.5-math: Qwen2.5-math 允许经常使用思想链和工具集成推理(TIR)处置中英双语的数学题,是迄今为止最先进的开源数学模型系列。经过在更大规模的高品质数学数据上启动预训练,并联合 Qwen2-math 的技术,其数学识题处置才干获取了极大的优化。
四、运行场景
Qwen2.5 的弱小性能和丰盛配置使其在泛滥畛域都有着宽广的运行前景。
五、本地部署
在魔搭社区,开发者可以经过多种方式体验和经常使用Qwen2.5系列模型。可以经常使用ModelScope CLI、Python SDK或许git clone的方式下载模型。Qwen2.5合集的体验链接为: 。此外,还有小程序体验,如看图解数学题(Qwen2 - VL + Qwen2.5 - Math)的体验链接为:- Math - demo。
1、模型下载
可以驳回modelscope 的snapshot_download启动下载模型(提早装置modelscope :),第一个参数为modelscope上的模型门路,cache_dir为模型本地寄存地址
#模型下载from modelscope import snapshot_downloadmodel_dir = snapshot_download('Qwen/Qwen2.5-7B-Instruct', cache_dir='/root/autodl-tmp', revisinotallow='master')
下载成功如下:
2、加载模型
from modelscope import AutoModelForCausalLM, AutoTokenizer# 指定要加载的模型称号model_name = "/root/autodl-tmp/Qwen/Qwen2___5-7B-Instruct"# 加载因果言语模型model = AutoModelForCausalLM.from_pretrained(model_name,torch_dtype="auto",# 智能确定 PyTorch 的数据类型device_map="auto"# 智能确定设施映射)# 加载分词器tokenizer = AutoTokenizer.from_pretrained(model_name)
加载如下:
3、定义揭示信息
# 设置揭示文本prompt = "Give me a short introduction to artificial intelligence."# 构建蕴含系统角色和用户角色的信息列表messages = [{"role": "system", "content": "You are Qwen, created by Alibaba Cloud. You are a helpful assistant."},{"role": "user", "content": prompt}]# 将信息列表运行聊天模板启动处置,不启动分词操作且减少生成揭示text = tokenizer.apply_chat_template(messages,tokenize=False,add_generation_prompt=True)text
输入:
'<|im_start|>system\nYou are Qwen, created by Alibaba Cloud. You are a helpful assistant.<|im_end|>\n<|im_start|>user\nGive me a short introduction to artificial intelligence.<|im_end|>\n<|im_start|>assistant\n'
4、分词处置
对输入文本启动分词和张量转换
# 将处置后的文本转换为模型输入张量,并移动到模型所在设施上model_inputs = tokenizer([text], return_tensors="pt").to(model.device)model_inputs
输入:
5、生成文本
生成文本,再从生成的标志中去除输入局部的标志
# 生成文本,设置最大重生成的标志数为 512generated_ids = model.generate(**model_inputs,max_new_tokens=512)# 从生成的标志中去除输入局部的标志generated_ids = [output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)]generated_ids
输入:
6、解码前往生成结果
# 将生成的标志解码为文本,并跳过不凡标志response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]response
输入:
'Certainly! Artificial Intelligence (AI) refers to the simulation of human intelligence in machines that are programmed to think, learn, and perform tasks that typically require human cognition. This includes activities such as visual perception, speech recognition, decision-making, and language translation.\n\nKey components of AI include:\n\n1. **Machine Learning**: A subset of AI where systems can automatically learn and improve from experience without being explicitly programmed.\n2. **Deep Learning**: A more advanced form of machine learning that uses neural networks with many layers to model and solve complex problems.\n3. **Natural Language Processing (NLP)**: The ability of computers to understand, interpret, and generate human language.\n4. **Computer Vision**: Enabling machines to interpret and understand the visual world, similar to how humans would.\n5. **Robotics**: Combining AI with robotics to create machines that can perform tasks autonomously or semi-autonomously.\n\nAI has numerous applications across various fields, including healthcare, finance, transportation, entertainment, and more. It continues to evolve rapidly, transforming industries and societies in profound ways.'
结语
在模型微调方面,可以经常使用ms-swift 启动微调。它作为魔搭社区官网提供的 LLM 工具箱,以其弱小的配置允许着对 qwen2.5 的微调操作。经过 ms-swift,开发者能够对 qwen2.5 启动精细调整,使其愈加贴合特定的运行需求。而微调后的模型在推理环节中,更是展现出了高度的准确性和顺应性,为各种复杂义务的处置提供了有力保证。同时,ms-swift 宽泛允许 300 多个大言语模型和 80 多个多模态大模型的微调到部署,为开发者提供了丰盛的选用和宽广的翻新空间。
在模型部署方面vLLM 部署和 ollama 部署犹如两颗绚烂的明星,为开发者照亮了前行的路线。它们以其方便性和高效性,使得 Qwen2.5 能够在各种实践场景中得以顺利运行。无论是在企业的智能化消费中,还是在科研机构的翻新钻研里,亦或是在日常生存的智能服务中,Qwen2.5 都能借助这些低劣的部署方式施展出渺小的价值。
本文转载自,作者: