网易首页 > 网易号 > 正文 申请入驻

使用ExLlamaV2量化并运行EXL2模型

0
分享至


量化大型语言模型(llm)是减少这些模型大小和加快推理速度的最流行的方法。在这些技术中,GPTQ在gpu上提供了惊人的性能。与非量化模型相比,该方法使用的VRAM几乎减少了3倍,同时提供了相似的精度水平和更快的生成速度。

ExLlamaV2是一个旨在从GPTQ中挤出更多性能的库。由于新的内核,它还经过了优化,可以进行(非常)快速的推理。并且它还引入了一种新的量化格式EXL2,它为如何存储权重带来了很大的灵活性。

在本文中,我们将介绍如何量化EXL2格式的基本模型,以及如何运行它们。当然如果你喜欢使用现有的已经量化好的模型,TheBloke 仍然是第一选择。

量化EXL2模型

首先需要安装ExLlamaV2库:

pip install exllamav2
#为了使用官方的一些脚本,我们还要把官方的代码clone到本地
git clone https://github.com/turboderp/exllamav2

我们使用出色的zephyr-7B-beta,这是一种使用DPO进行微调的Mistral-7B模型。它声称在MT测试台上的表现优于Llama-2 70b的效果,这对于一个小十倍的模型来说是非常好的结果。

使用以下命令下载zephyr-7B-beta(这可能需要一段时间,因为模型大约是15gb):

git lfs install
git clone https://huggingface.co/HuggingFaceH4/zephyr-7b-beta

GPTQ还需要一个校准数据集,该数据集用于通过比较基本模型及其量化版本的输出来衡量量化过程的影响。我们将使用wikitext数据集,直接下载测试文件如下:

wget https://huggingface.co/datasets/wikitext/resolve/9a9e482b5987f9d25b3a9b2883fc6cc9fd8071b3/wikitext-103-v1/wikitext-test.parquet

准备工作完成后,就可以利用ExLlamaV2库提供的convert.py脚本来进行量化了,主要的参数是:

-i:以HF格式(FP16)转换的基模型路径。

-o:存放临时文件和最终输出的工作目录路径。

-c:校准数据集的路径(Parquet格式)。

-b:目标平均加权位数(bpw)。例如,4.0 bpw将给出4位精度的存储权重。

让我们使用带有以下参数的convert.py脚本开始量化过程:

mkdir deephub-quant
python python exllamav2/convert.py \
-i base_model \
-o deephub-quant \
-c wikitext-test.parquet \
-b 5.0

这里就需要一个GPU来量化这个模型。根据官方文档指出,7B型号需要大约8 GB的VRAM, 70B型号需要大约24 GB的VRAM。zephyr-7b-beta在白嫖的谷歌Colab的T4 GPU,经过了2小时10分钟完成了量化。

ExLlamaV2利用GPTQ算法来降低权重的精度,同时最大限度地减少对输出的影响。GPTQ算法的更多详细信息可以参考我们以前的文章。

量化过程使用现有脚本非常的简单。那么还有最后一个问题,为什么要使用“EXL2”格式而不是常规的GPTQ格式呢?EXL2带来了哪些新功能?

它支持不同级别的量化:它不局限于4位精度,可以处理2、3、4、5、6和8位量化。

它可以在一个模型和每一层中混合不同的精度,以保留最重要的权重和具有更多bit的层。

ExLlamaV2在量化过程中使用了这种额外的灵活性。它会自动尝试不同的量化参数,并测量了它们引入的误差。除了尽量减少错误之外,ExLlamaV2还会将必须达到平均位数作为参数(这个我们在以前文章中也有介绍)。所以我们可以创建一个混合的量化模型,例如,每个权重的平均位数为3.5或4.5。

ExLlamaV2另外一个好处是它创建的不同参数的基准被保存在measurement.json文件中。我们可以直接看到具体的信息:

