首页 科技周边 人工智能 大型语言模型(LLMS)的量化:有效降低AI模型大小

大型语言模型(LLMS)的量化:有效降低AI模型大小

Mar 05, 2025 am 09:10 AM

>在笔记本电脑上运行自己的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加载的图像压缩。Quantization for Large Language Models (LLMs): Reduce AI Model Sizes Efficiently

>

量化引入了噪声(量化误差),但研究重点是最大程度地减少以维持性能。量化背后的理论

量化通常针对模型权重 - 确定神经元之间连接强度的参数。 这些权重最初是随机的,并在训练过程中进行了调整。 一个简单的例子是将重量四舍五入到更少的小数位。

>

>示例:重量矩阵(左)及其量化版本(右)。

原始矩阵和量化矩阵之间的差异是量化误差。 Quantization for Large Language Models (LLMs): Reduce AI Model Sizes Efficiently

量化误差矩阵。

在实践中,量化涉及更改数据类型(降低)。 例如,从float32(每个参数4个字节)转换为INT8(每个参数1个字节)可显着降低内存使用量。

>

>大脑浮点(BF16)和降低

由Google开发的BF16

> BF16在Float32的动态范围和Float16的效率之间提供了平衡。降低(从较高精确到较低精确的数据类型)降低速度,但会导致数据丢失和错误传播,尤其是数据类型较小。

量化类型

存在几种量化类型:

  • 线性量化:将浮点值映射到固定点范围。 它涉及计算最小/最大值,比例,零点,量化和取消定量(在推理期间)。

Quantization for Large Language Models (LLMs): Reduce AI Model Sizes Efficiently

>线性量化方程

>

示例:权重矩阵的线性量化。 Quantization for Large Language Models (LLMs): Reduce AI Model Sizes Efficiently

>去量化和量化误差。

Quantization for Large Language Models (LLMs): Reduce AI Model Sizes Efficiently

块量化:在较小的块中量化权重,更有效地处理非均匀分布。

  • > 权重与激活量化:量化可以应用于权重(静态)和激活(动态)。 激活量化更为复杂。

  • >培训后量化(PTQ)与量化感知训练(QAT): ptq量化了预训练的模型; QAT修改训练以模拟量化效果,从而提高准确性,但增加了训练时间。

  • 校准技术
  • 某些方法需要校准 - 对数据集的推断以优化量化参数。 技术包括百分比校准和平均/标准偏差校准。 诸如Qlora之类的方法避免校准。 量化的工具

    几个Python库支持量化,包括Pytorch和Tensorflow。 拥抱Face的Quanto库简化了Pytorch模型的过程。
  • 用拥抱脸的量子量量化模型
这是使用Pythia 410m型号的逐步指南:>
  1. 加载模型:加载预训练的模型和令牌。
  2. >
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)
登录后复制
  1. 量化:使用quantize()转换模型。
  2. >
from quanto import quantize, freeze
quantize(model, weights=torch.int8, activations=None)
登录后复制
  1. 冻结:>使用freeze()将量化应用于权重。
  2. >
freeze(model)
登录后复制
  1. 检查结果:验证减少的模型大小和测试推理。 (注意:compute_module_sizes()是一个自定义函数;有关实现的Datacamp Datalab)。
  2. >

Quantization for Large Language Models (LLMs): Reduce AI Model Sizes Efficiently Quantization for Large Language Models (LLMs): Reduce AI Model Sizes Efficiently Quantization for Large Language Models (LLMs): Reduce AI Model Sizes Efficiently Quantization for Large Language Models (LLMs): Reduce AI Model Sizes Efficiently Quantization for Large Language Models (LLMs): Reduce AI Model Sizes Efficiently Quantization for Large Language Models (LLMs): Reduce AI Model Sizes Efficiently Quantization for Large Language Models (LLMs): Reduce AI Model Sizes Efficiently Quantization for Large Language Models (LLMs): Reduce AI Model Sizes Efficiently Quantization for Large Language Models (LLMs): Reduce AI Model Sizes Efficiently

结论

量化使LLMS更容易访问和高效。 通过了解其技术并使用拥抱Face Quanto之类的工具,您可以在功能较小的硬件上运行强大的模型。 对于较大的模型,请考虑升级您的资源。

>

llm量化常见问题解答

  • qat vs. ptq: QAT通常表现更好,但在培训期间需要更多的资源。
  • Quanto库:支持PTQ和QAT。 包括隐式校准;可以自定义校准。quantize()> calibration()
  • >精确:
  • int4和int2量化是可能的。> >
  • >访问拥抱面部模型:
  • 将变量更改为所需模型。 切记接受拥抱面孔的条款和条件。> model_name

以上是大型语言模型(LLMS)的量化:有效降低AI模型大小的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

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

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1664
14
CakePHP 教程
1422
52
Laravel 教程
1316
25
PHP教程
1268
29
C# 教程
1240
24
开始使用Meta Llama 3.2 -Analytics Vidhya 开始使用Meta Llama 3.2 -Analytics Vidhya Apr 11, 2025 pm 12:04 PM

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

10个生成AI编码扩展,在VS代码中,您必须探索 10个生成AI编码扩展,在VS代码中,您必须探索 Apr 13, 2025 am 01:14 AM

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

AV字节:Meta' llama 3.2,Google的双子座1.5等 AV字节:Meta' llama 3.2,Google的双子座1.5等 Apr 11, 2025 pm 12:01 PM

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

向员工出售AI策略:Shopify首席执行官的宣言 向员工出售AI策略:Shopify首席执行官的宣言 Apr 10, 2025 am 11:19 AM

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

GPT-4O vs OpenAI O1:新的Openai模型值得炒作吗? GPT-4O vs OpenAI O1:新的Openai模型值得炒作吗? Apr 13, 2025 am 10:18 AM

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

视觉语言模型(VLMS)的综合指南 视觉语言模型(VLMS)的综合指南 Apr 12, 2025 am 11:58 AM

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

最新的最佳及时工程技术的年度汇编 最新的最佳及时工程技术的年度汇编 Apr 10, 2025 am 11:22 AM

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

3种运行Llama 3.2的方法-Analytics Vidhya 3种运行Llama 3.2的方法-Analytics Vidhya Apr 11, 2025 am 11:56 AM

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

See all articles