PARSCALE:大语言模型的第三种扩展范式

news2025/5/29 10:01:06

----->更多内容,请移步“鲁班秘笈”!!<-----

随着人工智能技术的飞速发展,大语言模型(LLM)已成为推动机器智能向通用人工智能(AGI)迈进的核心驱动力。然而,传统的模型扩展方法正面临着前所未有的挑战:参数扩展需要巨大的存储空间,推理时扩展则带来显著的时间成本。在这一背景下,最近有研究团队提出了一种全新的扩展范式——PARSCALE(并行扩展),为大语言模型的发展开辟了第三条道路。

在深入了解PARSCALE之前,当前主流扩展方法所面临的挑战。传统的参数扩展方法主要有两种:

  • Dense Scaling(密集扩展)**是最直接的扩展方式,通过同比例增加模型各层的参数来扩大模型规模。具体来说,就是增加隐藏层维度、注意力头数量、层数等,让模型的每一部分都变得更大更复杂。这种方法的特点是所有参数在推理时都会被激活和使用,因此称为"密集"扩展。例如,从GPT-3的1750亿参数扩展到PaLM的5400亿参数,就是典型的密集扩展。

  • 混合专家模型MoE 则采用了"稀疏激活"的思路,虽然模型总参数很大,但每次推理只激活其中一部分专家模块,从而在保持高性能的同时控制计算成本。

无论是密集扩展还是MoE,都需要大幅增加模型参数数量来提升性能。例如,DeepSeek-V3模型拥有高达672B参数,这种规模的模型对边缘设备部署提出了几乎无法满足的内存需求。密集扩展的问题尤为突出:模型越大,所需的存储空间和计算资源就越多,部署成本也呈指数级增长。

另一种方法是推理时扩展,通过生成更多推理token来增强模型的推理能力。虽然这种方法在某些场景下有效,但它需要专门的训练数据,且通常会带来显著的时间成本。

PARSCALE

PARSCALE的核心思想来源于扩散模型中广泛使用的无分类器引导(Classifier-Free Guidance,CFG)技术。要理解PARSCALE的创新之处,我们首先需要深入了解CFG的工作原理。

CFG最初在图像生成的扩散模型(如DALL-E、Stable Diffusion)中获得巨大成功,其基本思想是通过对比"好"和"坏"的预测来提升模型性能。

传统单次推理方法:

  • 输入:一个条件提示(比如"画一只在草地上的橙色猫")

  • 处理:模型进行一次前向传播

  • 输出:直接生成结果

CFG的双重推理方法:

  • 第一次推理(有条件):使用完整的提示"画一只在草地上的橙色猫"进行前向传播,得到输出A

  • 第二次推理(无条件或降级条件):移除或削弱条件信息,比如只用"画一只猫"或完全无条件生成,得到输出B

  • 智能聚合:最终输出 = 输出A + w × (输出A - 输出B)

这里w是一个权重参数。数学上表示为:最终输出 = 有条件输出 + w × (有条件输出 - 无条件输出)

CFG的有效性在于它创造了一种"对比学习"机制:有条件输出代表模型对具体要求的理解。无条件输出代表模型的"基础倾向"。两者的差值突出了条件信息的关键影响放大这个差值。

研究团队从CFG的成功中得到了关键启发:CFG之所以有效,核心不在于条件与无条件的对比,而在于使用了双重计算。也就是说,模型进行了两次独立的思考过程,然后聚合结果。

基于这一观察,他们提出了革命性的假设:如果双重计算能带来性能提升,那么更多的并行计算是否能带来更大的提升?

PARSCALE将CFG的思想进行了重大扩展。CFG是两个固定的变换(有条件 vs 无条件) + 固定的聚合规则。PARSCALE则是P个可学习的变换 + 可学习的动态聚合。

这就像是从"两个人讨论得出更好答案"扩展到"多个专家团队协作得出最优方案"。每个并行流都可以从不同角度思考同一个问题,最终通过智能聚合产生比单一思路更优秀的结果。

