* 戳上方蓝字“开源先锋”关注我
大家好,我是开源君!
最近阿里又搞了个大的,其发布的通义千问新一代开源模型Qwen2.5
,不仅成为国产第一开源大模型,更是性能超越Llama,再次登上全球开源王座。
项目地址:
https://github.com/QwenLM/Qwen2.5
https://huggingface.co/Qwen
在各种榜单和权威测试中,Qwen2.5都取得了令人瞩目的成绩。
基准测试平台Chatbot Arena日前公布最新大模型盲测榜单,Qwen2.5-72B-Instruct排名LLM榜单第十,是前十唯一的中国大模型。
它不仅在多项基准测试中超越了其他顶尖模型,比如Llama3.1-405B,更是在多任务中以更少的参数规模就轻松取胜。
这就好比在一场马拉松比赛中,Qwen2.5以更少的步数跑出了更好的成绩,这实力,不服不行!
开发者们对Qwen2.5的评价也是一边倒的好评。
它的易用性、灵活性和强大的性能,让开发者们能够轻松地将其应用于各种复杂的任务中,从语言处理到图像识别,Qwen2.5都能游刃有余,发布10天下载量超过150万。
今天开源君就和大家好好聊聊这个国产第一开源大模型 - Qwen2.5
项目简介
Qwen2.5
是阿里巴巴集团Qwen团队研发的一系列大型语言模型,它不仅包含了从0.5B到72B不同参数规模的模型,还有专门针对编程的Qwen2.5-Coder和数学的Qwen2.5-Math模型,满足不同场景和应用需求。
这些模型在大规模多语言和多模态数据上进行预训练,并通过高质量数据进行后期微调,以贴近人类偏好。
它不仅能够处理自然语言理解、文本生成、视觉理解、音频理解等任务,还能够进行工具使用、角色扮演、作为AI Agent进行互动等多种能力。
这就像是有了一个超级智能的助手,无论是你要写文章、解决数学问题、还是识别图片和视频内容,Qwen2.5都能帮你搞定。
目前在Github上面已经收获了9K star!
性能特色
相比于上一代的Qwen2系列,Qwen2.5系列模型进行了一系列的升级和更新,尤其在一般任务、数学和编码方面,这些改进使得Qwen2.5在性能和能力上都有了显著的提升。
下面是一些主要的升级看点:
1、全面开源:
Qwen2.5系列在原有开源尺寸(0.5B、1.5B、7B、72B)的基础上,新增了14B和32B的模型,为用户提供了更多的选择。 除了3B和72B模型外,其他所有开源模型都采用了Apache 2.0许可证,这意味着用户可以自由使用、修改和商业化这些模型。
2、更大的训练数据集:
Qwen2.5系列模型在预训练时使用的数据集从7万亿个token扩展到了最多18万亿个token,这使得模型获得了更多的知识,提升了其在多种任务上的表现。
3、性能提升:
Qwen2.5系列模型在遵循指令、生成长文本(超过8K tokens)、理解结构化数据(例如表格)以及生成结构化输出(尤其是JSON)方面都有了显著的改进。 模型对系统提示的适应性更强,增强了角色扮演和聊天机器人的条件设置能力。
4、多语言支持:
Qwen2.5系列模型支持超过29种语言,包括中文、英文、法文、西班牙文、葡萄牙文、德文、意大利文、俄文、日文、韩文、越南文、泰文、阿拉伯文等。
5、专业领域模型:
Qwen2.5-Coder和Qwen2.5-Math是针对编程和数学领域的专业模型,它们在更大规模的数据上进行训练,提升了专业领域的能力。 Qwen2.5-Coder在5.5 T tokens的编程相关数据上进行训练,支持128K上下文,覆盖92种编程语言。 Qwen2.5-Math支持中英文数学问题解答,整合了多种推理方法,包括CoT(Chain of Thought)、PoT(Program of Thought)和TIR(Tool-Integrated Reasoning)。
6、长文本支持能力:
Qwen2.5系列模型支持高达128K tokens的上下文长度,并能生成最多8K tokens的内容。
7、模型性能:
在多个基准测试中,Qwen2.5系列模型展示了其卓越的性能,例如Qwen2.5-32B在某些任务中胜过了Qwen2-72B。
8、工具使用和推理能力:
Qwen2.5系列模型在工具使用和推理能力上也有所增强,提供了更多的功能和更好的用户体验。
快速使用
想要快速上手体验Qwen2.5?官方建议使用transformers库,这是Hugging Face提供的一个强大的库,支持多种预训练模型。
下面是代码片段示例展示了如何运行 Qwen2.5-7B-Instruct 模型:
# 首先,导入必要的库
from transformers import AutoModelForCausalLM, AutoTokenizer
# 然后,选择一个模型,这里我们以Qwen2.5-7B-Instruct为例
model_name = "Qwen/Qwen2.5-7B-Instruct"
# 加载模型和分词器
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype="auto", device_map="auto")
tokenizer = AutoTokenizer.from_pretrained(model_name)
# 准备输入提示
prompt = "Give me a short introduction to large language models."
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)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
# 生成文本
generated_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)]
# 解码生成的文本
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(response)
如果想使文字有流式生成的效果,可以借助TextStreamer
,下面是一个示例:
...
# 复用上面 model.generate() 之前的代码
from transformers import TextStreamer
streamer = TextStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True)
generated_ids = model.generate(
**model_inputs,
max_new_tokens=512,
streamer=streamer,
)
我们也可以通过官方在 Hugging Face 上的 Demo 来直接感受Qwen2.5,体验可以说是非常直观和流畅。
无论是通过Hugging Face平台还是ModelScope,我们都可以轻松找到并使用Qwen2.5的模型。而且,Qwen2.5还提供了丰富的文档和教程,让开发者可以快速上手。
体验感受下来,Qwen2.5
不仅性能强大,而且开源开放,适合各种开发者和研究人员使用,不但能做文本生成、翻译,还能搞定代码生成、文档总结等复杂任务。
它以其卓越的性能、丰富的功能和友好的社区,赢得了开发者和用户的一致好评,绝对称得上是“国产第一开源大模”!
总之一句话:Qwen2.5,真的不容错过!
更多细节功能,感兴趣的可以到项目地址查看:
项目地址:
https://github.com/QwenLM/Qwen2.5
https://huggingface.co/Qwen