Delta-CoMe:清华联合OpenBMB等高校开源的新型增量压缩算法

本文涉及的产品
交互式建模 PAI-DSW,每月250计算时 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,100CU*H 3个月
简介: Delta-CoMe是由清华大学NLP实验室联合OpenBMB开源社区、北京大学和上海财经大学提出的新型增量压缩算法。该算法通过结合低秩分解和低比特量化技术,显著减少了大型语言模型的存储和内存需求,同时保持了模型性能几乎无损。Delta-CoMe特别适用于处理数学、代码和多模态等复杂任务,并在推理速度上有所提升。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

  1. 模型压缩:显著减少大型语言模型的存储和内存需求。
  2. 性能保持:在压缩的同时保持模型性能,尤其在复杂任务中表现出色。
  3. 多任务处理:支持同时部署多个模型,提高模型部署的灵活性和效率。

正文(附运行示例)

Delta-CoMe 是什么

公众号: 蚝油菜花 - Delta-CoMe

Delta-CoMe是清华大学NLP实验室联合OpenBMB开源社区、北京大学和上海财经大学提出的新型增量压缩算法。该算法通过结合低秩分解和低比特量化技术,利用模型参数增量(Delta)的低秩特性,实现混合精度压缩。这种方法能在大幅降低存储和推理成本的同时,保持模型性能几乎无损,尤其在处理数学、代码和多模态等复杂任务时表现出色。

Delta-CoMe 的主要功能

  • 模型压缩:基于混合精度压缩技术,显著减少大型语言模型(LLMs)的存储和内存需求,让在有限的硬件资源上部署更多的模型成为可能。
  • 性能保持:在压缩的同时,保持模型的性能,尤其是在复杂的任务如数学问题解决、代码生成和多模态任务中,确保压缩后的模型性能接近未压缩的微调模型。
  • 多任务处理:支持同时部署多个具有不同能力的模型,适用于多租户和多任务处理场景,提高模型部署的灵活性和效率。
  • 推理速度提升:基于实现Triton kernel算子,在推理速度上相比PyTorch实现方式提升近3倍,进一步优化模型的运行效率。

Delta-CoMe 的技术原理

  • 低秩分解:用奇异值分解(SVD)对模型参数增量(Delta)进行低秩分解,发现Delta参数具有低秩特性,即大部分变化集中在少数几个主成分上。
  • 混合精度量化:基于低秩分解的结果,采用混合精度量化方法,对不同的奇异向量分配不同的位宽。较大奇异值对应的奇异向量用较高精度表示,而较小奇异值对应的奇异向量用较低精度表示,减少存储需求。
  • 长尾分布利用:Delta-CoMe观察到Delta参数的奇异值呈现长尾分布,即大部分奇异值较小,只有少数奇异值较大。因此,对于小奇异值对应的奇异向量进行更激进的压缩,对于大奇异值对应的奇异向量保留更高的精度。
  • 兼容性和泛化性:Delta-CoMe方法适用于特定的模型或任务,而且具有很好的泛化性,能与不同的主干模型(如Llama-2、Llama-3和Mistral)兼容,并在多种任务上保持良好性能。
  • 硬件优化:为进一步提升推理速度,Delta-CoMe实现针对混合精度量化的Triton kernel算子,让在硬件上的部署更加高效。

如何运行 Delta-CoMe

安装

conda create -n Delta-CoMe python=3.9
conda activate Delta-CoMe
pip install -r requirements.txt

压缩

我们发布了llama和mistral系列的模型。详情请参见llama.py和mistral.py。

bash run.sh  # 运行llama系列模型,详情请参见run.sh

评估

