用神经架构搜索给LLM瘦身,模型变小,准确度有时反而更高

news2024/10/8 22:14:00

用神经架构搜索给 LLM 瘦身,同等准确度可让 LLaMA2-7B 模型大小降 2 倍。

大型语言模型(LLM)的一个主要特点是「大」,也因此其训练和部署成本都相当高,如何在保证 LLM 准确度的同时让其变小就成了非常重要且有价值的研究课题。

对此,研究社区已经提出了多种多样的方法,比如剪枝、稀疏化、量化等,它们的效果也各不一样。

近日,Intel Labs 发布了一项研究成果,宣称可使用神经架构搜索(NAS)高效地为 LLM 「瘦身」。他们基于 LLaMA2-7B 模型的实验表明,该技术不仅能降低模型大小,有时甚至还能让模型的准确度获得提升!

图片

  • 论文标题:LLaMA-NAS: Efficient Neural Architecture Search for Large Language Models
  • 论文地址:arxiv.org/pdf/2405.18…

神经架构搜索(NAS)是一种让算法根据样本集自动设计神经网络架构的技术。之前曾被用来探索各式的新型神经网络架构,甚至可能发现人类从未构建过的网络架构,比如谷歌就曾通过 NAS 发现了一个新的特征金字塔架构,参阅《谷歌大脑提出 NAS-FPN:这是一种学会自动架构搜索的特征金字塔网络》

Intel Labs 的这个研究团队猜想:也许可以通过神经架构搜索(NAS)来降低模型的大小和复杂性。单次 NAS 方法往往需要一次训练一个超级网络(super-network)并允许使用权重共享原理进行子网络采样。但是,从头开始训练这些超级网络成本高昂,因此 LLM 领域少有探索。InstaTune 等技术则是利用现成的预训练权重,在微调阶段创造一个超级网络。

为了缓解与 LLM 相关的大小和复杂度问题,该团队做了一番研究探索:

  1. 该团队首次高效地使用单次 NAS 来降低 LLM 的大小和计算复杂度。他们的研究表明:对于某些标准的基准评测任务而言,LLaMA2-7B 庞大且复杂得没有必要。
  2. 他们发现,一种使用单次 NAS 的 LLM 压缩方法不仅性能优于剪枝和稀疏化技术,而且还无需剪枝和稀疏化通常需要的额外恢复微调步骤。
  3. 他们分析了网络参数,以便更好地理解新方法发现的网络的架构特征。他们证明,没有一套单一的架构启发式方法可以应用于多个标准基准测试任务。
  4. 他们提出了一种框架,无需专门的软件和或硬件就能直接用于产生压缩版 LLM。他们还发现,使用不做任何修改的标准版量化技术就能进一步压缩这些网络。

方法

搜索方法

为了让大型语言模型(LLM)适应多样化的硬件平台和性能要求,该团队的选择是使用 InstaTune 方法,这是一种全新的单次神经架构搜索(NAS)范式,参阅论文《Instatune: Instantaneous neural architecture search during fine-tuning》。

InstaTune 对传统的微调过程进行了扩展,其做法是让模型的架构具有弹性,使其可以探索固定结构之外更宽广的设计空间。这种灵活性让模型可以适应不同的任务、数据集和计算资源。InstaTune 增强 NAS 的方式是利用已有的模型权重,从而无需再从头开始训练超级网络。通过将 NAS 过程嵌入到微调阶段,InstaTune 能在节省计算资源的同时确保派生出的子网络针对目标任务进行了专门优化,而不是针对预训练目标进行了优化。

在这项研究中,研究团队使用 InstaTune 中提出的技术和 Alpaca 数据集对预训练后的 LLaMA2-7B 模型进行了微调,得到了一个超级网络和一个搜索空间 —— 它们可用于搜索过程。

但是,不同于 InstaTune,该团队并未在 LLaMA2-7B 上执行基于强大教师模型或超级网络的知识蒸馏,原因则主要是计算和内存的限制。

