MIT开源AWQ:激活值感知的LLM低位权重量化

青稞Talk:青年AI研究员idea加油站
https://qingkelab.github.io/talks

在这里插入图片描述
AWQ 是由 MIT 韩松教授团队推出的一种针对大型语言模型(LLMs)的高效且精确的低位权重量化(INT3/4)方法,通过仅保护1%的显著权重就可以大大减少量化误差,且支持指令调整模型和多模态语言模型。代码已经开源!

Paper:AWQ: Activation-aware Weight Quantization for LLM Compression and Acceleration
Abs:https://arxiv.org/abs/2306.00978
Code:https://github.com/mit-han-lab/llm-awq

为了识别显著的权重通道,应参考激活分布,而不是权重。为了避免硬件低效的混合精度量化,通过数学推导得出,放大显著通道可以减少量化误差。AWQ采用等效变换来放大显著权重通道以保护它们。该比例通过离线收集激活统计数据确定。AWQ不依赖任何反向传播或重构,因此可以泛化到不同的领域和模态,而不会过拟合校准集。
在这里插入图片描述

在这里插入图片描述

AWQ 在桌面和移动 GPU 上比 Huggingface 的 FP16 实现快3倍以上。它还实现了在移动 GPU 上部署 70B Llama-2 模型的普及。AWQ 还获得了MLSys 2024最佳论文奖,现已被集成到Transformers、vLLM、FastChat、TensorRT-LLM和TGI中。

在这里插入图片描述

8月14日晚7点,青稞Talk第19期,MIT准博士生唐嘉铭,将直播分享《AWQ:激活值感知的LLM低位权重量化》。

在这里插入图片描述

Talk信息

主讲嘉宾

唐嘉铭,MIT准博士生,导师是韩松教授;此前,在上海交通大学(ACM班)获得了计算机科学学士学位;大三期间,在上海交通大学高性能计算中心实验室(EPCCLab)进行科研实习,导师是冷静文教授;研究兴趣是大语言模型的高效算法和系统,发表的论文 AWQ 获得了MLSys 2024最佳论文奖,并已被集成到Transformers、vLLM、FastChat、TensorRT-LLM和TGI中。

主题

AWQ:激活值感知的LLM低位权重量化

提纲:

1、大模型量化的常见方法介绍
2、激活感知权重量化 AWQ 技术解析
3、AWQ 的代码实现及使用方法

直播时间

8月14日(周三)19:00 - 20:00

参与方式

Talk 将在青稞·知识社区上进行,扫码对暗号:" 0814 ",报名进群!

在Hugging Face Transformers库中,使用AWD-QAModel(即Abridged Wasserstein Distance Quantization Model)通常涉及到将预训练的大型语言模型进行量化,以便于部署到资源有限的设备上,如手机或嵌入式系统。AWD量化是通过Quantization-Aware Training (QAT) 过程实现的,它允许模型在训练过程中就考虑到量化的影响。 以下是使用Hugging Face Transformers进行AWD量化模型的基本步骤: 1. **安装依赖**: 首先,你需要安装`transformers`库及其相关的量化工具包,例如`transformers quantization`。可以使用pip安装: ``` pip install transformers[quantization] ``` 2. **加载模型**: 导入需要的模块并加载预训练的模型,比如BERT、GPT-2等: ```python from transformers import AutoTokenizer, AutoModelForSequenceClassification, is_apex_available, AWDQConfig model_name = "bert-base-uncased" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForSequenceClassification.from_pretrained(model_name) ``` 3. **量化配置**: 创建一个AWD量化配置对象: ```python config = AWDQConfig(model=model) ``` 4. **准备数据**: 将数据转换成模型接受的格式,并分割成小批次,这对于量化过程很重要。 5. **量化训练**: 使用`Trainer` API进行量化训练,这会自动在训练过程中应用量化技巧: ```python trainer = Trainer( model=model, args=..., data_collator=..., train_dataset=..., eval_dataset=..., # 可选 tokenizer=tokenizer, config=config, compute_metrics=..., ) trainer.train() ``` 6. **保存量化模型**: 训练完成后,你可以保存量化后的模型: ```python trainer.save_model("path/to/save/awd_quantized_model") ``` 7. **部署**: 现在可以将这个量化模型用于推理任务,相比未量化模型,它的内存占用更小,速度更快。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值