See ./evaluation for more details.

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
2月前
|
存储 JSON 算法
TDengine 检测数据最佳压缩算法工具,助你一键找出最优压缩方案
在使用 TDengine 存储时序数据时,压缩数据以节省磁盘空间是至关重要的。TDengine 支持用户根据自身数据特性灵活指定压缩算法,从而实现更高效的存储。然而,如何选择最合适的压缩算法,才能最大限度地降低存储开销?为了解决这一问题,我们特别推出了一个实用工具,帮助用户快速判断并选择最适合其数据特征的压缩算法。
62 0
|
5月前
|
算法 数据处理 数据安全/隐私保护
|
6月前
|
算法 Java
Java面试题:解释垃圾回收中的标记-清除、复制、标记-压缩算法的工作原理
Java面试题:解释垃圾回收中的标记-清除、复制、标记-压缩算法的工作原理
76 1
|
7月前
|
数据采集 算法 安全
CVPR 2024:给NeRF开透视眼!稀疏视角下用X光进行三维重建,9类算法工具包全开源
【6月更文挑战第28天】CVPR 2024亮点:SAX-NeRF框架开源!融合X光与NeRF,提升3D重建效果。X3D数据集验证,Lineformer+MLG策略揭示物体内部结构,增强几何理解。虽有计算成本及泛化挑战,但为计算机视觉和医学影像开辟新路径。[论文链接](https://arxiv.org/abs/2311.10959)**
198 5
|
7月前
|
算法 数据可视化 网络安全
清华等高校推出首个开源大模型水印工具包MarkLLM,支持近10种最新水印算法
【6月更文挑战第27天】清华大学等高校发布了开源工具MarkLLM,这是首个专注于大语言模型水印的工具包,支持近10种先进算法。该工具统一了水印实现,便于比较和使用,旨在促进水印技术在保障信息真实性和网络安全上的应用。MarkLLM提供直观界面、可视化及自动化评估,推动了大模型水印研究的进步。[论文链接:](https://arxiv.org/abs/2405.10051)**
189 5
|
6月前
|
算法 Java 程序员
Java面试题:解释Java的垃圾回收机制,包括常见的垃圾回收算法。介绍一下Java的垃圾回收算法中的标记-压缩算法。
Java面试题:解释Java的垃圾回收机制,包括常见的垃圾回收算法。介绍一下Java的垃圾回收算法中的标记-压缩算法。
57 0
|
6月前
|
机器学习/深度学习 算法 搜索推荐
一个开源且全面的C#算法实战教程
一个开源且全面的C#算法实战教程
105 0
|
11天前
|
机器学习/深度学习 算法
基于改进遗传优化的BP神经网络金融序列预测算法matlab仿真
本项目基于改进遗传优化的BP神经网络进行金融序列预测,使用MATLAB2022A实现。通过对比BP神经网络、遗传优化BP神经网络及改进遗传优化BP神经网络,展示了三者的误差和预测曲线差异。核心程序结合遗传算法(GA)与BP神经网络,利用GA优化BP网络的初始权重和阈值,提高预测精度。GA通过选择、交叉、变异操作迭代优化,防止局部收敛,增强模型对金融市场复杂性和不确定性的适应能力。
145 80
|
5天前
|
机器学习/深度学习 算法
基于遗传优化的双BP神经网络金融序列预测算法matlab仿真
本项目基于遗传优化的双BP神经网络实现金融序列预测,使用MATLAB2022A进行仿真。算法通过两个初始学习率不同的BP神经网络(e1, e2)协同工作,结合遗传算法优化,提高预测精度。实验展示了三个算法的误差对比结果,验证了该方法的有效性。
|
7天前
|
机器学习/深度学习 数据采集 算法
基于PSO粒子群优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真
本项目展示了基于PSO优化的CNN-GRU-SAM网络在时间序列预测中的应用。算法通过卷积层、GRU层、自注意力机制层提取特征,结合粒子群优化提升预测准确性。完整程序运行效果无水印,提供Matlab2022a版本代码,含详细中文注释和操作视频。适用于金融市场、气象预报等领域,有效处理非线性数据,提高预测稳定性和效率。

热门文章

最新文章