此外,虽然 InstaTune 会在同一次迭代中为超级网络和随机采样的子网络同时计算损失,但该团队为了降低内存使用量,选择的做法是交替地为超级网络和随机采样的子网络计算损失。在这个具体案例中,超级网络就是基础 LLaMA2-7B 模型,没有任何额外的层,MLP 模块的中间层大小也没有扩展。

遵循 InstaTune 的方法,该团队也采用了一种进化搜索框架来在多目标设置中对架构进行优化,从而在给定下游任务上对模型大小和准确度进行优化。

具体来说,他们采用的算法是轻量迭代式神经架构搜索(LINAS)算法。LINAS 组合了 NSGA-II 搜索和网络性能预测器,可以高效地找到帕累托最优的网络配置。它能在真实数据上迭代式地评估子网络,从而为性能预测器提供信息,然后它们就能预测大量子网络的性能。之后,将最有潜力的子网络选出来,再在下一轮迭代中进行评估。这个过程持续进行,直到在真实数据上完成一定的评估次数。

搜索空间

如前所述,执行最优子网络搜索的算法是 LINAS。使用 InstaTune 在 Alpaca 数据集上对预训练 LLaMA2-7B 模型进行微调之后,该团队定义了一组允许参数值,以便在搜索最优子网络时使用。这个搜索空间的创建方式是改变整个网络的层数以及每个 MLP 模块的中间大小。

表 1 给出了这些参数值,最终得到的搜索空间大小约为 1.3 × 10^10。

图片

评估实验和结果

任务

该团队选用了以下任务来评估新方法的表现:

  • AI2 推理挑战(ARC)
  • 大规模多任务语言理解(MMLU)
  • TruthfulQA
  • WinoGrande

搜索分析

如前所述,该团队使用了 LINAS 算法来搜索 LLaMA2-7B 的最优子网络,使用的搜索空间见表 1。每个任务的搜索过程都执行 250 次评估。

AI2 推理挑战

针对 AI2 推理挑战(ARC)任务,是在模型大小 / ARC-c 准确度和模型大小 / ARC-e 准确度目标空间中执行的搜索。图 1 展示了在这两个目标空间中的帕累托边界。

图片

执行完搜索后,该团队找到了一些能提供更高准确度和 / 或更小规模的子网络架构。比如某些子网络的 ARC-c 准确度比预训练的 LLaMA2-7B 更高,如图中红点所示。举例来说:一个子网络的准确度与预训练 LLaMA2-7B 网络一样,都规模却小 1.1 倍;另一个子网络的大小一样,但准确度高 1.9%。

大规模多任务语言理解

该团队也使用表 1 中的参数搜索了在大规模多任务语言理解(MMLU)任务上的帕累托最优子网络。该搜索的目标空间是模型大小 / MMLU 准确度。此外,为了了解在推理速度方面的增益,该团队还评估了搜索得到的帕累托最优子网络的吞吐量。

图 2 展示了在模型大小 / MMLU 准确度以及吞吐量 / MMLU 准确度这两个目标空间中的帕累托边界。

可以看到,在这些帕累托最优子网络中,某些架构在模型大小和吞吐量这两方面都有优势。比如某些子网络的 MMLU 准确度比预训练的 LLaMA2-7B 更高,如图中红点所示。在一个案例中,子网络的准确度比预训练 LLaMA2-7B 高 1.1%,同时又比它小 1.5 倍,快 1.3 倍。

TruthfulQA

对于 TruthfulQA 任务,该团队发现对于 TruthfulQA MC1,预训练 LLaMA2-7B 明显是过度参数化了。如图 3 所示,新方法发现的许多网络架构都明显优于预训练 LLaMA2-7B,同时大小也小得多。

图片

WinoGrande

在 WinoGrande 上得到的结论与在 ARC-c 上得到的结果很相近。图 4 给出了在模型大小 / WinoGrande 搜索空间中的帕累托边界。

图片