PARSCALE将这一思想扩展到更一般的形式:给输入添加P个不同的可学习前缀,将它们并行输入到模型中,然后使用动态加权和将P个输出聚合成单一输出。这种方法通过重复使用现有参数来高效地扩展并行计算,适用于各种训练算法、数据和任务。

在具体实现上,PARSCALE采用了经过精心设计的技术方案。对于输入变换,研究团队使用前缀调优(prefix tuning)作为输入变换方法,这等价于使用不同的KV缓存来区分不同的流。对于输出聚合,他们采用动态加权平均方法,利用多层感知机将多个流的输出转换为聚合权重。

这种设计的巧妙之处在于,每个流只增加约0.2%的额外参数,相比完整的参数扩展,这是一个微不足道的增加。同时,该方法充分利用了GPU友好的并行计算,将LLM解码中的内存瓶颈转移为计算瓶颈,因此不会显著增加延迟。

新的扩展定律

PARSCALE不仅在实践中表现出色,研究团队还为其提供了坚实的理论基础。他们基于著名的Chinchilla扩展定律,推导出了新的并行扩展定律。

传统的Chinchilla扩展定律表明,语言模型的交叉熵损失与参数数量N存在幂律关系:L = A/N^α + E,其中A、E、α是正常数,E是自然文本的熵。

在PARSCALE框架下,研究团队推导出新的扩展定律:

L = A/(N · P^(1/α) · DIVERSITY^α) + E,

其中DIVERSITY定义为多个流之间预测相关性的函数。这一理论结果表明,扩展P倍的并行计算等价于将模型参数扩展O(log P)倍。

通过大规模预训练实验验证,研究团队在Stack-V2和Pile数据集上训练了参数规模从0.5B到4.4B、并行流数从1到8的多个模型。实验结果高度符合理论预测,拟合优度R²高达0.998,验证了并行扩展定律的有效性。

实验结果充分证明了PARSCALE的优越性。在代码生成任务上,使用Stack-V2-Python数据集训练的模型表现尤为突出。1.6B参数的模型在P=8时,其代码能力与4.4B参数的传统模型相当,而在通用任务上则相当于2.8B参数的模型。

这一发现揭示了一个重要规律:模型参数主要影响记忆能力,而计算主要影响推理能力。由于Stack-V2强调编码和推理能力,而Pile强调记忆能力,PARSCALE在推理密集型任务上显示出更大的优势。

在推理成本分析中,PARSCALE展现出显著的效率优势。对于16亿参数的模型,当扩展到P=8时,相比达到相同性能的参数扩展方法,PARSCALE的内存增加减少了22倍,延迟增加减少了6倍。这种优势在批处理大小较小的场景下尤为明显,使得PARSCALE特别适合智能手机、智能汽车和机器人等资源受限的边缘设备。

生产级别验证

为了验证PARSCALE在生产级别训练中的有效性,研究团队训练了一个18亿参数的模型,使用1万亿token的训练数据。他们采用了两阶段训练策略:第一阶段使用传统训练方法处理大部分训练数据,第二阶段仅在少量token上应用PARSCALE。

虽然PARSCALE在推理阶段非常高效,但它仍然会引入约P倍的浮点运算,在计算密集的训练过程中会显著增加开销。为了解决这一限制,研究团队提出了两阶段策略:

第一阶段:使用传统预训练方法处理1万亿token

第二阶段:进行PARSCALE训练,仅使用200亿token

由于第二阶段仅占第一阶段的2%,这种策略可以大大降低训练成本。这种两阶段策略类似于长上下文微调,同样将更消耗资源的阶段放在最后。

研究团队遵循Allal等人的建议,使用了Warmup Stable Decay (WSD)学习率调度策略:

  • 第一阶段:采用2K步预热,然后使用3e-4的固定学习率

  • 第二阶段:学习率从3e-4退火到1e-5

在第一阶段,他们构建了包含3700亿通用数据、800亿数学数据和500亿代码数据的训练集。

