论文阅读--Qwen22.5技术报告

Qwen2

1 引言

所有模型都是在超过7 trillion token(7万亿)的高质量、大规模数据集上预训练的

2 Tokenizer & Model

2.1 Tokenizer

沿用Qwen(Bai等人,2023a)的做法,我们采用了基于字节级字节对编码的相同Tokenizer

所有大小的模型都采用一个共有词汇表,包含151,643个常规词元和3个控制词元

2.2 模型架构

基于Transformer架构的大型语言模型,具有自注意力和因果掩码。具体来说,该系列包括4个规模的稠密语言模型和一个专家混合(MoE)模型

2.2.1 Qwen2 稠密模型

与Qwen的主要区别如下:

分组查询注意力:我们采用了分组查询注意力(Grouped Query Attention,GQA)而不是传统的多头注意力。GQA在推理期间优化了KV缓存的使用,显著提高了吞吐量。

双块注意力与YARN:为了扩大Qwen2的上下文窗口,我们实现了双块注意力(Dual Chunk Attention,DCA),它将长序列分割成可管理的长度块。如果输入可以在一个块中处理,DCA产生与原始注意力相同的结果。否则,DCA有助于在块内和跨块之间有效地捕获相对位置信息,从而提高长上下文性能。此外,我们还采用了YARN来重新调整注意力权重,以实现更好的长度外推。

我们还沿用了Qwen的使用,包括SwiGLU作为激活函数,旋转位置嵌入(RoPE)作为位置嵌入,QKV偏置用于注意力,RMSNorm和预归一化用于训练稳定性。

2.2.2 Qwen2 专家混合模型(MoE)

专家粒度:从密集架构过渡到MoE架构的一个直接策略是将每个专家的参数设置为原始密集模型中单个FFN的参数。例如,从Mistral-7B过渡到Mixtral 8x7B涉及一次激活八个专家中的一个。不同地,我们的模型采用了细粒度专家,创建了规模更小的专家,同时激活了更多的专家。

专家路由:最近,将共享专家和特定路由专家整合到MoE层内的趋势日益明显。我们采用了这种方法,因为它既促进了在各种任务中应用共享专家,又保留了其他专家在特定路由场景中选择性使用。

专家初始化:我们以类似于废物利用的方式初始化专家,利用密集模型的权重。与此不同,我们的方法强调在细粒度专家之间实现多样化,以增强模型的表现力广度。给定指定的专家中间尺寸 hE ,专家数量 n 以及原始前馈网络中间尺寸 hFFN ,FFN被复制次。这种复制确保了与指定专家数量的兼容性,同时适应任何任意的专家 intermediate size。为了在每个FFN副本中促进多样性, intermediate 维度参数进行shuffle。这确保了即使在不同的FFN副本中,每个细粒度专家也表现出独特的特征。随后,这些专家从FFN副本中提取出来,剩余的维度被丢弃。对于每个细粒度专家,其50%的参数被随机重新初始化。这个过程在专家初始化中引入了额外的随机性,可能增强了模型在训练期间的探索能力。

3 预训练

3.1 预训练数据

质量提升:过滤算法通过额外的启发式和基于模型的方法进行了改进,包括使用Qwen模型过滤掉低质量数据。此外,这些模型还被用于合成高质量的预训练数据。

数据扩展:与Qwen1.5相比,我们收集了更大容量的高质量代码、数学和多语言数据,增强了模型在这些领域的能力。这个新数据集支持约30种语言。

分布改进:为确保模型学习类似于人类学习的分布,我们在小规模的模型上进行实验,优化来自不同来源和领域的数据混合。

基于这些增强,预训练数据从Qwen1.5的3万亿个词元扩展到7万亿个tokens。尝试进一步放宽质量阈值导致了一个12万亿token的数据集。然而,在这个数据集上训练的模型并没有显示出比7万亿词元模型有显著的性能提升。怀疑增加数据量并不一定有益于模型预训练。

所有Qwen2密集模型(除了Qwen2-0.5B)都是在超过7万亿词元的大规模数据集上预训练的。Qwen2-0.5B是使用12万亿词元的数据集进行预训练的。MoE模型接受了额外的4.5万亿词元的预训练,符合 upcycling 的原则。

与之前的Qwen模型类似,高质量的多任务指令数据被整合到Qwen2的预训练过程中,以增强上下文学习和指令跟随能力。

3.2 长上下文训练

在预训练的最后阶段将上下文长度从4096增加到32768,将RoPE的基本频率从10,000调整到1,000,000,,采用了 YARN 机制和 Dual Chunk Attention 双块注意力机制使模型能够处理长达131072个词元的序列(128k)

4 后训练

4.1 后训练数据

后训练数据主要由两部分组成:对齐数据 D = { ( x i , y i ) } 和偏好数据 P = { ( x i , y i + , y i − ) } ,其中 x i 代表指令,y i代表满意的响应,y i +和 y i − 是对 x i 的两种响应,y i + 是比 y i − 更受偏好的选择。集合 D 用于SFT,而 P 用于RLHF。

