Qwen 2.5 技术报告解读

论文标题:Qwen2.5 Technical Report

论文地址:https://arxiv.org/abs/2412.15115

论文发布时间:2024年12月19日

这篇论文看的还是比较爽的,基本上10分钟就看完了。而且Qwen2.5技术报告主要是从训练角度介绍和Qwen2的区别,技术原理没有深入。

虽然Qwen并没有率先做出来推理,也没有像DeepSeek一样爆火出圈,但是但凡去看一下这几年来它开源出来的上百个模型,伟大无须多言。

Abstract & Introduction

论文介绍了Qwen2.5系列 LLM,该系列在预训练和后训练阶段均有显著改进。

预训练数据集扩展至18万亿个token,为常识、专业知识和推理能力奠定坚实基础。后训练采用监督微调和多阶段强化学习,增强人类偏好和长文本生成、结构数据分析和指令跟踪能力。

Qwen系列的三次迭代

Architecture & Tokenizer

模型架构仍然没变,为Decoder Only,只是在训练语料和训练流程上做出了改进。

Qwen2.5模型核心组件仍然为:

  • GQA 分组注意力
  • SwiGLU Swish+GLU激活
  • RoPE 旋转位置编码
  • RMSNorm 均方根归一化
  • DCA 双块注意力
  • YaRN

其开发了各种尺寸的模型:

Qwen2.5各个尺寸模型细节

Pre-training

预训练数据

与前身 Qwen2 相比,Qwen2.5 在训练前数据质量方面表现出显著增强:

(1) 更好的数据筛选。利用 Qwen2-Instruct 模型作为数据质量过滤器,以评估和评分训练样本。增强功能可实现更细致的质量评估,从而提高高质量训练数据的保留率,并更有效地筛选多种语言中的低质量样本。

(2) 更好的数学和代码数据。在 Qwen2.5 的预训练阶段,整合了来自 Qwen2.5-Math 和 Qwen2.5-Coder 的训练数据。

(3) 更好的合成数据。为了生成高质量的合成数据,特别是在数学、代码和知识领域,利用 Qwen2-72B-Instruct 和 Qwen2Math-72B-Instruct 。通过使用专有的通用奖励模型和专门的 Qwen2-Math-RM-72B 模型进行严格过滤,进一步提高了这些合成数据的质量。

这里其实已经在蒸馏了。。

基于这些技术,开发了一个更大、更高质量的预训练数据集,从 Qwen2 中使用的 7 万亿个token扩展到 18 万亿个token。

继续探索Scaling Law

虽然以前的研究主要使用Scaling Law来确定给定计算预算的最佳模型大小,但是Qwen团队利用它们来识别跨模型架构的最佳超参数。具体来说,Scaling Law有助于确定密集模型和不同大小的 MoE 模型的关键训练参数,例如批量大小 B 和学习率 μ。

此外,利用Scaling Law来预测和比较具有不同参数计数的 MoE 模型的性能与密集的对应模型。该分析指导了对 MoE 模型的超参数配置,使能够通过仔细调整激活参数和总参数来实现与特定密集模型变体(例如 Qwen2.5-72B 和 Qwen2.5-14B)的性能相等。

长上下文预训练

Qwen2.5 采用了两阶段的预训练方法:

初始阶段具有 4096 个标记的上下文长度,然后是扩展阶段(用于较长序列)。

在最后的预训练阶段,将除 Qwen2.5-Turbo 之外的所有模型变体的上下文长度从 4096 个令牌扩展到 32768 个令牌。同时,使用 ABF 技术将 RoPE 的基本频率从 10000 增加到 1000000。

为了增强的模型在推理过程中处理较长序列的能力,实施了YARN 和 DCA。通过这些创新,序列长度容量增加了四倍,使 Qwen2.5-Turbo 能够处理多达 100 万个token,而其他模型可以处理多达 131072 个token。

后训练

与 Qwen 2 相比,Qwen 2.5 在其训练后设计中引入了两项重大改进:

(1) 扩大了监督微调数据覆盖范围:监督微调过程利用了包含数百万个高质量样本的海量数据集。这种扩展专门解决了之前模型存在局限性的关键领域,例如长序列生成、数学问题解决、编码、指令跟踪、结构化数据理解、逻辑推理、跨语言迁移和健壮的系统指令。

(2) 两阶段强化学习:Qwen 2.5 中的强化学习 (RL) 过程分为两个不同的阶段:离线强化学习 RL 和在线强化学习。

后训练技术DPO、SFT、GRPO都有用到

### Qwen2.5 技术详情 #### 总体概述 Qwen2.5 是阿里巴巴通义千问系列中的一个重要版本,因其卓越的性能和广泛的应用场景而受到广泛关注。这一模型在 2024 年云栖大会上正式发布,标志着其进入了更广阔的开发者和技术研究者视野[^1]。 #### 多模态能力增强 Qwen2.5-VL 是 Qwen2.5 系列的一个重要分支,专注于多模态任务的表现提升。通过引入动态分辨率处理、绝对时间编码以及窗口注意力机制等创新技术Qwen2.5-VL 显著增强了其在多模态理解和交互方面的能力。这些改进不仅提高了计算效率,还在多个基准测试中展现了领先的性能表现[^3]。 #### 编码与指令优化 针对编程领域的需求,Qwen2.5-Coder-Instruct 进一步扩展了通用大模型的功能边界。评估结果显示,该变种模型成功继承并强化了 Qwen2.5 原有的强大通用能力,在解决复杂编程问题时表现出色[^2]。 #### 架构设计与参数规模 虽然具体参数量未被完全公开披露,但从已知信息可以推测,Qwen2.5 继承了前代产品的大规模参数特性,并在此基础上进行了针对性调整以适应不同应用场景需求。这种灵活的设计使得 Qwen2.5 不仅能够在自然语言处理任务上取得优异成绩,还能有效应对跨模态融合挑战。 以下是部分关键技术亮点总结: - **动态分辨率处理**:允许根据不同输入内容自动调节图像或其他媒体形式的空间维度大小,从而减少冗余运算开销。 - **绝对时间编码**:相比传统相对位置嵌入方式更加稳定可靠,尤其适用于长时间序列建模场合。 - **窗口注意力机制**:局部化操作降低了全局依赖带来的资源消耗,同时保留必要的上下文关联性。 ```python # 示例代码展示如何加载预训练好的 Qwen2.5 模型 (假设基于 HuggingFace Transformers 库实现) from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("qwen/Qwen2.5") model = AutoModelForCausalLM.from_pretrained("qwen/Qwen2.5") input_text = "请介绍一下 Qwen2.5 的主要功能" inputs = tokenizer(input_text, return_tensors="pt") outputs = model.generate(**inputs) print(tokenizer.decode(outputs[0], skip_special_tokens=True)) ```
评论 44
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

征途黯然.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值