0

0

将330亿参数大模型「塞进」单个消费级GPU,加速15%、性能不减

PHPz

PHPz

发布时间:2023-06-07 22:33:21

|

1459人浏览过

|

来源于51CTO.COM

转载

预训练大语言模型(LLM)在特定任务上的性能不断提高,随之而来的是,假如 prompt 指令得当,其可以更好的泛化到更多任务,很多人将这一现象归功于训练数据和参数的增多,然而最近的趋势表明,研究者更多的集中在更小的模型上,不过这些模型是在更多数据上训练而成,因而在推理时更容易使用。

举例来说,参数量为 7B 的 LLaMA 在 1T token 上训练完成,尽管平均性能略低于 GPT-3,但参数量是后者的 1/25。不仅如此,当前的压缩技术还能将这些模型进一步压缩,在保持性能的同时还能大幅减少内存需求。通过这样的改进,性能良好的模型可以在终端用户设备(如笔记本)上进行部署。

然而,这又面临另一个挑战,即想要将这些模型压缩到足够小的尺寸以适应这些设备,怎样才能兼顾生成质量。研究表明,尽管压缩后的模型生成的答案准确率还可以,但现有的 3-4 位量化技术仍然会让准确性降低。由于 LLM 生成是顺序进行的,依赖于先前生成的 token,小的相对误差不断累积并导致严重的输出损坏。为了确保可靠的质量,关键是设计出低位宽的量化方法,与 16 位模型相比不会降低预测性能。

然而,将每个参数量化到 3-4 位通常会导致中等程度、甚至是高等程度的准确率损失,特别是那些非常适合边缘部署的 1-10B 参数范围内的较小模型。

为了解决准确性问题,来自华盛顿大学、苏黎世联邦理工学院等机构的研究者提出了一种新的压缩格式和量化技术 SpQR(Sparse-Quantized Representation,稀疏 - 量化表征),首次实现了 LLM 跨模型尺度的近无损压缩,同时达到了与以前方法相似的压缩水平。

SpQR 通过识别和隔离异常权重来工作,这些异常权重会导致特别大的量化误差,研究者将它们以更高的精度存储,同时将所有其他权重压缩到 3-4 位,在 LLaMA 和 Falcon LLMs 中实现了不到 1% 的困惑度相对准确率损失。从而可以在单个 24GB 的消费级 GPU 上运行 33B 参数的 LLM,而不会有任何性能下降,同时还能提高 15% 的速度。

SpQR 算法高效,既可以将权重编码为其他格式,也可以在运行时进行有效地解码。具体来说,该研究为 SpQR 提供了一种高效的 GPU 推理算法,可以比 16 位基线模型更快地进行推理,同时实现了超过 4 倍的内存压缩收益。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

将330亿参数大模型「塞进」单个消费级GPU,加速15%、性能不减

  • 论文地址:https://arxiv.org/pdf/2306.03078.pdf
  • 项目地址:https://github.com/Vahe1994/SpQR

方法

该研究提出一种混合稀疏量化的新格式 —— 稀疏量化表征(SpQR),可以将精确预训练的 LLM 压缩到每个参数 3-4 位,同时保持近乎无损。

具体来说,该研究将整个过程分为两步。第一步是异常值检测:该研究首先孤立了异常值权重,并证明其量化会导致高误差:异常值权重保持高精度,而其他权重以低精度(例如 3 位的格式)存储。然后,该研究以非常小的组大小实现分组量化(grouped quantization)的变体,并表明量化尺度本身可以被量化为 3 位表征。

SpQR 极大地减少了 LLM 的内存占用,而不会降低准确性,同时与 16 位推理相比,LLM 的生成速度快了 20%-30%。

此外,该研究发现,权重矩阵中敏感权重的位置不是随机的,而是具有特定的结构。为了在量化过程中突出显示其结构,该研究计算了每个权重的敏感度,并为 LLaMA-65B 模型可视化这些权重敏感度。下图 2 描绘了 LLaMA-65B 最后一个自注意力层的输出投影。

将330亿参数大模型「塞进」单个消费级GPU,加速15%、性能不减

该研究对量化过程进行了两个改变:一个用于捕捉小的敏感权重组,另一个用于捕捉单个的异常值。下图 3 为 SpQR 的总体架构:

将330亿参数大模型「塞进」单个消费级GPU,加速15%、性能不减

下表为 SpQR 量化算法,左边的代码片段描述了整个过程,右边的代码片段包含了二级量化和查找异常值的子程序:

将330亿参数大模型「塞进」单个消费级GPU,加速15%、性能不减

实验