具体组成包括:

  • 通用文本:3450亿来自FineWeb-Edu,280亿来自Cosmopedia 2

  • 数学数据:800亿来自FineMath

  • 代码数据:470亿来自Stack-V2-Python,40亿来自Stack-Python-Edu

在第二阶段,他们增加了数学和代码数据的比例,最终包含:

  • 70亿通用文本数据

  • 70亿数学数据

  • 70亿Stack-Python-Edu数据

训练损失曲线直观地展示了两阶段训练的效果。在第二阶段开始时,由于引入了随机初始化的参数,P > 1的损失最初会超过P = 1的情况。然而,在处理少量数据(0.0002万亿token)后,模型迅速适应了这些新引入的参数并保持稳定。这证明了PARSCALE只需要很少的数据就能快速生效。

在后期阶段,PARSCALE产生了类似的对数增益,这与之前的扩展定律发现一致,表明早期从头预训练的结论——P个流的并行等价于O(N log(P))倍参数增加——同样适用于持续预训练。此外,较大的P值(如P = 8)可以逐渐扩大与较小P值(如P = 4)的差距,这表明并行扩展也能从数据扩展中受益。

下游任务

如上图所示,在完成两阶段训练后,研究团队在21个下游基准测试中评估了模型表现,包括7个通用任务、3个数学任务和8个编程任务。结果显示,随着P的增加,大多数基准测试的性能呈上升趋势,验证了在大数据集上训练的PARSCALE的有效性。

研究团队进一步调查了在两种设置下将PARSCALE应用于现成模型的效果:持续预训练和参数高效微调(PEFT)。具体而言,他们使用Pile和Stack-V2 (Python)对Qwen-2.5 (3B)模型进行持续预训练。

  • 在Stack-V2 (Python)和Pile上的持续预训练结果显示了训练损失的变化。值得注意的是,Qwen2.5已经在18万亿数据上进行了预训练,这些数据可能与Pile和Stack-V2有显著重叠。这表明即使使用经过充分训练的基础模型和常用的训练数据集,仍然可以实现改进。

  • 研究团队进一步利用PEFT来微调引入的参数,同时冻结主干权重。结果表明,这种策略仍然可以显著改进下游代码生成性能。

  • 更重要的是,这展示了动态并行扩展的广阔前景:可以部署相同的主干,并在各种场景中灵活地在不同数量的并行流之间切换(例如,高吞吐量和低吞吐量),这使得能够在不同级别的模型能力之间快速转换。

例如,在计算资源充足时,可以使用较大的P值获得更好的性能;在资源受限时,可以降低P值以减少计算开销。这种动态调整能力使得同一个模型可以适应从高性能服务器到边缘设备的各种部署环境。

模型的能力是由参数决定的,还是由计算决定的?传统的机器学习模型通常同时扩展参数和计算,难以确定它们各自的贡献比例。PARSCALE和相应的并行扩展定律为这一问题提供了新的定量视角。

研究结果表明,大计算能够促进大智能的涌现。这一发现为人工智能的发展指明了新的方向:除了追求更大的模型参数之外,我们还可以通过更高效的计算方式来提升模型能力。

鲁班号导读火热上线!!

