Qwen2.5:重新定义大型语言模型的效率
更智能地扩展和更好地学习与强化学习
语言模型的新纪元:介绍 Qwen2.5
基于大型语言模型(LLMs)的突破,Qwen2.5 处于提高效率和先进学习的最前沿。忠于其指导原则——“更聪明地扩展,更好地学习,通过强化学习”——Qwen2.5 被设计用来解决模型性能、与人类偏好的对齐以及成本效益等紧迫问题。
无论您是在探索基本的问答功能,还是在推动复杂的 AI 驱动工作流程,Qwen2.5 都旨在重新定义大型语言模型可以实现的目标。
目标
Qwen2.5 的总体目标是推动 LLM 能力的边界,同时保持对现实世界限制的关注。
此版本在大规模和智能优化之间引入了平衡,利用强化学习和其他对齐策略,以确保输出更紧密地符合用户需求和伦理考虑。
LLMs的重要性
LLMs在近年来彻底改变了人工智能研究和行业应用。通过摄取大量文本数据,这些模型获得了对语言模式和上下文的广泛理解,使它们能够:
- 理解自然语言中的复杂指令。
- 生成高质量的文本内容,如论文、文章和代码片段。
- 以最小或零额外训练适应各种任务(少量学习/零学习)。
从自动化客户服务到复杂的数据分析,LLMs推动了一系列创新,提高效率、降低成本,并开启新的机会。
克服规模和对齐中的挑战
尽管大型语言模型(LLMs)具有显著的能力,但大规模构建和部署这些模型带来了重大挑战:
- 计算成本 — 较大的模型通常需要在训练时间、内存和能源方面呈指数级增加。
- 突现行为 — 随着模型的增长,误信息或有害偏见等意想不到的问题可能会浮现。
- 以人为本的对齐 — 确保模型的输出尊重人类价值观并遵循用户意图仍然是一个持续的挑战。
这些因素突显了为什么单纯的“扩大规模”已不再足够——需要一种智能且资源高效的方法。
Qwen2.5 的独特之处
强化学习以实现更好的对齐Qwen2.5 采用先进的训练阶段,包括直接偏好优化 (DPO) 和基于群体的强化学习,以纳入人类反馈。这种迭代方法使模型能够更有效地调整其行为,以符合用户的实际需求,从而减少不必要或离题的输出。
更智能的扩展通过利用更广泛的预训练数据集——从 7 万亿扩展到 18 万亿个标记——Qwen2.5 提供了多种参数大小(0.5B 到 72B),为资源受限的用户和大规模企业部署提供灵活性。这种方法专注于数据多样性和专家混合技术,以确保质量增长而不仅仅是数量。
整体后期训练除了原始扩展外,Qwen2.5 通过多阶段强化学习来完善其能力,将大规模监督微调与迭代反馈循环相结合。通过细致地将模型的生成能力与人类偏好对齐,Qwen2.5 努力提供可靠的、上下文相关的响应,涵盖广泛的任务。
更详细的信息可以在 Qwen 团队发布的这篇 技术论文 中找到。
Qwen2.5框架及其主要特性
Qwen2.5 是一个多功能的基础框架,适用于广泛的人工智能应用场景——从资源受限环境中的对话助手到需要尖端性能的大规模企业应用。
Qwen2.5的核心采用基于Transformer的密集模型和专家混合(Mixture-of-Experts, MoE)变体,提供从0.5B到72B的参数规模。这种灵活性使开发者能够在模型规模和计算资源之间选择最佳的权衡,而不牺牲强大的语言理解能力。
- 扩展范围 (0.5B → 72B) Qwen2.5的模型系列包括七种开放权重配置。较小的版本(0.5B, 1.5B, 3B)经过优化以提高速度和响应性,非常适合边缘部署或成本敏感的环境。较大的模型(7B, 14B, 32B, 72B)则提供高保真输出和深度推理,适用于研究分析、代码生成或知识提取等复杂任务。
- MoE模型用于专业知识 可以将MoE(专家混合)视为一个大型咨询公司,拥有多个专业团队——一些专家擅长数学,另一些擅长语言理解,还有一些擅长编码。当出现问题时,它会自动将问题路由到最合适的“团队”(专家)。在Qwen1.5-MoE取得成功的基础上,Qwen2.5通过将令牌分派给最相关的专家,进一步扩展了这一概念,从而在各项任务中提高了效率和准确性。
- 轻松集成与部署 得益于标准的Hugging Face API和其他社区工具,开始使用Qwen2.5非常简单。例如,以下是一个快速的Python代码片段,演示如何加载7B参数版本:
## Install the necessary libraries
!pip install transformers
from transformers import AutoTokenizer, AutoModelForCausalLM
## Load Qwen2.5 (7B) from Hugging Face
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen2.5-7B")
model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2.5-7B")
## Run a simple prompt
prompt = "Explain the significance of data scaling in AI."
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=100)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
PS:通过将 "Qwen/Qwen2.5-7B"
替换为另一个检查点(例如,"Qwen/Qwen2.5-14B"
),您可以无缝地尝试不同的参数规模和MoE变体。
关键特性
大规模预训练于 18 万亿个标记
Qwen2.5 的基础建立在一个 18 万亿个标记 的预训练语料库上,这比 Qwen2 中使用的 7 万亿个标记有所扩展。通过全面的数据质量过滤器和精炼的来源组合,Qwen2.5 捕捉到多样的语言模式、领域知识和推理能力。
在实践中,这种广泛的预训练转化为更连贯、更加上下文意识的响应——即使在零样本或少样本提示场景下也是如此。
长上下文能力(支持高达 100 万个令牌的 Qwen2.5-Turbo)
Qwen2.5 的一个显著特点是其强大的长输入和输出处理能力。尽管标准模型最多可以处理 128K 个令牌(具体取决于配置),Qwen2.5-Turbo 通过支持 高达 100 万个令牌 打破了这一限制。
这种非凡的能力是通过渐进的上下文长度扩展策略实现的——逐步以增加的令牌长度训练模型,使其能够适应和概括异常大的输入:
长上下文的好处
- 总结大量文档(例如,法律合同、科学论文)。
- 处理多轮对话而不丢失之前的上下文。
- 促进高级任务,如深入的代码分析或大规模数据转换。
领域特定变体:Qwen2.5-Math & Qwen2.5-Coder
除了通用模型,Qwen2.5 还包括在特定领域表现卓越的专业变体:
- Qwen2.5-Math
通过额外的数学数据进行训练,该变体在从代数运算到更高级的符号推理等任务上展现出最先进的性能。它是学术研究、金融或任何需要精确数字计算的场景中的自然选择。 - Qwen2.5-Coder
利用精心挑选的代码数据集,Qwen2.5-Coder 专为编程辅助而设计——无论是生成样板代码、用多种语言解释复杂概念,还是调试。通过在预训练期间整合领域特定的最佳实践,它显著降低了开发人员的错误率和上下文切换开销。
动手学习:Qwen2.5中的强化方法
强化学习(RL)为Qwen2.5的训练流程带来了一个重要元素:动态适应。想象一下教一个孩子骑自行车——无论孩子阅读多少本如何做的书(监督预训练),真正的进步只会通过试验、反馈和纠正来实现。在人工智能的术语中,RL提供了那个主动反馈循环;模型不仅仅是在记忆模式,还会根据其响应与人类偏好的对齐程度获得奖励或惩罚。
两个显著的好处突出:
- 更好的对齐: RL促使模型遵循以人为中心的指导方针,例如语调、真实性和有用性,从而减少产生无关或有害输出的机会。
- 在复杂任务中的增强性能: 多步骤数学、逻辑推理和代码生成等任务受益于基于反馈的调整,而不是简单的模式匹配。
这在Qwen2.5中尤为重要,因为它针对高级用例,如扩展问答、多轮聊天和特定领域的指令遵循。
两阶段强化学习框架
Qwen2.5采用了两阶段强化学习框架——离线强化学习后接在线强化学习——以平衡稳健的知识获取与对用户需求的实时响应。
离线强化学习
离线强化学习在Qwen2.5中专注于具有高准确性标准的“静态”领域,例如数学、编码和逻辑推理。在这里,模型使用**直接偏好优化(DPO)**进行训练,该方法依赖于系统策划的反馈信号。在DPO中:
- 正例是高质量的响应(例如,正确的数学解答、结构良好的代码),由专家或自动评分验证。
- 负例是未通过某些检查的次优输出(例如,无法编译的代码、证明中的逻辑错误)。
您可能在Hugging Face + PyTorch管道中应用离线强化学习的玩具示例可能如下所示(概念代码片段):
import torch
from transformers import AutoModelForCausalLM, Trainer, TrainingArguments
## Assume you've already done the basic SFT (Supervised Fine-Tuning),
## and now want to incorporate preference data for offline RL.
model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2.5-14B")
model.train()
## Hypothetical dataset of "good" (positive) and "bad" (negative) responses
## For instance:
## {
## 'query': "Explain how to solve x^2 = 16 in detail.",
## 'response_positive': "x = ±4. Explanation: ...",
## 'response_negative': "x = 3. Explanation: ..."
## }
offline_rl_dataset = load_my_preference_dataset()
training_args = TrainingArguments(
output_dir="offline_rl_output",
per_device_train_batch_size=1,
num_train_epochs=1, # Usually more in real training
)
trainer = Trainer(
model=model,
args=training_args,
train_dataset=offline_rl_dataset,
# custom collator to handle positive/negative pairs
data_collator=my_preference_collator
)
trainer.train()
离线强化学习确保Qwen2.5的内部“指南针”在模型接触实时用户输入的多样性之前,准确性和一致性得到正确设置。
在线强化学习
在在线强化学习中,模型与奖励模型进行交互——这是一个专门的子系统,根据真实性、有用性、简洁性、相关性和无害性等属性对输出进行评分。此阶段利用用户反馈和自动化指标,几乎实时地进行评估:
- 真实性与有用性: 奖励模型惩罚事实错误或模糊内容,推动系统朝向更精确、与上下文相关的答案。
- 去偏见与伦理合规: 通过关注以用户为中心的评估标准,Qwen2.5减少生成冒犯性或偏见文本的可能性。
这里的一个关键技术是群体相对策略优化(GRPO)。可以将其视为“群体辩论”:生成多个响应候选,彼此比较,并强化最佳响应。这鼓励高效学习——模型快速收敛于高质量行为,同时丢弃次优行为。
RL用于长上下文微调
最后,Qwen2.5 还采用了 RL 技术来 微调长上下文处理,使其能够在扩展序列中保持连贯性和相关性 — 甚至可以达到 100 万个标记 在 Qwen2.5-Turbo 中。传统的监督训练为模型提供了较长输入的示例,但 RL 则优化了模型决定 保留哪些细节 和 如何在多个段落或页面中构建响应 的方式。
- 自适应注意力: 基于 RL 的反馈帮助模型学习更有效地在大输入中分配注意力,确保它不会在数据中“迷失”。
- 上下文管理: 通过奖励正确检索早期上下文和惩罚不一致性,RL 改善了链式思维推理,适用于总结冗长文档或执行多步骤指令等任务。
简而言之,Qwen2.5 中的 RL 不仅仅是关于增量改进 — 而是关于 重塑 模型处理、权衡和精炼信息的方式,确保从常规问答到跨越数千(甚至数百万)个标记的高度专业化任务的强大性能。
Qwen2.5 性能评估
整体竞争力: Qwen2.5–72B 在多个基准测试中表现出色。
MMLU(通用任务)
- Qwen2.5–72B: 86.1
- Llama-3–70B: 79.5
- Llama-3–405B: 85.2
尽管体积较小,Qwen2.5–72B 在这一多领域知识的挑战性测试中略微超越了 Llama-3–405B,并显著超过了 Llama-3–70B。
GSM8K(数学推理)
- Qwen2.5–72B: 91.5
- Llama-3–70B: 77.6
- Llama-3–405B: 89.0
在数学应用题中,Qwen2.5–72B 再次优于两个更大的 Llama-3 模型,突显了其强大的数字推理能力。
HumanEval(编码)
- Qwen2–72B: 64.6
- Qwen2.5–72B: 59.1
- Llama-3–405B: 61.0
虽然 Qwen2–72B 在 HumanEval 中的得分更高,但 Qwen2.5–72B 依然具有竞争力,超越了 Llama-3–405B 的 61.0 分。这些结果反映了原始编码性能与高级对齐策略之间的权衡。在许多编码场景中,Qwen2.5–72B 仍能提供高保真的开发者体验,尤其是在配合精细提示或其专门变体(Qwen2.5-Coder)时。
领域特定亮点
- 数学与科学: Qwen2.5–72B在MATH上得分62.1,在MMLU-stem上得分82.7,这两个分数都反映了其在数学密集型问题和STEM主题上的高水平能力。
- 多语言任务: 在Multi-Exam(78.7)和Multi-Understanding(89.6)等基准测试中,Qwen2.5–72B展示了强大的跨语言能力,使其适合全球部署。
这些基准测试结果突显了Qwen2.5的可扩展性优先理念:即使在72B参数下,它的性能可与一些100B+和400B+模型在高水平任务上的表现相媲美——这表明更大并不总是更好。
扩展规模,开放访问:成本效益与可用性
Qwen2.5 以实用资源使用和成本友好的部署为基础:
- 参数灵活性: 参数范围从 0.5B 到 72B,您可以根据计算预算调整模型大小。即使在数十亿参数的情况下,Qwen2.5 通常所需的 FLOPs 和内存开销都低于某些专有的单体模型。
- 高效推理: 首次令牌时间 (TTFT) 图表表明,像 Qwen2.5-Turbo 这样的变体在长上下文下显著降低延迟,直接转化为成本节省和更好的用户体验。
在许多企业或大规模用例中,Qwen2.5 可以比类似 GPT 的专有模型 更具经济性 — 尤其是在定制训练或持续集成管道中。
可访问性
Qwen2.5 旨在为 每个人 提供可访问性 — 从独立开发者到跨国企业:
Hugging Face 上的开放权重模型
- 开发者可以轻松实验 0.5B、1.5B、3B、7B、14B、32B 和 72B 参数版本,所有版本均在宽松许可证下开源。
- 这促进了社区驱动的创新 — 任何人都可以微调或扩展 Qwen2.5 以适应新颖的用例,而无需支付高额的许可费用。
通过阿里云企业级准备
- 对于关键任务部署,Qwen2.5-Turbo 和 Qwen2.5-Plus 可通过阿里云模型工作室获得,提供高吞吐量推理、专业微调和优质支持等高级功能。
- 这种模型即服务选项简化了生产环境中的扩展,为企业用户提供了一条简单的路径,以最小的设置利用 Qwen2.5 的强大功能。
简而言之,Qwen2.5 的设计理念将 顶级性能 与 实用的方法 相结合 — 使最先进的大型语言模型成为开源爱好者和企业采用者的现实。
结论
Qwen2.5 标志着大型语言模型的 重要进展,因为它结合了 在 18 万亿个标记上的增强预训练 和 复杂的后训练技术,如多阶段强化学习和高级监督微调。这些创新旨在实现以人为本的对齐、全面的指令跟随和长上下文生成。正如其 强大的表现、灵活的扩展(范围从 0.5B 到 72B 参数)以及广泛的领域适应性所示,Qwen2.5 有望成为各种研究和行业应用的核心基础。
此外,实证结果表明 Qwen2.5–72B-Instruct 的表现与更大规模的最先进模型相媲美,同时保持资源效率,突显了 Qwen2.5 对 “更智能扩展” 的承诺。开放权重和企业级变体(例如 Qwen2.5-Turbo 和 Qwen2.5-Plus)的可用性进一步巩固了 Qwen2.5 作为学术、工业和专业领域大型语言建模的 首选资源。
参考文献Qwen, :., Yang, A., Yang, B., Zhang, B., Hui, B., Zheng, B., Yu, B., Li, C., Liu, D., Huang, F., Wei, H., Lin, H., Yang, J., Tu, J., Zhang, J., Yang, J., Yang, J., Zhou, J., Lin, J., Dang, K., Lu, K., Bao, K., Yang, K., Yu, L., Li, M., Xue, M., Zhang, P., Zhu, Q., Men, R., Lin, R., Li, T., Xia, T., Ren, X., Ren, X., Fan, Y., Su, Y., Zhang, Y., Wan, Y., Liu, Y., Cui, Z., Zhang, Z., & Qiu, Z. (2024).Qwen2.5 技术报告. arXiv 预印本 arXiv:2412.15115.
感谢您的阅读!