训练数据的构建包括两个步骤:

(1)协作数据注释和自动化数据合成。首先,我们从大规模指令语料库中提取数据本体,得到广泛和多样化的高质量指令集合。这些指令经过系统性增强,以包含更大的复杂性。通过人工注释,我们获得了目标响应 y i 及其正面和负面标注 ( y i + , y i − ) 。
(2)随后,采用多种自动化对齐策略,在代码、数学、指令跟随、创作、角色扮演和安全等领域合成了大量人工注释的数据。

4.2 有监督微调(SFT)

我们构建了一个包含超过50万个示例的广泛指令数据集,这些示例涵盖了指令跟随、编码、数学、逻辑推理、角色扮演、多语言能力和安全性等技能。

4.3 人类反馈的强化学习(RLHF)

我们的RLHF训练机制包括两个连续的阶段:离线和在线训练。

在离线训练阶段,我们使用预先编译的偏好数据集P,通过直接偏好优化(DPO)最大化 y i + 和 y i − 之间可能性的差异。

在在线训练阶段,模型利用即时反馈的奖励模型不断改进其性能。具体来说,我们从当前策略模型中采样多个响应,奖励模型选择最受欢迎和最不受欢迎的响应,形成用于每个情节中DPO的偏好对。此外,我们采用在线合并优化器来减轻对齐税,即与人类偏好对齐时模型性能下降的问题。

 Qwen2.5

Tokenizer

还是沿用了上一代,带有 151643 个常规 token 的字节级字节对编码(BBPE),新版本把 special token 从3个扩到了22个(比如tool call的还有其他能力的)。

Model

架构貌似没变

预训练

预训练数据从之前的 7T token(7万亿)扩展到 18T(18万亿)token,重点关注知识、代码和数学,通过不同数据配比分阶段预训练,为常识、专家知识、推理能力提供基础。

后训练

sft 了 100w+ 指令数据,还做了离线 DPO 和在线 GRPO 的多阶段强化学习。增强人类偏好,改进了长文生成(从2K个token到8K个token)、结构化输入和输出(例如表格和JSON)、简单的 Function/tool call、指令遵循能力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/893442.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络安全等级保护基本要求——等保二级

《信息安全技术网络安全等级保护基本要求》GB/T22239-2019 7.1 安全通用要求 7.1.1 安全物理环境 7.1.1.1 物理位置选择 本项要求包括: a) 机房场地应选择在具有防震、防风和防雨等能力的建筑内;b) 机房场地应避免设在建筑物的顶层或地下室,否则应加…

FPGA中场战事

2023年10月3日,英特尔宣布由桑德拉里维拉(Sandra Rivera)担任“分拆”后独立运营的可编程事业部首席执行官。 从数据中心和人工智能(DCAI)部门总经理,转身为执掌该业务的CEO,对她取得像AMD掌门人苏姿丰博士类似的成功,无疑抱以厚望。 十年前,英特尔花费167亿美元真金白银…

【jmeter】下载及使用教程【mac】

1.安装java 打开 Java 官方下载网站https://www.oracle.com/java/technologies/downloads/选择您想要下载的 Java 版本,下载以 .dmg 结尾的安装包,注意 JMeter 需要 Java 8下载后打开安装包点击“安装”按钮即可 2.下载jmeter 打开 Apache JMeter 官方…

Nginx HTTP 服务器基础配置

一、Nginx 初相识 在当今互联网的广阔世界里,Nginx作为一款高性能的HTTP和反向代理服务器,犹如一颗璀璨的明星,闪耀在Web服务器领域的天空中。它诞生于2004年,由俄罗斯的Igor Sysoev开发,最初的目的是为了解决C10K问题…

postman请求参数化

postman界面介绍 一、使用环境变量(Environment Variables)进行参数化 1、在请求中使用环境变量 在请求的url、请求头(Headers)、请求体(Body)等部分都可以使用环境变量。 URL 部分示例 点击 Postman 界面右上角的 “眼睛” 图标(Environment Quick Look)打开环境管理…

2024年博客之星年度评选|第一步——创作影响力评审入围Top300名单 | 博客之星陪跑指南

2024年博客之星年度评选|第一步——创作影响力评审入围Top300名单 | 博客之星陪跑指南 2024年博客之星年度评选正在如火如荼地进行中!作为博客圈最具影响力的评选活动之一,今年的评选吸引了众多优秀博主的参与。现在,距离Top300入…

WPF 复杂页面布局及漂亮 UI 界面设计全解析

在 WPF 开发领域,打造一个既具备复杂功能又拥有美观 UI 界面的应用程序是众多开发者追求的目标。复杂页面布局与漂亮的 UI 设计不仅能提升用户体验,还能展现应用的专业性和独特性。本文将深入探讨如何在 WPF 中实现复杂页面布局以及设计出令人眼前一亮的…

CentOS 7乱码问题如何解决?