------>敬请移步“鲁班秘笈”!<------

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

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

    相关文章

    在Windows上,将 Ubuntu WSL 安装并迁移到 D 盘完整教程(含 Appx 安装与迁移导入)

    &#x1f4bb; 将 Ubuntu WSL 安装并迁移到 D 盘完整教程&#xff08;含 Appx 安装与迁移导入&#xff09; 本文记录如何在 Windows 系统中手动启用 WSL、下载 Ubuntu 安装包、安装并迁移 Ubuntu 到 D 盘&#xff0c;避免默认写入 C 盘&#xff0c;提高系统性能与可维护性。 ✅…

    企微获取会话内容,RSA 解密函数

    企微获取会话内容&#xff0c;RSA 解密函数 企微获取会话内容下载SDKSDK配置解密过程解密代码参考SDK文件上传到服务器最后 企微获取会话内容 官方文档&#xff1a; https://developer.work.weixin.qq.com/document/path/91774 下载SDK 根据自己的环境下载对应的SDK。 SDK配置…

    MyBatis入门:快速搭建数据库操作框架 + 增删改查(CRUD)

    一、创建Mybatis的项目 Mybatis 是⼀个持久层框架, 具体的数据存储和数据操作还是在MySQL中操作的, 所以需要添加MySQL驱动 1.添加依赖 或者 手动添加依赖 <!--Mybatis 依赖包--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactI…

    离线安装Microsoft 照片【笔记】

    实验环境为&#xff1a;Windows 10 企业版 LTSC。 1.下载好相关离线依赖包和安装包。 2.管理员身份运行powershell&#xff0c;输入以下命令行&#xff1a; Add-AppPackage .\Microsoft.UI.Xaml.2.4_2.42007.9001.0_x64__8wekyb3d8bbwe.Appx Add-AppPackage .\Microsoft.NET…

    【后端高阶面经:Elasticsearch篇】39、Elasticsearch 查询性能优化:分页、冷热分离与 JVM 调优

    一、索引设计优化:构建高效查询的基石 (一)分片与副本的黄金配置 1. 分片数量计算模型 # 分片数计算公式(单分片建议30-50GB) def calculate_shards(total_data_gb, single_shard_gb=30):return max

    基于 ZU49DR FPGA 的无线电射频数据采样转换开发平台核心板

    无线电射频数据采样转换开发板及配套开发平台的核心板&#xff0c;该SOM核心板是一个最小系统&#xff0c;包括AMD公司的 Zynq UltraScale RFSOC 第3代系列XCZU49DR-2FFVF1760I FPGA、时钟、电源、内存以及 Flash。与其配套的底板是标准的全高全长Gen4.0 x8的PCIE卡&#xff0c…

    软考 系统架构设计师系列知识点之杂项集萃(69)

    接前一篇文章&#xff1a;软考 系统架构设计师系列知识点之杂项集萃&#xff08;68&#xff09; 第114题 若对关系R(A&#xff0c;B&#xff0c;C&#xff0c;D)和S(C&#xff0c;D&#xff0c;E)进行关系代数运算&#xff0c;则表达式 与&#xff08;&#xff09;等价。 A.…

    leetcode 83和84 Remove Duplicates from Sorted List 和leetcode 1836

    目录 83. Remove Duplicates from Sorted List 82. Remove Duplicates from Sorted List II 1836. Remove Duplicates From an Unsorted Linked List 删除链表中的结点合集 83. Remove Duplicates from Sorted List 代码&#xff1a; /*** Definition for singly-linked l…

    【LeetCode 热题 100】买卖股票的最佳时机 / 跳跃游戏 / 划分字母区间

    ⭐️个人主页&#xff1a;小羊 ⭐️所属专栏&#xff1a;LeetCode 热题 100 很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~ 目录 买卖股票的最佳时机跳跃游戏跳跃游戏 II划分字母区间 买卖股票的最佳时机 买卖股票的最佳时机 class Solution { pu…

    万亿参数背后的算力密码:大模型训练的分布式架构与自动化运维全解析

    目录 一、技术融合的时代背景 二、深度学习在 AI 大模型中的核心作用 2.1 预训练与微调机制 2.2 多模态深度学习的突破 三、分布式计算&#xff1a;大模型训练的基础设施 3.1 分布式训练核心原理 3.2 数据并行实战&#xff08;PyTorch DDP&#xff09; 3.3 模型并行与混…

    Linux10正式版发布,拥抱AI了!

    &#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 作者&#xff1a;IT邦德 中国DBA联盟(ACDU)成员&#xff0c;10余年DBA工作经验 Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主&#xff0c;全网粉丝10万 擅长主流Oracle、MySQL、PG、高斯…

    在离线 OpenEuler-22.03 服务器上升级 OpenSSH 的完整指南

    当然可以&#xff01;以下是一篇结构清晰、语言通俗易懂的技术博客草稿&#xff0c;供你参考和使用&#xff1a; 在离线 OpenEuler-22.03 服务器上升级 OpenSSH 的完整指南 背景介绍 最近在对一台内网的 OpenEuler-22.03 服务器进行安全扫描时&#xff0c;发现其 SSH 版本存在…

    全能邮箱全能邮箱:实现邮件管理的自动化!

    全能邮箱全能邮箱&#xff1a;实现邮件管理的自动化&#xff01; 全能邮箱全能邮箱的配置教程&#xff1f;如何注册烽火域名邮箱&#xff1f; 全能邮箱全能邮箱作为一种创新的邮件管理解决方案&#xff0c;正逐渐改变我们处理邮件的方式。蜂邮EDM将围绕全能邮箱全能邮箱&…

    mysql-tpcc-mysql压测工具使用

    在Linux系统上安装和配置tpcc-mysql进行MySQL的TPC-C基准测试&#xff0c;通常涉及以下几个步骤。请注意&#xff0c;由于tpcc-mysql不是一个官方工具&#xff0c;它可能需要从第三方仓库获取&#xff0c;如Percona提供的版本。 前置条件 确保MySQL或MariaDB已安装&#xff1…

    Qt找不到windows API报错:error: LNK2019: 无法解析的外部符号 __imp_OpenClipboard

    笔者在开发中出现的bug完整报错如下&#xff1a; spcm_ostools_win.obj:-1: error: LNK2019: 无法解析的外部符号 __imp_OpenClipboard&#xff0c;函数 "void __cdecl spcmdrv::vCopyToClipboard(char const *,unsigned __int64)" (?vCopyToClipboardspcmdrvYAXPE…

    OpenCv高阶(十七)——dlib库安装、dlib人脸检测

    文章目录 前言一、dlib库简介二、dlib库安装1、本地安装&#xff08;离线&#xff09;2、线上安装 三、dlib人脸检测原理1、HOG 特征提取2、 SVM 分类器训练3、 滑动窗口搜索4、非极大值抑制&#xff08;NMS&#xff09; 四、dlib人脸检测代码1、导入OpenCV计算机视觉库和dlib机…

    前端内容黑白处理、轮播图、奇妙的头像特效

    1、内容黑白处理 &#xff08;1&#xff09;filter&#xff1a;滤镜 可以把包裹的区域中每一个像素点&#xff0c;经过固定的算法转换成另一种颜色来呈现 &#xff08;2&#xff09;grayscale&#xff1a;灰阶滤镜 取值范围&#xff1a;0~1取0&#xff1a;原图去1&#xff…

    Git - .gitignore 文件

    一、.gitignore 文件介绍 在使用 Git 进行版本控制时&#xff0c;.gitignore 文件是一个非常重要的配置文件&#xff0c;用于告诉 Git 哪些文件或目录不需要被追踪和提交到版本库中。合理使用 .gitignore 文件可以避免提交不必要的文件&#xff0c;如临时文件、编译生成的文件…

    如何通过API接口实现自动化上货跨平台铺货?商品采集|商品上传实现详细步骤

    一、引言&#xff1a;跨平台铺货的技术挑战与 API 价值 在电商多平台运营时代&#xff0c;商家需要将商品同步上架至淘宝、京东、拼多多、亚马逊、Shopee 等多个平台&#xff0c;传统手动铺货模式存在效率低下&#xff08;单平台单商品上架需 30-60 分钟&#xff09;、数据一致…

    《三维点如何映射到图像像素?——相机投影模型详解》

    引言 以三维投影介绍大多比较分散&#xff0c;不少小伙伴再面对诸多的坐标系转换中容易弄混&#xff0c;特别是再写代码的时候可能搞错&#xff0c;所有这篇文章帮大家完整的梳理3D视觉中的投影变换的全流程&#xff0c;一文弄清楚这个过程&#xff0c;帮助大家搞清坐标系转换…