"key": "model.layers.0.self_attn.q_proj",
"numel": 16777216,
"options": [
{
"desc": "0.05:3b/0.95:2b 32g s4",
"bpw": 2.1878662109375,
"total_bits": 36706304.0,
"err": 0.011161142960190773,
"qparams": {
"group_size": 32,
"bits": [
3,
2
],
"bits_prop": [
0.05,
0.95
],
"scale_bits": 4
}
},

比如上面的内容,ExLlamaV2使用了5%的3位精度和95%的2位精度,平均值为2.188 bpw,组大小为32。这导致了一个明显的误差,所以在选择最佳参数时要考虑到这个误差,通过查看json文件的结果,我们可以判断出这次量化是否符合我们的要求,并且进行调整。

使用ExLlamaV2进行推理

模型已经量子化了,下面就是使用模型进行推理了。首先需要将基本配置文件从base_model目录复制到新的deephub-quant目录,代码如下:

!rm -rf deephub-quant/out_tensor
!rsync -av --exclude='*.safetensors' --exclude='.*' ./base_model/ ./deephub-quant/

最直接的方法是使用ExLlamaV2 repo中的test_inference.py脚本(注意,我在这里没有使用聊天模板):

python exllamav2/test_inference.py -m quant/ -p "I have a dream"

与GGUF/llama.cpp或GPTQ等其他量化技术和工具相比,生成速度也非常快(在T4 GPU上每秒56.44个令牌)。

也可以使用chatcode.py脚本的聊天版本来获得更大的灵活性:

python exllamav2/examples/chatcode.py -m deephub-quant -mode llama

总结

ExLlamaV2已经被集成到几个常见的后端中,比如oobabooga的文本生成web UI。但是它需要FlashAttention 2和CUDA 12.1(这在windows中可能需要费一些时间)。

ExLlamaV2与GPTQ或llama.cpp等其他解决方案相比,可以自定义量化我们的模型。在量化之后,它每秒提供的令牌数量更多(更快)。这对于定制化的需求来说是非常有帮助的。

最后,本文代码:

Maxime Labonne

作者:Maxime Labonne

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
五大名医集体总结:增强身体健康的10大铁律,值得参考~

五大名医集体总结:增强身体健康的10大铁律,值得参考~

华人星光
2024-06-15 16:49:27
中国女排3-2土耳其女排!谁是赢球的最大功臣,赛后数据一目了然

中国女排3-2土耳其女排!谁是赢球的最大功臣,赛后数据一目了然

邹维体育
2024-06-15 23:10:51
100个代表团与会,1000多万美元的开销

100个代表团与会,1000多万美元的开销

寰宇大观察
2024-06-15 15:45:20
“母亲借钱买的”电瓶车不合标准被没收,女孩哭得撕心裂肺!

“母亲借钱买的”电瓶车不合标准被没收,女孩哭得撕心裂肺!

走读新生
2024-06-15 07:25:14
董路:一位现役世界级巨星将给予足球小将支持 孙兴慜不算世界级

董路:一位现役世界级巨星将给予足球小将支持 孙兴慜不算世界级

直播吧
2024-06-16 11:22:08
热搜上毁三观的“和男朋友天天做饭”:新型羞耻,害惨中国年轻人

热搜上毁三观的“和男朋友天天做饭”:新型羞耻,害惨中国年轻人

小椰子专栏
2024-06-14 13:02:51
菲律宾海警:中国扣1人,我们就绑10名中国人,这里有大量中国人

菲律宾海警:中国扣1人,我们就绑10名中国人,这里有大量中国人

橘色数码
2024-06-16 12:35:02
网传女子与黑人恋爱怀孕,被要求堕胎,当街崩溃:CTM吃我穿我用我

网传女子与黑人恋爱怀孕,被要求堕胎,当街崩溃:CTM吃我穿我用我

小萝卜丝
2024-06-15 10:27:42
白酒为什么不能冰镇之后喝?网友:在医院门口喝都赶不上趟

白酒为什么不能冰镇之后喝?网友:在医院门口喝都赶不上趟

奇特短尾矮袋鼠
2024-06-15 14:31:42
中国观众认定的烂片,北美观众当成宝,票房破12亿夺全球冠军

中国观众认定的烂片,北美观众当成宝,票房破12亿夺全球冠军

靠谱电影君
2024-06-15 23:05:02
新规大限已过,仙宾礁上更嚣张!菲总长喊话:鱼照捕,撞他海警船

新规大限已过,仙宾礁上更嚣张!菲总长喊话:鱼照捕,撞他海警船

大风文字
2024-06-15 19:56:42
欧洲反美情绪爆发?大选结果打了美国的脸,马克龙被迫豪赌一把

欧洲反美情绪爆发?大选结果打了美国的脸,马克龙被迫豪赌一把

国学长亭
2024-06-15 14:36:10
越闹越大!官方紧急通告,涉事人员全部停职,司机被喷辣椒水不冤

越闹越大!官方紧急通告,涉事人员全部停职,司机被喷辣椒水不冤

乐阳聊军事
2024-06-15 18:34:44
A股:刚刚,最新发声!下周大盘会不会反弹?四大驱动因素来了

A股:刚刚,最新发声!下周大盘会不会反弹?四大驱动因素来了

兵哥闲聊
2024-06-16 08:16:26
大陆不再沉默,给黄仁勋上了一课,选在美收紧对华AI芯片出口之际

大陆不再沉默,给黄仁勋上了一课,选在美收紧对华AI芯片出口之际

陈菲副教授
2024-06-15 18:20:03
黄一鸣掌握流量密码,用四根葱给女儿打码,网友笑称替王思聪养娃

黄一鸣掌握流量密码,用四根葱给女儿打码,网友笑称替王思聪养娃

大洪大伙
2024-06-15 20:13:50
全球“最丑”5大车标,严重拉低车子档次,快来看看有你家的车吗

全球“最丑”5大车标,严重拉低车子档次,快来看看有你家的车吗

番茄说史聊
2024-06-15 22:28:44
离谱!刚出的联名杯子立马就被黄牛上架,看到价格沉默了

离谱!刚出的联名杯子立马就被黄牛上架,看到价格沉默了

苹果牛看游戏
2024-06-16 10:45:36
中俄签订重要武器订单, 这次我国不再退让, 俄需答应一个特殊条件

中俄签订重要武器订单, 这次我国不再退让, 俄需答应一个特殊条件

星辰故事屋
2024-06-14 19:01:58
数学老师说姜萍属于勤奋型选手,中考数学没答完卷,数学天赋在中专才逐渐显现出来

数学老师说姜萍属于勤奋型选手,中考数学没答完卷,数学天赋在中专才逐渐显现出来

封面新闻
2024-06-15 15:40:29
2024-06-16 16:22:44
deephub
deephub
CV NLP和数据挖掘知识
1369文章数 1416关注度
往期回顾 全部

科技要闻

iPhone 16会杀死大模型APP吗?

头条要闻

"地铁上被诬陷偷拍"男子将直播带货:需面对现实问题

头条要闻

"地铁上被诬陷偷拍"男子将直播带货:需面对现实问题

体育要闻

没人永远年轻 但青春如此无敌还是离谱了些

娱乐要闻

上影节红毯:倪妮好松弛,娜扎吸睛

财经要闻

打断妻子多根肋骨 上市公司创始人被公诉

汽车要闻

售17.68万-21.68万元 极狐阿尔法S5正式上市

态度原创

家居
游戏
本地
教育
公开课

家居要闻

空谷来音 朴素留白的侘寂之美

120喜提欧皇,浪漫晋级德国线下

本地新闻

粽情一夏|海河龙舟赛,竟然成了外国人的大party!

教育要闻

2024新高考全国一卷英语阅读C,大学四级话题下方,并涉四级词汇

公开课

近视只是视力差?小心并发症

无障碍浏览 进入关怀版