搜索找到了一些有更高准确度和 / 或更小 guim 的子网络架构。举例来说:一个子网络的准确度与预训练 LLaMA2-7B 网络一样,都规模却小 1.1 倍;另一个子网络的大小一样,但准确度高 1.4%。

标准基准性能总结

表 2 给出了各任务的一些比较突出的子网络,并总结了它们的标准基准性能。

图片

剪枝和稀疏化性能比较

在通过新方法找到帕累托最优子网络之后,该团队选出了那些规模同等或更小的子网络(它们是通过剪枝或稀疏化得到的),并评估了它们在不同任务上的性能。然后,该团队比较了它们与 LLM-Pruner 和 SliceGPT 的标准基准性能,结果见表 3 和 4。

图片

图片

在表 3 中,ARC-c 和 MMLU 的某些子网络的准确度高于新方法找到的更大子网络。

原因是网络架构中不同中间大小的位置可能不会影响模型大小,但会影响准确度。因此,较小的子网络也可能取得更高的准确度,因为它选择了更好的中间大小。对于新方法找到的大小相近的子网络,在每个任务上的准确度均高于 LLM-Pruner 和 SliceGPT。

量化

为了进一步提升新方法找到的帕累托最优子网络的性能,该团队使用了定点(INT8)量化,使用的工具是 bitsandbytes。具体来说,首先量化搜索找到的帕累托最优子网络,然后在模型大小 / 准确度目标空间中再次评估它们。解码器层中的所有线性运算都被量化到了 INT8,而剩余层(比如嵌入层)依然是 FP16。

图 5 展示了量化前后在模型大小 / 准确度目标空间中的帕累托边界。

在为帕累托最优子网络使用了定点(INT8)量化之后,在目标空间中的帕累托边界「向左移了」。很显然,量化对准确度的影响很小,但却能显著降低模型大小。事实上,取得了高 1.1% MMLU 准确度且模型大小降低了 1.5 倍的非量化子网络在量化后不仅维持着原来的准确度,而且大小还降低了 2.5 倍。

图片

表 5 比较了表 2 中非量化版子网络与其定点(INT8)量化后的版本。

可以看到,对于 MMLU,相比于非量化版的预训练 LLaMA2-7B 网络,量化版子网络的准确度几乎没有损失,而模型大小却分别降低了 2.0 和 2.5 倍。对于 ARC-e,量化版网络的准确度还比非量化版更高一点。而对于 WinoGrande,量化版子网络的大小不仅分别降低了 1.8 和 2.0 倍,同时还取得了 0.2% 的少量准确度增益。

图片

搜索空间分析

该团队最后分析了层数和中间大小方面的性质。在层数方面,图 6 展示了在不同的任务上,一个被选择的网络对于不同的准确度百分位数具有层数 l ∈ {24, 28, 32} 的概率。

图片

可以看到,层数越多,准确度往往就越高。但是,对于 ARC-c、MMLU 和 TruthfulQA 等某些任务而言,情况却并非如此,这说明 LLaMA2-7B 在这些任务有过度参数化的现象。

在中间大小方面,图 7 给出了在 ARC-c 任务上,选择出的所有 32 层网络架构,一个特定层的中间大小为 s ∈ {5504, 11008} 的概率。

图片

可以看到,取得高 ARC-c 准确度的网络只在某些层有较高概率选择 5504 的中间大小。

具体来说,在 3、4、18、25、26、28、29 和 32 层,中间大小 s = 5504 的概率明显高于 s = 11008。评估 3、4、18、25、26、28、29 和 32 层的中间大小为 s = 5504 且其它层的中间大小为 s = 11008 的网络架构,得到的 ARC-c 准确度为 45.9%,与预训练 LLaMA2-7B 的准确度相当,从而验证了图 7 的结果。

另外,该团队还分析了在 MMLU 任务上评估的 24 层网络架构选择以及在 WinoGrande 任务上评估的 32 层网络架构选择,结果见图 8 和 9。

图片

图片

总体而言,可以得出结论:对于某些任务来说,没有必要使用完整的网络大小。

