GITHUB HUGGING FACE MODELSCOPE DEMO DISCORD
简介
在 Qwen2 发布后的已往三个月里,许多开发者基于 Qwen2 语言模型构建了新的模型,并为我们提供了宝贵的反馈。在这段时间里,我们专注于创建更智能、更博学的语言模型。本日,我们很高兴地向大家先容 Qwen 家族的最新成员:Qwen2.5。
我们将要宣布的可能是历史上最大的开源发布!让我们开始这场盛会吧!
我们的最新发布包罗了语言模型 Qwen2.5,以及专门针对编程的 Qwen2.5-Coder 和数学的 Qwen2.5-Math 模型。所有开放权重的模型都是稠密的、decoder-only的语言模型,提供多种不同规模的版本,包罗:
- Qwen2.5: 0.5B, 1.5B, 3B, 7B, 14B, 32B, 以及72B;
- Qwen2.5-Coder: 1.5B, 7B, 以及即将推出的32B;
- Qwen2.5-Math: 1.5B, 7B, 以及72B。
除了3B和72B的版本外,我们所有的开源模型都采用了 Apache 2.0 许可证。您可以在相应的 Hugging Face 堆栈中找到许可证文件。除此之外,我们还通过 Model Studio 提供了旗舰语言模型 Qwen-Plus 和 Qwen-Turbo 的 API,诚邀您来体验和使用!别的,我们还开源了相比上个月发布的版本有性能提拔的 Qwen2-VL-72B。
如需相识更多关于 Qwen2.5、Qwen2.5-Coder 和 Qwen2.5-Math 的详细信息,请随时访问以下链接:
Qwen2.5 LLM Qwen2.5-Coder Qwen2.5-Math
准备好迎接我们全面的模型系列所带来的无穷可能吧!我们非常高兴能够与您分享这些前沿模型,并期待看到您使用它们所取得的非凡结果!
要点总结
就 Qwen2.5 语言模型而言,所有模型都在我们最新的大规模数据集上进行了预训练,该数据集包含多达 18T tokens。相较于 Qwen2,Qwen2.5 获得了显著更多的知识(MMLU:85+),并在编程本领(HumanEval 85+)和数学本领(MATH 80+)方面有了大幅提拔。别的,新模型在指令执行、天生长文本(超过 8K 标志)、理解布局化数据(比方表格)以及天生布局化输出特别是 JSON 方面取得了显著改进。 Qwen2.5 模型总体上对各种system prompt更具顺应性,增强了脚色扮演实现和谈天呆板人的条件设置功能。与 Qwen2 类似,Qwen2.5 语言模型支持高达 128K tokens,并能天生最多 8K tokens的内容。它们同样保持了对包罗中文、英文、法文、西班牙文、葡萄牙文、德文、意大利文、俄文、日文、韩文、越南文、泰文、阿拉伯文等 29 种以上语言的支持。 我们在下表中提供了有关模型的基本信息。
专业范畴的专家语言模型,即用于编程的 Qwen2.5-Coder 和用于数学的 Qwen2.5-Math,相比其前身 CodeQwen1.5 和 Qwen2-Math 有了实质性的改进。 具体来说,Qwen2.5-Coder 在包含 5.5 T tokens 编程相关数据上进行了训练,使纵然较小的编程专用模型也能在编程评估基准测试中表现出媲美大型语言模型的竞争力。 同时,Qwen2.5-Math 支持 中文 和 英文,并整合了多种推理方法,包罗CoT(Chain of Thought)、PoT(Program of Thought)和 TIR(Tool-Integrated Reasoning)。
API
除了我们的开源模型之外,我们还通过 API 服务提供了更多的模型。您可以访问 阿里云百炼平台 获取更多详情,包罗定价信息。关于 API 模型的性能,请参阅接下来的模型性能部分。
模型模型名称形貌定价Qwen-Plusqwen-plus-latest, qwen-plus-0919Qwen2.5 的旗舰模型,在广泛的任务中实现了顶级性能,实用于需要高级推理和深刻理解的复杂任务。0.0008 /0.002Qwen-Turboqwen-turbo-latest, qwen-turbo-0919Qwen2.5 的平衡模型,提供快速且准确度高的响应,非常适合及时应用。0.0003 /0.0006Qwen-VL-Maxqwen-vl-max-latest, qwen-vl-max-0919Qwen VL 的旗舰模型, 具有良好的图像理解和视频推理本领,可以更好地识别图片中的多语言笔墨和手写体的笔墨。0.02 / 0.02 对于每个模型,我们提供两个不同的模型名称。第一个名称通常是带有最新模型的相对稳定的服务。然而,为了确保服务的稳定性,我们通常首先在以 -latest 末端的模型名称上部署我们的最新模型,并且还有一个以日期(如 -0919)末端的快照版本。在定价方面,我们提供输入和输出标志的价格(¥ / 千 tokens)
这些模型针对不同的应用场景进行了优化,答应您选择最适合您特定需求的模型。无论您需要顶级性能、快速响应时间,还是两者之间的平衡,我们的 API 服务都能满足您的需求。
模型性能
Qwen2.5
为了展示 Qwen2.5 的本领,我们用我们最大的开源模型 Qwen2.5-72B —— 一个拥有 720 亿参数的稠密 decoder-only 语言模型——与领先的开源模型如 Llama-3.1-70B 和 Mistral-Large-V2进行了基准测试。我们在多个基准测试中展示了颠末指令调优的版本的综合结果,评估了模型的本领和人类偏好。
除了指令微调的模型之外,我们还发现,我们的旗舰开源模型 Qwen2.5-72B 的底子语言模型性能达到了顶级水准,即便是在与 Llama-3-405B 这样更大的模型对比时也是如此。
别的,我们将基于 API 的模型 Qwen-Plus 与领先的专有和开源模型进行了对比,包罗 GPT4-o、Claude-3.5-Sonnet、Llama-3.1-405B 和 DeepSeek-V2.5。这一对比展示了 Qwen-Plus 在当前大型语言模型范畴中的竞争地位。结果显示,Qwen-Plus 显著优于 DeepSeek-V2.5,并且在与 Llama-3.1-405B 的竞争中表现出了竞争力,尽管在某些方面仍不及 GPT4-o 和 Claude-3.5-Sonnet。 这次基准测试不仅突显了 Qwen-Plus 的优势,也指出了将来需要改进的地方,进一步强化了我们在大型语言模型范畴连续改进和创新的答应。
Qwen2.5-14B 和 Qwen2.5-32B
Qwen2.5 的一个告急更新是重新引入了我们的 140 亿参数和 320 亿参数模型,即 Qwen2.5-14B 和 Qwen2.5-32B。这些模型在多样化的任务中超越了划一规模或更大规模的基线模型,比方 Phi-3.5-MoE-Instruct 和 Gemma2-27B-IT。 它们在模型巨细和本领之间达到了最佳平衡,提供了匹配甚至超过一些较大模型的性能。别的,我们的基于 API 的模型 Qwen2.5-Turbo 相比这两个开源模型提供了极具竞争力的性能,同时提供了本钱效益高且快速的服务。
近来也出现了显着的转向小型语言模型(SLMs)的趋势。尽管历史上小型语言模型(SLMs)的表现一直落后于大型语言模型(LLMs),但二者之间的性能差距正在敏捷缩小。值得注意的是,纵然是只有约莫 30 亿参数的模型现在也能取得高度竞争力的结果。附带的图表显示了一个告急的趋势:在 MMLU 中得分超过 65 的新型模型正变得越来越小,这凸显了语言模型的知识密度增长速度加快。特别值得一提的是,我们的 Qwen2.5-3B 成为这一趋势的一个典型例子,它仅凭约 30 亿参数就实现了令人印象深刻的性能,展示了其相对于前辈模型的高效性和本领。
除了在基准评估中取得的显著增强外,我们还改进了我们的后训练方法。我们的四个主要更新包罗支持最长可达 8K 标志的长文本天生,大幅提拔了对布局化数据的理解本领,天生布局化输出(尤其是 JSON 格式)更加可靠,并且在多样化的体系提示下的表现得到了增强,这有助于有效进行脚色扮演。请查阅 LLM 博客相识如何利用这些功能的详细信息。
Qwen2.5-Coder
自从推出 CodeQwen1.5 以来,我们吸引了大量依靠该模型完成各种编程任务的用户,这些任务包罗调试、回复编程相关的问题以及提供代码发起。我们最新的迭代版本 Qwen2.5-Coder 特别为编程应用而操持。在本节中,我们展示了 Qwen2.5-Coder-7B-Instruct 的性能结果,并将其与领先的开源模型进行了基准测试,此中包罗那些参数目大得多的模型。
我们以为 Qwen2.5-Coder 是您个人编程助手的良好选择。尽管它的体积较小,但在多种编程语言和任务中,它的表现超过了浩繁大型语言模型,展现了其卓越的编程本领。
Qwen2.5-Math
在数学专用语言模型方面,我们上个月发布了首批模型 Qwen2-Math,而这一次,相比于 Qwen2-Math,Qwen2.5-Math 在更大规模的数学相关数据上进行了预训练,包罗由 Qwen2-Math 天生的合成数据。 别的,这一次我们增加了对中文的支持,并通过赋予其进行 CoT(Chain of Thought)、PoT(Program of Thought)和 TIR(Tool-Integrated Reasoning)的本领来增强其推理本领。 Qwen2.5-Math-72B-Instruct 的团体性能超越了 Qwen2-Math-72B-Instruct 和 GPT4-o,甚至好坏常小的专业模型如 Qwen2.5-Math-1.5B-Instruct 也能在与大型语言模型的竞争中取得高度竞争力的表现。
使用 Qwen2.5
最简单的方法使用过阿里云百炼平台提供的通义千问 API 来使用 阿里云百炼平台,百炼平台已经兼容 OpenAI 接口规范。
- from openai import OpenAI
- import os
- client = OpenAI(
- api_key=os.getenv("YOUR_API_KEY"),
- base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
- )
- completion = client.chat.completions.create(
- model="qwen-plus-latest",
- messages=[
- {'role': 'user', 'content': 'Tell me something about large language models.'}
- ]
- )
- print(completion.choices[0].message.content)
复制代码 通过 Hugging Face Transformers 库来使用,正如在model card中演示的那样:
- from transformers import AutoModelForCausalLM, AutoTokenizer
- 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 model."
- messages = [
- {"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]
复制代码 要使用 vLLM 运行 Qwen2.5 并部署一个与 OpenAI API 兼容的服务,可以运行如下命令:
- python -m vllm.entrypoints.openai.api_server \
- --model Qwen/Qwen2.5-7B-Instruct
复制代码 如果你使用的是vllm>=0.5.3,可以使用 vllm serve 命令。然后你就可以通过 curl 来与 Qwen2.5 进行对话了:
- curl http://localhost:8000/v1/chat/completions -H "Content-Type: application/json" -d '{
- "model": "Qwen/Qwen2.5-7B-Instruct",
- "messages": [
- {"role": "user", "content": "Tell me something about large language models."}
- ],
- "temperature": 0.7,
- "top_p": 0.8,
- "repetition_penalty": 1.05,
- "max_tokens": 512
- }'
复制代码 别的,Qwen2.5 支持 vLLM 内置的工具调用功能。此功能要求 vllm>=0.6。如果您想启用此功能,请使用以下命令启动 vLLM 的 OpenAI API 兼容服务:
- vllm serve Qwen/Qwen2.5-7B-Instruct --enable-auto-tool-choice --tool-call-parser hermes
复制代码 之后你可以像使用 GPT’s tool calling 那样来使用它。
Qwen2.5 同样支持 Ollama’s tool calling.你可以通过启动Ollama的OpenAI兼容服务,并以与使用GPT的工具调用雷同的方式来使用它。
Qwen2.5 的谈天模板中也包含了一个工具调用模板,这意味着你可以使用 Hugging Face transformers’ tool calling support.
vLLM / Ollama / Transformers 的工具调用支持使用受 Nous’ Hermes 的格式启发的工具调用模板。 此前Qwen-Agent 提供了使用Qwen2自己的工具调用模板的工具调用支持(这较难与vllm和Ollama集成),而 Qwen2.5 既保持了与 Qwen2 模板和 Qwen-Agent 的兼容性。
Qwen 的朋友们
|