标签:大语言模型,模型压缩,量化,K-Quants,imatrix,i-quants 时间:2024-03-09T18:24:37
随着人工智能的快速发展,大语言模型以其强大的语言理解和生成能力受到广泛关注。然而,大模型往往参数量巨大,给模型的存储和推理带来挑战。因此,如何在保证模型性能的同时,减小模型体积,成为了业界关注的重点问题。
目前,主流的大模型压缩方案包括量化、剪枝、知识蒸馏等。其中,量化通过降低模型参数的数值精度,来达到显著减小模型体积的目的。本文将重点讨论几种常见的大模型量化方案,并对比分析其性能表现。
K-Quants是一种基于KMeans聚类的量化方法。其基本思想是将模型的权重参数映射到K个聚类中心点上,从而用更少的比特数来表示权重。常见的K-Quants有Q8(8-bit)、Q6(6-bit)、Q5(5-bit)等不同的量化级别。
imatrix是一种对K-Quants量化后的模型进行进一步优化的技术。它通过学习量化前后模型输出的差异,建立一个校正矩阵,并将其应用到量化模型中,以补偿量化带来的精度损失。
i-quants是一种改进的量化方案,通过在量化过程中,联合优化量化中心点和矩阵校正参数,可以达到更好的量化效果。但i-quants目前在业界的应用还比较少见。
根据最新的一些研究和讨论,我们对上述几种量化方案的性能进行了对比分析。
在Q8量化级别下,imatrix增强对模型性能的提升效果并不明显,甚至可以忽略不计。但在Q6和Q5量化级别上,imatrix可以带来显著的性能提升。下表展示了不同量化方案在LLaMA模型上的测试结果对比:
可以看出,在Q6和Q5量化级别上,imatrix和i-quants都能带来1-2个perplexity的提升,这对于大模型来说是非常可观的性能提升。
尽管imatrix可以有效改善K-Quants的量化性能,但在实际应用中,我们发现目前很多共享的量化模型并没有明确标识是否使用了imatrix优化。这给用户选择和使用模型带来了一定的困扰。
举例来说,当你从huggingface等模型平台下载量化模型时,可能会发现有多个不同的版本,如原始模型、量化模型、imatrix优化模型等。如果平台没有明确标识imatrix,用户很难判断哪一个才是性能最优的选择。
因此,我们建议模型提供方在发布量化模型时,应当明确标识是否使用了imatrix等优化技术,并提供必要的性能对比数据,方便用户做出选择。
大模型量化是兼顾模型性能和部署效率的重要手段。目前,K-Quants、imatrix增强的K-Quants以及i-quants等方案在业界得到了广泛应用。通过对比分析发现,imatrix可以显著提升K-Quants在低比特量化级别下的性能表现。
同时,我们也提出了量化模型共享过程中存在的一些问题,呼吁提供更加规范和完善的模型信息标注,助力用户更好地选择和使用大模型。
相信通过业界的共同努力,大模型压缩技术一定能不断突破,让强大的AI模型走向更广阔的应用场景,造福人类社会。
阿里巴巴开源第二代大语言模型Qwen2系列,最高参数规模700亿,评测结果位列开源模型第一,超过了Meta开源的Llama3-70B!
让大模型支持更长的上下文的方法哪个更好?训练支持更长上下文的模型还是基于检索增强?
大模型如何使用长上下文信息?斯坦福大学最新论文证明,你需要将重要的信息放在输入的开始或者结尾处!
文本理解与代码补全都很强!Salesforce开源支持8K上下文输入的大语言模型XGen-7B!
一张图总结大语言模型的技术分类、现状和开源情况
国产开源中文大语言模型再添重磅玩家:清华大学NLP实验室发布开源可商用大语言模型CPM-Bee
tokens危机到来该怎么办?新加坡国立大学最新研究:为什么当前的大语言模型的训练都只有1次epoch?多次epochs的大模型训练是否有必要?
Falcon-40B:截止目前最强大的开源大语言模型,超越MetaAI的LLaMA-65B的开源大语言模型
AI大模型领域的热门技术——Embedding入门介绍以及为什么Embedding在大语言模型中很重要
大语言模型训练之前,数据集的处理步骤包含哪些?以LLaMA模型的数据处理pipeline(CCNet)为例
Llama2模型量化结果地址
如何基于PyTorch来优化大模型训练的内存(显存)使用:8种方法总结
华盛顿大学提出QLoRA及开源预训练模型Guanaco:将650亿参数规模的大模型微调的显存需求从780G降低到48G!单张显卡可用!
Dirichlet Distribution(狄利克雷分布)与Dirichlet Process(狄利克雷过程)
回归模型中的交互项简介(Interactions in Regression)
贝塔分布(Beta Distribution)简介及其应用
矩母函数简介(Moment-generating function)
普通最小二乘法(Ordinary Least Squares,OLS)的详细推导过程
使用R语言进行K-means聚类并分析结果
深度学习技巧之Early Stopping(早停法)
H5文件简介和使用
手把手教你本地部署清华大学的ChatGLM-6B模型——Windows+6GB显卡本地部署
Wishart分布简介