而这些结果的差异又表明,并不存在一种适用于所有任务的单一架构启发式方法。

读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

资源分享

图片

大模型AGI学习包

图片

图片

资料目录

  1. 成长路线图&学习规划
  2. 配套视频教程
  3. 实战LLM
  4. 人工智能比赛资料
  5. AI人工智能必读书单
  6. 面试题合集

人工智能\大模型入门学习大礼包》,可以扫描下方二维码免费领取

1.成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

图片

2.视频教程

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩

图片

3.LLM

大家最喜欢也是最关心的LLM(大语言模型)

图片

人工智能\大模型入门学习大礼包》,可以扫描下方二维码免费领取

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

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

相关文章

SaaS模式的海外仓系统:有什么优势,理由是什么?

海外仓系统是海外仓使用频率最高的工具类系统,根据数据显示,超过84%的海外仓都会通过海外仓系统规划仓库管理。 然而,市场上存在许多不同的海外仓系统类型供大家选择,主要是分为两类:本地部署和saas模式。今天主要是和…

AI绘画何以突飞猛进? 从历史到技术突破, 一文读懂火爆的AI绘画发展史

前言 自从前段时间偶然间被当下AI绘画的水平震住之后(超越一切的AI作画神器,和它创作的234个盔甲美女未来战士) ,作者深感当今AI绘画的飞速进展或许已远超所有人的预期。 而这里的前因后果,包括AI绘画的历史&#xff…

科研人必备!6个AI学术论文写作好帮手

人们都说一个新的人工智能时代已经到来,很多工作都将被这类机器人取代。不可否认的是,在学术界,有了 AI,科学研究人员将可以有更多时间专注在更有意义的任务上。科研人员可以利用 AI 工具分析大量数据、识别模式、做出决策&#x…

stm32h743 阿波罗v2 NetXduo http server CubeIDE+CubeMX

在这边要设置mpu的大小,要用到http server,mpu得设置的大一些 我是这么设置的,做一个参考 同样,在FLASH.ld里面也要对应修改,SECTIONS里增加.tcp_sec和 .nx_data两个区,我们用ram_d2区域去做网络&#xff…

电商IP分类及其应用是什么?

在现代电商运营中,IP地址不仅是网络通信的基础,也扮演着关键的角色,支持多种功能和应用场景。本文将介绍几种常见的电商IP分类,以及它们在电商领域中的具体应用。 1. 前台IP与后台IP 电商网站在运营过程中通常需要区分前台IP和后…

机器学习——L1 L2 范数 —>L1 L2正则化

1、L1范数和L2范数是机器学习和数据分析中经常使用的两种范数,它们之间存在多个方面的区别。 以下是关于L1范数和L2范数区别的详细解释: 一、定义差异 L1范数:也被称为曼哈顿范数,是向量元素的绝对值之和。对于一个n维向量x&am…

全网最全,保姆级Stable Diffusion系列入门使用教程(图生图、LoRA、提示词权重),建议收藏!

大家好,我是画画的小强 今天将给大家讲解 Stable Diffusion 入门使用教程的 图生图、LoRA和提示词权重的教程,如果你还没有使用或者安装SD,那么可以看看我的往期入门教程AI绘画『Stable Diffusion』面向小白的免费AI绘画工具:解压…

技术开发分享:商品详情APP原数据实时接口代码解析

商品详情app端原数据实时接口代码解析主要包括以下几个步骤: 获取商品ID:首先需要从淘宝的分享链接中提取商品ID,可以通过正则表达式匹配的方式获取。 构建请求URL:根据商品ID构建请求URL,通常包括淘宝的商品详情API地…

SAP HCM 如何知道标准程序有自定义增强代码 Configure Debugger Layer

导读 INTRODUCTION Configure Debugger Layer :今天分享下我在处理HCM业务中,如何通过debug的Configure Debugger Layer找到标准程序中的客制化的代码?也许在网上查看到很多找badi的方法或者其他的办法,但是这些办法比较繁琐&…

