当前位置: 首页 > news >正文

wap建站程序百度极简网址

wap建站程序,百度极简网址,普通银行卡可以做国外网站购物信用卡使用吗,购物网站建设工作流程本文翻译整理自:https://huggingface.co/docs/transformers/main/en/quantization/awq 文章目录 一、引言二、加载 autoawq 量化的模型三、Fused modules支持的架构不受支持的架构 四、ExLlamaV2五、CPU 一、引言 Activation-aware Weight Quantization (AWQ) 激活…

本文翻译整理自:https://huggingface.co/docs/transformers/main/en/quantization/awq

文章目录

    • 一、引言
    • 二、加载 autoawq 量化的模型
    • 三、Fused modules
      • 支持的架构
      • 不受支持的架构
    • 四、ExLlamaV2
    • 五、CPU


一、引言

Activation-aware Weight Quantization (AWQ) 激活感知权重量化 保留了对LLM性能很重要的一小部分权重,以将模型压缩到4位,同时性能下降最小。

有几个使用AWQ算法量化模型的库,如llm-awq、autoawq或 optimum-intel 。

transformers支持加载使用 llm-awqautoawq 库量化的模型。

本指南将向您展示如何加载使用 autoawq 量化的模型,但过程与 llm-awq 量化模型相似。


资源:AWQ演示notebook

了解如何量化模型、将量化模型推送到集线器等的更多示例。


二、加载 autoawq 量化的模型

1、运行下面的命令安装autoawq

AutoAWQ将transformers降级到版本4.47.1。如果您想使用AutoAWQ进行推理,您可能需要在安装AutoAWQ后重新安装您的transformers版本。

pip install autoawq
pip install transformers==4.47.1

2、通过检查 模型的 config.json 文件中 quant_method键,标识 AWQ量化模型。

{"_name_or_path": "/workspace/process/huggingfaceh4_zephyr-7b-alpha/source","architectures": ["MistralForCausalLM"],........."quantization_config": {"quant_method": "awq","zero_point": true,"group_size": 128,"bits": 4,"version": "gemm"}
}

3、使用from_pretrained() 加载AWQ量化模型。

出于性能原因,这会自动将其他权重默认设置为fp16。

使用torch_dtype参数 以不同的格式 加载这些其他权重。

如果模型加载到CPU上,则使用device_map参数将其移动到GPU。

from transformers import AutoModelForCausalLM, AutoTokenizer
import torchmodel = AutoModelForCausalLM.from_pretrained("TheBloke/zephyr-7B-alpha-AWQ",torch_dtype=torch.float32,device_map="cuda:0"
)

4、使用attn_implementation启用FlashAtention2以进一步加速推理。

from transformers import AutoModelForCausalLM, AutoTokenizermodel = AutoModelForCausalLM.from_pretrained("TheBloke/zephyr-7B-alpha-AWQ",attn_implementation="flash_attention_2",device_map="cuda:0"
)

三、Fused modules

融合模块提高了准确性和性能。Llama和Mistral架构的AWQ模块开箱即用支持它们,但您也可以将AWQ模块融合到不受支持的架构中。

融合模块不能与 FlashAccention2 等其他优化技术结合使用。


支持的架构

创建一个AwqConfig并设置参数fuse_max_seq_lendo_fuse=True以启用融合模块。

fuse_max_seq_len参数是总序列长度,它应该包括上下文长度和预期的生成长度。将其设置为更大的值以确保安全。

下面的示例融合了TheBloke/Mistral-7B-OpenOrca-AWQ 模型的AWQ模块。

import torch
from transformers import AwqConfig, AutoModelForCausalLMquantization_config = AwqConfig(bits=4,fuse_max_seq_len=512,do_fuse=True,
)
model = AutoModelForCausalLM.from_pretrained("TheBloke/Mistral-7B-OpenOrca-AWQ",quantization_config=quantization_config
).to(0)

TheBloke/Mistral-7B-OpenOrca-AWQ 模型的基准测试为batch_size=1,有和没有融合模块。


未融合模块

Batch SizePrefill LengthDecode LengthPrefill tokens/sDecode tokens/sMemory (VRAM)
1323260.098438.45374.50 GB (5.68%)
164641333.6731.66044.50 GB (5.68%)
11281282434.0631.62724.50 GB (5.68%)
12562563072.2638.17314.50 GB (5.68%)
15125123184.7431.68194.59 GB (5.80%)
1102410243148.1836.80314.81 GB (6.07%)
1204820482927.3335.26765.73 GB (7.23%)

融合模块

Batch SizePrefill LengthDecode LengthPrefill tokens/sDecode tokens/sMemory (VRAM)
1323281.489980.25694.00 GB (5.05%)
164641756.1106.264.00 GB (5.05%)
11281282479.32105.6314.00 GB (5.06%)
12562561813.685.74854.01 GB (5.06%)
15125122848.997.7014.11 GB (5.19%)
1102410243044.3587.73234.41 GB (5.57%)
1204820482715.1189.47095.57 GB (7.04%)

融合和未融合模块的速度和吞吐量也用最佳基准库进行了测试。

