当前位置: 首页 > news >正文

LLM 模型压缩之三: FoldGPT

0. 资源链接

  • 论文: FoldGPT: Simple and Effective Large Language Model Compression Scheme

  • 项目: to be released.

1. 背景动机

现有的大语言模型推理存在以下问题:

  • LLM 模型因为有大量的参数,以及 next token 的预测方式,导致 LLM 模型推理慢,计算消耗大。

  • 模型压缩,量化和蒸馏等技术用来加速 LLM 模型推理;以及目前有许多端侧 LLM 推理的需求对大模型推理时延很高,需要尽可能降低 LLM 的推理时延,目前的加速技术仍然存在挑战。

  • 目前压缩模型技术主要分析,剪枝模型宽度存在的冗余性,但是模型的finetune 仍然需要消耗较多算力。

  • 目前有一些工作如 ShortGPT 等工作发现 LLM 在深度存在冗余计算,在深度剪枝取得不错的效果。

2. 内容提要

  • 本文分析了LLM blocks 输出的值的相似度,发现在深度维度上存在大量冗余。

  • 本文提出一个叫做 FoldGPT 方法,主要由模块去除和模块共享技术。

  • 本文设计一种可学习的重要度度量来对 LLM block 重要性排序,用于去除不重要模块。

  • 本文通过大量实验验证了 FoldGPT 的有效性,在不少模型上取得 SOTA 压缩效果。

3. 技术细节

FoldGPT 包含4个主要部分:Redundancy analysis,Gated block removal,Grouped parameter sharing 和 Distillation fine-tuning。

3.1 Redundancy analysis

通过分析 block 输入输出的相似度,可以发现不同 model 都存在深度的冗余性。

3.2 Gated block removal

  • 由于之前 ShortGPT BI score 方法忽略模块之间的影响,所以不能找到全局最优的模块去除策略。

  • 本文通过引入学习的门控系数来学习模块之间去除影响重要性。

  • 通过实验对比发现 FoldGPT 效果要远好于 ShortGPT BI score。

3.3 Grouped parameter sharing

  • 通过 group方式,让group 内的block share weights,为了保持精度,增加少量可学习参数来微调模型。

3.4 Distillation fine-tuning

  • 通过 Lora 微调提高精度。

4. 实验结果

  • FoldGPT 效果要好于 ShortGPT,同时通过 finetune 压缩效果会更好。

5. 一些思考

  • FoldGPT 针对 ShortGPT BI score 存在的问题,提出可学习的 Gated block score 来找出 less import blocks。

  • 通过参数共享和微调的技术进一步提高模型推理速度。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 高级算法设计与分析 学习笔记3 哈希表
  • maven-helper插件解决jar包冲突实战
  • 使用udp进行通信
  • 宏碁扩展Swift系列,推出四款全新AI笔记本电脑
  • 番外 1 : 安装 docker 和 docker-compose
  • Oracl查询报错:ORA-29275: 部分多字节字符
  • vscode spring boot项目编辑yaml不自动提示补全如何解决
  • 计算机网络13——IM聊天系统——网络功能实现——UDP
  • Oracle高级压缩和透明数据加密组合实验
  • CSS学习6
  • CSS中 特殊类型的选择器 伪元素如何使用
  • python文件自动化(4)
  • XMind v24 激活,简单一键激活
  • Spring、SpringMVC、SpringBoot都是什么,有什么区别
  • TinyWebSever源码逐行注释()_简单代码的整合
  • 2017 年终总结 —— 在路上
  • 3.7、@ResponseBody 和 @RestController
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • java8-模拟hadoop
  • mysql中InnoDB引擎中页的概念
  • PHP那些事儿
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 当SetTimeout遇到了字符串
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 如何选择开源的机器学习框架?
  • 少走弯路,给Java 1~5 年程序员的建议
  • 突破自己的技术思维
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 用jQuery怎么做到前后端分离
  • 正则与JS中的正则
  • 2017年360最后一道编程题
  • Semaphore
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • 阿里云ACE认证学习知识点梳理
  • 仓管云——企业云erp功能有哪些?
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • ​什么是bug?bug的源头在哪里?
  • #include<初见C语言之指针(5)>
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • (11)MATLAB PCA+SVM 人脸识别
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (function(){})()的分步解析
  • (ibm)Java 语言的 XPath API
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (南京观海微电子)——COF介绍
  • (自用)交互协议设计——protobuf序列化
  • ***检测工具之RKHunter AIDE
  • .NET Framework 4.6.2改进了WPF和安全性
  • .NET HttpWebRequest、WebClient、HttpClient