1.使用超级用户操作: sudo su2.修改i18n配置文件: vi /etc/sysconfig/i18n将文件修改或添加为以下内容: LANG"zh_CN.UTF8" LC_ALL"zh_CN.UTF8"保存并退出(按Esc键,输入:wq,然后回车&#xff09…

阻燃高温尼龙行业:市场潜力巨大,引领材料科学新变革

在当今快速发展的工业和材料科学领域,阻燃高温尼龙作为一种兼具卓越防火性能和高温稳定性的新型材料,正逐步成为多个领域的首选材料。随着全球对安全性能要求的提高和技术的不断创新,阻燃高温尼龙市场呈现出快速增长的态势,展现出…

HTML中的`<!DOCTYPE html>`是什么意思?

诸神缄默不语-个人CSDN博文目录 在学习HTML时&#xff0c;我们经常会看到HTML文档的开头出现<!DOCTYPE html>&#xff0c;它是HTML文件的第一行。很多初学者可能会疑惑&#xff0c;为什么需要这行代码&#xff1f;它到底有什么作用呢&#xff1f;在这篇文章中&#xff0…

系统学习算法:专题五 位运算

位运算总结&#xff08;默认学过位操作符的知识&#xff09;&#xff1a; 1. 这六种就是常见的位运算符&#xff0c;无进位相加就是在二进制中&#xff0c;两个数的某一位1和1可以进位&#xff0c;但是异或就不进位&#xff0c;相加后为0&#xff0c;跟相同为0&#xff0c;相异…

JVM参数-NativeMemoryTracking

实际开发场景中应该有发现Java应用程序会消耗比设置-Xms和-Xmx更多的内存&#xff0c;究其原因其实是因为JVM中除了大家熟知的堆内存外,还有所谓的非堆内存&#xff08;Non-Heap Memory&#xff09;,详细来看,非堆内存包括方法区和Java虚拟机内部做处理或优化所需的内存。 从图…

Linux 时间同步

Linux 时间同步 注意&#xff1a;以下操作使用root用户操作 安装ntp服务并启动 配置同步所需依赖包 yum install -y rsync 安装 ntp服务 yum install -y ntp.x86_64开机自启和启动ntp服务 systemctl enable ntpd && systemctl restart ntpd查看ntp服务的状态 …

青少年编程与数学 02-007 PostgreSQL数据库应用 09课题、规则、约束和默认值

青少年编程与数学 02-007 PostgreSQL数据库应用 09课题、规则、约束和默认值 一、规则二、规则应用示例示例1&#xff1a;使用规则实现视图示例2&#xff1a;使用规则自动填充数据示例3&#xff1a;使用规则实现数据的合并插入 三、约束四、约束应用示例示例1&#xff1a;主键约…

【PVE】Proxmox VE8.0+创建LXC容器安装docker

为了不影响PVE宿主机&#xff0c;通常使用套娃的形式安装Docker容器&#xff0c;再安装相关docker应用。首先在CT模板中创建 Linux 容器&#xff0c;推荐使用Debian。开启ssh登录&#xff0c;修改debian配置&#xff0c;安装docker 一、创建 LXC 容器 1、CT模板下载 点击“模…

代码随想录算法训练营day34

代码随想录算法训练营 —day34 文章目录 代码随想录算法训练营前言一、62.不同路径动态规划动态规划空间优化 二、63. 不同路径 II动态规划动态规划优化空间版 三、343. 整数拆分动态规划贪心算法 96.不同的二叉搜索树总结 前言 今天是算法营的第34天&#xff0c;希望自己能够…

Kubernetes 集群中安装和配置 Kubernetes Dashboard

前言 上篇成功部署Kubernetes集群后&#xff0c;为了方便管理和监控集群资源&#xff0c;安装Kubernetes Dashboard显得尤为重要。Kubernetes Dashboard 是一个通用的、基于 Web 的 UI&#xff0c;旨在让用户轻松地部署容器化应用到 Kubernetes 集群&#xff0c;并对这些应用进…

深入内核讲明白Android Binder【三】

深入内核讲明白Android Binder【三】 前言一、服务的获取过程内核源码解析1. 客户端获取服务的用户态源码回顾2. 客户端获取服务的内核源码分析2.1 客户端向service_manager发送数据1. binder_ioctl2. binder_ioctl_write_read3. binder_thread_write4. binder_transaction4.1 …

数据结构(四) B树/跳表

目录 1. LRU 2. B树 3. 跳表 1. LRU: 1.1 概念: 最近最少使用算法, 就是cache缓存的算法. 因为cache(位于内存和cpu之间的存储设备)是一种容量有限的缓存, 有新的数据进入就需要将原本的数据进行排出. 1.2 LRU cache实现: #include <iostream> #include <list>…

WPS不登录无法使用基本功能的解决方案

前言 WPS不登录无法使用基本功能的原因通常是为了同步数据、提供更多高级功能或满足软件授权要求。‌然而&#xff0c;一些用户可能出于隐私或便捷性的考虑&#xff0c;不愿意登录账号。在这种情况下&#xff0c;WPS可能会限制未登录用户的使用权限&#xff0c;导致工具栏变灰…