大型语言模型(LLMS)的量化:有效降低AI模型大小
>在笔记本电脑上运行自己的chatgpt:llm量化指南
>>曾经梦想直接在笔记本电脑上运行自己的chatgpt? 得益于大语言模型(LLMS)的进步,这已成为现实。 关键是量化 - 一种技术,它缩小了这些庞大的模型,以适合消费者硬件,而性能损失最少(完成正确!)。本指南解释了量化,其方法,并向您展示了如何使用拥抱Face的Quanto库以两个简单的步骤来量化模型。 使用DataCamp Datalab。
> LLMS的不断增长
LLM的复杂性爆炸了。 GPT-1(2018)有910亿个参数; GPT-2(2019),15亿; GPT-3(2020),高达1750亿; GPT-4拥有超过1万亿。这种巨大的增长会产生记忆瓶颈,阻碍训练和推理,并限制可及性。 量化通过降低模型的大小而在保留性能的同时解决这一问题。
量化是一种模型压缩技术,可降低模型的权重和激活的精度。 这涉及将数据从较高精确的类型(例如32位浮点)转换为较低精确的类型(例如8位整数)。 较少的位意味着一个较小的模型,消耗较少的内存,存储和能量。
考虑图像压缩:高分辨率图像被压缩以供网络使用,减少大小和加载时间以一些细节为代价。 同样,量化LLM可以减少计算需求,从而使其能够在功能较低的硬件上运行。
>更快的Web加载的图像压缩。
量化引入了噪声(量化误差),但研究重点是最大程度地减少以维持性能。。
>
>示例:重量矩阵(左)及其量化版本(右)。
原始矩阵和量化矩阵之间的差异是量化误差。
量化误差矩阵。
在实践中,量化涉及更改数据类型(降低)。 例如,从float32(每个参数4个字节)转换为INT8(每个参数1个字节)可显着降低内存使用量。
>>大脑浮点(BF16)和降低
由Google开发的BF16> BF16在Float32的动态范围和Float16的效率之间提供了平衡。降低(从较高精确到较低精确的数据类型)降低速度,但会导致数据丢失和错误传播,尤其是数据类型较小。
量化类型存在几种量化类型:
- 线性量化:将浮点值映射到固定点范围。 它涉及计算最小/最大值,比例,零点,量化和取消定量(在推理期间)。
>
示例:权重矩阵的线性量化。
>去量化和量化误差。
块量化:在较小的块中量化权重,更有效地处理非均匀分布。
-
> 权重与激活量化:量化可以应用于权重(静态)和激活(动态)。 激活量化更为复杂。
-
>培训后量化(PTQ)与量化感知训练(QAT):
ptq量化了预训练的模型; QAT修改训练以模拟量化效果,从而提高准确性,但增加了训练时间。 校准技术 -
某些方法需要校准 - 对数据集的推断以优化量化参数。 技术包括百分比校准和平均/标准偏差校准。 诸如Qlora之类的方法避免校准。 量化的工具
几个Python库支持量化,包括Pytorch和Tensorflow。 拥抱Face的Quanto库简化了Pytorch模型的过程。 用拥抱脸的量子量量化模型
- 加载模型:加载预训练的模型和令牌。 >
from transformers import AutoModelForCausalLM, AutoTokenizer model_name = "EleutherAI/pythia-410m" model = AutoModelForCausalLM.from_pretrained(model_name, low_cpu_mem_usage=True) tokenizer = AutoTokenizer.from_pretrained(model_name)
-
量化:使用
quantize()
转换模型。 >
from quanto import quantize, freeze quantize(model, weights=torch.int8, activations=None)
-
冻结:>使用
freeze()
将量化应用于权重。 >
freeze(model)
-
检查结果:验证减少的模型大小和测试推理。 (注意:
compute_module_sizes()
是一个自定义函数;有关实现的Datacamp Datalab)。 >
结论
量化使LLMS更容易访问和高效。 通过了解其技术并使用拥抱Face Quanto之类的工具,您可以在功能较小的硬件上运行强大的模型。 对于较大的模型,请考虑升级您的资源。
>llm量化常见问题解答
- qat vs. ptq: QAT通常表现更好,但在培训期间需要更多的资源。
-
Quanto库:
支持PTQ和QAT。 包括隐式校准;可以自定义校准。quantize()
>calibration()
>精确: - int4和int2量化是可能的。> > >访问拥抱面部模型:
- 将变量更改为所需模型。 切记接受拥抱面孔的条款和条件。>
model_name
以上是大型语言模型(LLMS)的量化:有效降低AI模型大小的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Meta的Llama 3.2:多模式和移动AI的飞跃 Meta最近公布了Llama 3.2,这是AI的重大进步,具有强大的视觉功能和针对移动设备优化的轻量级文本模型。 以成功为基础

嘿,编码忍者!您当天计划哪些与编码有关的任务?在您进一步研究此博客之前,我希望您考虑所有与编码相关的困境,这是将其列出的。 完毕? - 让&#8217

本周的AI景观:进步,道德考虑和监管辩论的旋风。 OpenAI,Google,Meta和Microsoft等主要参与者已经释放了一系列更新,从开创性的新车型到LE的关键转变

Shopify首席执行官TobiLütke最近的备忘录大胆地宣布AI对每位员工的基本期望是公司内部的重大文化转变。 这不是短暂的趋势。这是整合到P中的新操作范式

介绍 Openai已根据备受期待的“草莓”建筑发布了其新模型。这种称为O1的创新模型增强了推理能力,使其可以通过问题进行思考

介绍 想象一下,穿过美术馆,周围是生动的绘画和雕塑。现在,如果您可以向每一部分提出一个问题并获得有意义的答案,该怎么办?您可能会问:“您在讲什么故事?

对于那些可能是我专栏新手的人,我广泛探讨了AI的最新进展,包括体现AI,AI推理,AI中的高科技突破,及时的工程,AI培训,AI,AI RE RE等主题

Meta's Llama 3.2:多式联运AI强力 Meta的最新多模式模型Llama 3.2代表了AI的重大进步,具有增强的语言理解力,提高的准确性和出色的文本生成能力。 它的能力t
