首页 > 其他分享 >大模型的量化

大模型的量化

时间:2024-07-16 22:40:50浏览次数:4  
标签:E5% 模型 E6% 整数 量化 浮点数

大模型的量化

https://developer.baidu.com/article/details/3211764

一、大模型量化的基本概念

大模型量化,简单来说,就是将深度学习模型的浮点运算转换为整型运算的过程。在默认情况下,模型使用32位浮点数进行所有预测计算,这使得模型变得非常大。通过量化技术,我们可以将这些浮点数转换为更低精度的整数,从而显著减少模型的存储空间和计算时间。需要注意的是,量化过程中可能会损失一定的精度,但通常这种损失在可接受范围内。

二、大模型量化的技术原理

大模型量化的核心思想是利用数学变换和编码技术,将浮点数的存储和运算转换为整数的存储和运算。具体来说,量化过程包括两个主要步骤:前向量化和反向量化。

前向量化是将浮点数转换为整数的过程。在这个过程中,我们将浮点数的范围映射到一个整数范围内,并将浮点数转换为对应的整数。这个映射过程通常是通过一个缩放因子和一个偏移量来实现的。缩放因子用于调整整数的范围,使其能够覆盖浮点数的范围;偏移量则用于将浮点数的零点映射到整数的零点。

反向量化是将整数转换回浮点数的过程。这个过程是前向量化的逆操作,用于在推理过程中将整数还原为浮点数,以便进行后续的运算。

三、大模型量化的实际应用

大模型量化技术在实际应用中具有广泛的用途。首先,它可以显著减少模型的存储需求,使得在资源有限的设备上部署大型模型成为可能。例如,在手机、嵌入式设备等资源受限的环境中,通过量化技术可以使得深度学习模型的应用变得更加容易和高效。

其次,大模型量化技术还可以加快模型的推理速度。由于整型运算比浮点运算更快,因此量化后的模型在推理过程中可以获得更高的运行速度。这对于实时性要求较高的应用来说非常重要,如语音识别图像识别等。

 

https://github.com/yuanzhoulvpi2017/zero_nlp/wiki/%E5%A4%A7%E6%A8%A1%E5%9E%8B%E7%9A%84%E9%87%8F%E5%8C%96%E4%B9%8B%E8%B7%AF%E2%80%94%E2%80%94transformers%E6%98%AF%E5%A6%82%E4%BD%95%E7%BB%99%E6%A8%A1%E5%9E%8B%E6%B7%BB%E5%8A%A0%E4%B8%8A%E9%87%8F%E5%8C%96%E5%8A%9F%E8%83%BD%E7%9A%84%E3%80%90transformers%E6%BA%90%E7%A0%81%E9%98%85%E8%AF%BB%E3%80%91

背景

  1. 现在 nlp 模型,动不动就 7b、13b 的,有的甚至更大,如果直接使用 bfloat16 加载推理、训练,需要太大的显存了。
  2. 于是现在大家都在用 int4、int8 对这种 100b 以上的模型、对 60b 以上的模型做量化。量化之后的模型,虽然效果会变差,但是好像效果还不错。
  3. 有的人,甚至结合 lora,做了 qlora。比如这个项目https://github.com/artidoro/qlora,现在很火~
  4. 现在,在最新的 transformers 包里面,已经集成了相关的方法,你可以使用 int4、int8 对任何 transformers 家族的模型做量化。而且就传递几个参数即可。很简单。
  5. 现在的 int4、int8 方法实现,包括 transformers 集成的量化方法,基本上都是基于 bitsandbytes 包的。

问题

  1. 我就是很好奇,transformers 包,到底怎么做的,就加个参数,就可以量化模型了。
  2. 这个量化,到底是怎么量化的。懒得看论文了,就看代码吧。

 

标签:E5%,模型,E6%,整数,量化,浮点数
From: https://www.cnblogs.com/lightsong/p/18306263