前向峰值内存/批量大小


在这里插入图片描述


生成吞吐量/批量大小


在这里插入图片描述


不受支持的架构

对于不支持融合模块的体系结构,创建AwqConfig并在modules_to_fuse中定义自定义融合映射以确定需要融合哪些模块。

下面的示例融合了TheBloke/Yi-AWQ34B模型的AWQ模块。

import torch
from transformers import AwqConfig, AutoModelForCausalLMquantization_config = AwqConfig(bits=4,fuse_max_seq_len=512,modules_to_fuse={"attention": ["q_proj", "k_proj", "v_proj", "o_proj"],"layernorm": ["ln1", "ln2", "norm"],"mlp": ["gate_proj", "up_proj", "down_proj"],"use_alibi": False,"num_attention_heads": 56,"num_key_value_heads": 8,"hidden_size": 7168}
)model = AutoModelForCausalLM.from_pretrained("TheBloke/Yi-34B-AWQ",quantization_config=quantization_config
).to(0)

参数modules_to_fuse应包括以下键。

  • "attention":按以下顺序融合的关注层的名称:查询、键、值和输出投影层。如果不想融合这些层,传递一个空列表。
  • "layernorm":要替换为自定义融合LayerNorm的所有LayerNorm层的名称。如果不想融合这些层,请传递一个空列表。
  • "mlp":您要融合到单个MLP层中的MLP层的名称,顺序为:(门(密集、层、关注后)/上/下层)。
  • "use_alibi":如果您的模型使用ALiBi位置嵌入。
  • "num_attention_heads"”:关注头条号数量。
  • "num_key_value_heads"":应用于实现分组查询关注(GQA)的键值头的数量。

参数值注意力
num_key_value_heads=num_attention_heads多头注意力
num_key_value_heads=1多查询注意力
num_key_value_heads=...分组查询注意力

  • "hidden_size":隐藏表示的维度。

四、ExLlamaV2

ExLlamaV2内核支持更快的预填充和解码。运行下面的命令来安装支持ExLlamaV2的最新版本的autoawq。

pip install git+https://github.com/casper-hansen/AutoAWQ.git

在AwqConfig中设置version="exllama"以启用ExLlamaV2内核。

AMD GPU支持ExLlamaV2。

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, AwqConfigquantization_config = AwqConfig(version="exllama")model = AutoModelForCausalLM.from_pretrained("TheBloke/Mistral-7B-Instruct-v0.1-AWQ",quantization_config=quantization_config,device_map="auto",
)

五、CPU

Intel Extension for PyTorch (IPEX) 旨在实现英特尔硬件的性能优化。运行下面的命令来安装支持IPEX的最新版本的autoawq。

pip install intel-extension-for-pytorch # for IPEX-GPU refer to https://intel.github.io/intel-extension-for-pytorch/xpu/2.5.10+xpu/ 
pip install git+https://github.com/casper-hansen/AutoAWQ.git

version="ipex"中设置AwqConfig以启用 ExLlamaV2 内核。

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, AwqConfigdevice = "cpu" # set to "xpu" for Intel GPU
quantization_config = AwqConfig(version="ipex")model = AutoModelForCausalLM.from_pretrained("TheBloke/TinyLlama-1.1B-Chat-v0.3-AWQ",quantization_config=quantization_config,device_map=device,
)

2025-03-08(六)

http://www.hengruixuexiao.com/news/6630.html

相关文章:

  • 泉州做网站优化的公司杭州seo关键字优化
  • 深圳网站建设制作设计商丘网络推广外包
  • 彩票网站开发dadi163郑州做网络营销渠道
  • 江西省建设监督网站真正免费建站网站
  • 杭州企业求网站建设软文怎么写吸引人
  • 国外开源建站系统人工智能培训机构
  • 网站都是程序员做的吗淘宝店铺怎么推广和引流
  • 毕业设计做网站还是系统推销一个产品的方案
  • 企业网站改版价格游戏推广代理平台
  • iis默认网站打不开好搜网
  • 合肥做网站价格南通seo
  • 建筑公司网站的目标用户今日大事件新闻
  • 阿里云网站建设考试认证题排名优化seo公司
  • 做网站推广的工作好吗网络电商推广方案
  • 南宁怎么做网站爱站查询
  • 电子商务网站建设论文摘要制作自己的网页
  • 网站制作难吗百度推广工资多少钱一个月
  • 太原网站建设推广营销方案ppt
  • 昆明网站建设logovi友链
  • 做网站筹钱需要多少钱怎么做一个免费的网站
  • discuz可以做商城网站吗武汉网络推广平台
  • 微信淘宝购物券网站是怎么做的湖北网络营销网站
  • 外包网站建设价格淘宝seo搜索优化工具
  • 营口网站优化深圳新闻今日最新
  • 网站怎么提交收录网站移动端优化工具
  • 备案网站有哪些百度搜索引擎怎么弄
  • 网站改版后 存在大量404页面找合作项目app平台
  • cms是网站吗安徽疫情最新情况
  • 做网站的缺点360网站seo手机优化软件
  • 如何查找同行网站做的外链网站seo是什么意思