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

本文涉及的产品
交互式建模 PAI-DSW,每月250计算时 3个月
模型训练 PAI-DLC,100CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
简介: 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 支持用户根据自身数据特性灵活指定压缩算法,从而实现更高效的存储。然而,如何选择最合适的压缩算法,才能最大限度地降低存储开销?为了解决这一问题,我们特别推出了一个实用工具,帮助用户快速判断并选择最适合其数据特征的压缩算法。
70 0
|
5月前
|
算法 数据处理 数据安全/隐私保护
|
6月前
|
算法 Java
Java面试题:解释垃圾回收中的标记-清除、复制、标记-压缩算法的工作原理
Java面试题:解释垃圾回收中的标记-清除、复制、标记-压缩算法的工作原理
83 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)**
227 5
|
7月前
|
算法 数据可视化 网络安全
清华等高校推出首个开源大模型水印工具包MarkLLM,支持近10种最新水印算法
【6月更文挑战第27天】清华大学等高校发布了开源工具MarkLLM,这是首个专注于大语言模型水印的工具包,支持近10种先进算法。该工具统一了水印实现,便于比较和使用,旨在促进水印技术在保障信息真实性和网络安全上的应用。MarkLLM提供直观界面、可视化及自动化评估,推动了大模型水印研究的进步。[论文链接:](https://arxiv.org/abs/2405.10051)**
205 5
|
6月前
|
算法 Java 程序员
Java面试题:解释Java的垃圾回收机制,包括常见的垃圾回收算法。介绍一下Java的垃圾回收算法中的标记-压缩算法。
Java面试题:解释Java的垃圾回收机制,包括常见的垃圾回收算法。介绍一下Java的垃圾回收算法中的标记-压缩算法。
58 0
|
6月前
|
机器学习/深度学习 算法 搜索推荐
一个开源且全面的C#算法实战教程
一个开源且全面的C#算法实战教程
113 0
|
4天前
|
算法 数据安全/隐私保护 计算机视觉
基于Retinex算法的图像去雾matlab仿真
本项目展示了基于Retinex算法的图像去雾技术。完整程序运行效果无水印,使用Matlab2022a开发。核心代码包含详细中文注释和操作步骤视频。Retinex理论由Edwin Land提出,旨在分离图像的光照和反射分量,增强图像对比度、颜色和细节,尤其在雾天条件下表现优异,有效解决图像去雾问题。
|
4天前
|
算法 数据可视化 安全
基于DWA优化算法的机器人路径规划matlab仿真
本项目基于DWA优化算法实现机器人路径规划的MATLAB仿真,适用于动态环境下的自主导航。使用MATLAB2022A版本运行,展示路径规划和预测结果。核心代码通过散点图和轨迹图可视化路径点及预测路径。DWA算法通过定义速度空间、采样候选动作并评估其优劣(目标方向性、障碍物距离、速度一致性),实时调整机器人运动参数,确保安全避障并接近目标。
|
13天前
|
算法 数据安全/隐私保护
室内障碍物射线追踪算法matlab模拟仿真
### 简介 本项目展示了室内障碍物射线追踪算法在无线通信中的应用。通过Matlab 2022a实现,包含完整程序运行效果(无水印),支持增加发射点和室内墙壁设置。核心代码配有详细中文注释及操作视频。该算法基于几何光学原理,模拟信号在复杂室内环境中的传播路径与强度,涵盖场景建模、射线发射、传播及接收点场强计算等步骤,为无线网络规划提供重要依据。

热门文章

最新文章