相关文章

  • 时间序列模型!(新手教程,特征工程讲解,两个模型通用代码)
    Timeisrelative. Yourbodyhasn'tevenhittheflooryet. I'vespentsomanyyears...peeringthroughtime...lookingatthisexactmoment. ButIcan'tseepastit.简介:(新手向)    时间序列模型在生活中的各个部分都参了一脚,从股票走势到商品销售额的......
  • 大模型算法面试题(三)
    本系列收纳各种大模型面试题及答案。1、如何评估大模型的效果及安全性一、评估大模型的效果评估大模型的效果主要关注其在特定任务上的表现能力,这通常可以通过以下几个维度来衡量:语言理解能力:语义、语法、语境:评估模型是否能够准确理解输入文本的含义、语法结构以及上......
  • R语言极值分析:GEV与GPD模型与MCMC的海洋观测数据极值模拟可视化研究
    全文链接:https://tecdat.cn/?p=37007原文出处:拓端数据部落公众号在海洋科学领域,极端天气和海洋事件如极端海浪、风暴潮和海啸等,对沿海社区、基础设施及生态环境构成了重大威胁。准确预测和评估这些极端事件的强度和频率,对于制定有效的防灾减灾策略至关重要。极值分析作为统......
  • 极值理论 EVT、POT超阈值、GARCH 模型分析股票指数VaR、条件CVaR:多元化投资组合预测风
    全文链接:http://tecdat.cn/?p=24182最近我们被客户要求撰写关于极值理论的研究报告,包括一些图形和统计输出。本文用R编程语言极值理论(EVT)以确定10只股票指数的风险价值(和条件VaR)使用Anderson-Darling检验对10只股票的组合数据进行正态性检验,并使用BlockMaxima......
  • PYTHON用时变马尔可夫区制转换(MARKOV REGIME SWITCHING)自回归模型分析经济时间序列|附
    全文下载链接:http://tecdat.cn/?p=22617最近我们被客户要求撰写关于MRS的研究报告,包括一些图形和统计输出。本文提供了一个在统计模型中使用马可夫转换模型模型的例子,来复现Kim和Nelson(1999)中提出的一些结果。它应用了Hamilton(1989)的滤波器和Kim(1994)的平滑器  %matplot......
  • 2024大模型十大趋势
    2024大模型十大趋势关键要点一、机器外脑时代的智慧探索二、机器外脑、创意生成和情感陪伴三、大模型驱动的新未来:AI带来创意转化与机遇四、人物-行为-场景一体化:未来人工智能的新范式五、未来数字内容生产的基础设施六、共创、共建、共享智能美好未来七、十万卡集群量变......
  • 量化交易:如何在QMT中运行Python策略并在VSCode中高效调试?
    哈喽,大家好,我是木头左!为何选择QMT和VSCode进行量化策略开发?在量化交易的世界里,选择正确的工具与拥有优秀的策略同等重要。调用用VisualStudioCode(简称VSCode)或pycharm,方式都差不多。结合QMT的数据处理能力和VSCode的便捷调试功能,可以极大地提高量化策略的开发效率和质量。......
  • 【大模型】 NVIDIA GPU 架构与性能解析:从V100到H100的进化之路
    NVIDIAGPU架构与性能解析:从V100到H100的进化之路一、GPU架构概览二、GPU核心参数详解三、GPU型号对比四、NVIDIAGPU的互联技术五、案例分析六、结论在人工智能和高性能计算的前沿阵地,GPU(图形处理器)正扮演着越来越重要的角色。尤其是NVIDIA的GPU,凭借其强大的并行......
  • kano模型
    KANO模型是一种质量管理工具,用于帮助企业了解客户需求和期望。它由日本学者狩野纯提出,并于1984年首次发表。KANO模型基于对产品或服务特性与客户满意度之间关系的理解。它将客户需求分为五个类别:基本要素(BasicFactors):这些是客户对产品或服务的基本要求,如果没有满足这些要求,客......
  • 生产者消费者模型
    生产者消费者模型 1.生产者消费者模型优点未理解!  2.标准库提供的阻塞队列查看代码 importjava.util.concurrent.ArrayBlockingQueue;importjava.util.concurrent.BlockingQueue;classTest{publicstaticvoidmain(String[]args)throwsInterru......