企业宣传,产品推广,广告招商,广告投放联系seowdb

Qwen2.5 新一代开源大模型的卓越力量 探索阿里通义千问

在人工智能领域的快速发展进程中,阿里通义千问的 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 都能借助这些优秀的部署方式发挥出巨大的价值。

本文转载自​​,作者:​​

© 版权声明
评论 抢沙发
加载中~
每日一言
不怕万人阻挡,只怕自己投降
Not afraid of people blocking, I'm afraid their surrender