该研究将 SpQR 与其他两种量化方案进行了比较:GPTQ、RTN(rounding-to-nearest),并用两个指标来评估量化模型的性能。首先是困惑度的测量,所用数据集包括 WikiText2、 Penn Treebank 以及 C4;其次是在五个任务上的零样本准确率:WinoGrande、PiQA、HellaSwag、ARC-easy、ARC-challenge。

主要结果。图 1 结果显示,在相似的模型大小下,SpQR 的性能明显优于 GPTQ(以及相应的 RTN),特别是在较小的模型上。这种改进得益于 SpQR 实现了更多的压缩,同时也减少了损失退化。

将330亿参数大模型「塞进」单个消费级GPU,加速15%、性能不减

表 1、表 2 结果显示,对于 4 位量化,与 GPTQ 相比,SpQR 相对于 16 位基线的误差减半。

将330亿参数大模型「塞进」单个消费级GPU,加速15%、性能不减

将330亿参数大模型「塞进」单个消费级GPU,加速15%、性能不减

表 3 报告了 LLaMA-65B 模型在不同数据集上的困惑度结果。

将330亿参数大模型「塞进」单个消费级GPU,加速15%、性能不减

最后,该研究评估了 SpQR 推理速度。该研究将专门设计的稀疏矩阵乘法算法与 PyTorch(cuSPARSE)中实现的算法进行了比较,结果如表 4 所示。可以看到,尽管 PyTorch 中的标准稀疏矩阵乘法并没有比 16 位推理更快,但本文专门设计的稀疏矩阵乘法算法可以提高约 20-30% 的速度。

将330亿参数大模型「塞进」单个消费级GPU,加速15%、性能不减

相关专题

更多
登录token无效
登录token无效

登录token无效解决方法:1、检查token的有效期限,如果token已经过期,需要重新获取一个新的token;2、检查token的签名,如果签名不正确,需要重新获取一个新的token;3、检查密钥的正确性,如果密钥不正确,需要重新获取一个新的token;4、使用HTTPS协议传输token,建议使用HTTPS协议进行传输 ;5、使用双因素认证,双因素认证可以提高账户的安全性。

6041

2023.09.14

登录token无效怎么办
登录token无效怎么办

登录token无效的解决办法有检查Token是否过期、检查Token是否正确、检查Token是否被篡改、检查Token是否与用户匹配、清除缓存或Cookie、检查网络连接和服务器状态、重新登录或请求新的Token、联系技术支持或开发人员等。本专题为大家提供token相关的文章、下载、课程内容,供大家免费下载体验。

781

2023.09.14

token怎么获取
token怎么获取

获取token值的方法:1、小程序调用“wx.login()”获取 临时登录凭证code,并回传到开发者服务器;2、开发者服务器以code换取,用户唯一标识openid和会话密钥“session_key”。想了解更详细的内容,可以阅读本专题下面的文章。

1044

2023.12.21

token什么意思
token什么意思

token是一种用于表示用户权限、记录交易信息、支付虚拟货币的数字货币。可以用来在特定的网络上进行交易,用来购买或出售特定的虚拟货币,也可以用来支付特定的服务费用。想了解更多token什么意思的相关内容可以访问本专题下面的文章。

1086

2024.03.01

页面置换算法
页面置换算法

页面置换算法是操作系统中用来决定在内存中哪些页面应该被换出以便为新的页面提供空间的算法。本专题为大家提供页面置换算法的相关文章,大家可以免费体验。

387

2023.08.14

pytorch是干嘛的
pytorch是干嘛的

pytorch是一个基于python的深度学习框架,提供以下主要功能:动态图计算,提供灵活性。强大的张量操作,实现高效处理。自动微分,简化梯度计算。预构建的神经网络模块,简化模型构建。各种优化器,用于性能优化。想了解更多pytorch的相关内容,可以阅读本专题下面的文章。

428

2024.05.29

Python AI机器学习PyTorch教程_Python怎么用PyTorch和TensorFlow做机器学习
Python AI机器学习PyTorch教程_Python怎么用PyTorch和TensorFlow做机器学习

PyTorch 是一种用于构建深度学习模型的功能完备框架,是一种通常用于图像识别和语言处理等应用程序的机器学习。 使用Python 编写,因此对于大多数机器学习开发者而言,学习和使用起来相对简单。 PyTorch 的独特之处在于,它完全支持GPU,并且使用反向模式自动微分技术,因此可以动态修改计算图形。

5

2025.12.22

http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1665

2024.08.16

php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

2

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Django 教程
Django 教程

共28课时 | 2.6万人学习

Go 教程
Go 教程

共32课时 | 3.1万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 1.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号