电脑数据恢复篇:如何从电脑中恢复已删除的照片

按下 Shift Delete 后后悔了?想要恢复已删除的照片?好吧,如果是这样的话,你来对地方了。在本文中,我们将讨论如何从 PC 中恢复已删除的文件。 自从摄影的概念被提出以来,人们就对它着迷。以前&#xff0c…

Windows下载及安装OpenSSL

文章目录 前言一、OpenSSL下载二、OpenSSL安装1.双击下载好的安装包2.选择【I accept the agreement】→ 点击【Next】3.选择OpenSSL安装的位置 → 点击【Next】4.点击【Next】5.点击【Next】6.点击【Install】安装OpenSSL7.等待安装8.取消勾选 → 点击【Finish】完成安装 三、…

优思学院|流水线生产为什么不是最高效的?

谈到工厂的生产模式,人们印象中可能会浮现出长长的流水线和密集的作业人员。在传统的大规模生产装配线上确实如此,强调的是标准化大规模生产,采用专职分工方式,生产线上的作业人员只做同一个简单的动作,以达到降低成本…

SSL 证书错误:如何修复以及错误发生的原因

SSL证书可以提升网站的可信度。然而,如果您的SSL证书出现错误,您可能会得到一个“不安全”的标签,这可能会导致访问者失去对您网站的信任并转向竞争对手。 本文将介绍SSL证书错误的原因及其对用户的潜在影响。随后,我们将提供详细…

实验7 数据查询(2)

一、实验目的 学习SQL语言的定义、操纵功能熟悉通过SQL语言对数据库进行查询操作,包括单表查询、多表查询、嵌套查询、集合查询 二、实验软件 MySQL三、实验内容和要求 给定四个关联表,其定义和数据加载如下: 学生表 Student create tab…

【信创国产化】Nacos 2.3.2连接达梦数据库

JeecgBoot 目前提供的nacos版本号 2.3.2已经支持与达梦数据库对接。 jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos项目默认加入了达梦驱动和yml配置。如果你是老代码,可以参考下面的步骤手工集成 项目地址:https://github.com/jeecgboot/JeecgBoot…

【文科类cpci/cnki会议,主题广泛】第九届现代管理、教育与社会科学国际学术会议(MMET2024)

会议信息 点击跳转会议官网(更多会议信息可添加会议官网下方负责老师-杨老师) 大会时间:2024年09月20-22日 大会地点:中国-厦门 提交检索:CPCI,CNKI (知网检索快速稳定) 点击一键投稿 点击一键参会&a…

各向异性含水层中地下水三维流基本微分方程的推导(二)

各向异性含水层中地下水三维流基本微分方程的推导 参考文献: [1] 刘欣怡,付小莉.论连续性方程的推导及几种形式转换的方法[J].力学与实践,2023,45(02):469-474. 书接上回: 我们能得到三个方向的流入流出平衡方程: ∂ ρ u x ∂ x d x d y d…

入门PHP就来我这(高级)22 ~ 七天免登录案例

有胆量你就来跟着路老师卷起来! -- 纯干货,技术知识分享 路老师给大家分享PHP语言的知识了,旨在想让大家入门PHP,并深入了解PHP语言。 上文讲述了cookie的概念,创建,获取,销毁以及生命周期后&am…

java设计模式(十五)命令模式(Command Pattern)

1、模式介绍: 命令模式(Command Pattern)是一种行为设计模式,其主要目的是将请求封装成一个对象,从而允许使用不同的请求、队列或者日志来参数化其他对象。这种模式使得命令的请求者和实现者解耦。 2、应用场景&…

王道计算机数据结构+插入排序、冒泡排序、希尔排序、快速排序、简单选择排序

本内容是基于王道计算机数据结构的插入排序、冒泡排序、希尔排序、快速排序、简单选择排序整理。 文章目录 插入排序算法性能代码 冒泡排序算法性能代码 希尔排序算法性能代码 快速排序算法性能代码 简单选择排序算法性能代码 插入排序 算法 算法思想:每次将一个…