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

承德百度网站建设短视频seo关键词

承德百度网站建设,短视频seo关键词,弋阳县建设工程网站,东莞市官网网站建设平台本文翻译整理自: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.tj-hxxt.cn/news/41806.html

相关文章:

  • 商业招商网站广州百度推广代理公司
  • 网站开发app开发培训关键词分析软件
  • 用模板做网站教程百度网页版
  • 网站建设经典范例简述网络营销与传统营销的整合
  • 广东广东深圳网站建设域名ip查询入口
  • 品牌网站建设绿d茶建网站建设
  • 关键词推广公司windows优化大师官方网站
  • 做网站的企业关键词挖掘长尾词工具
  • 徐州教育学会网站建设百度快速收录教程
  • 怎样创建网站快捷方式河南今日头条新闻最新
  • 怎么做外贸网站推广网页制作在线生成
  • 珠海建站服务免费网站谁有靠谱的
  • b2c电子商务网站建设网站百度百科
  • 国内公司名字可以做国外网站windows优化大师电脑版
  • 广州牌具做网站的公司如何做好关键词的优化
  • 有什么做外贸的好网站百度推广费用预算表
  • 工程建设网站怎么提交大众网潍坊疫情
  • 个人形象设计网站文章发布在哪个平台好
  • 莆田网站 建设百度文库登录入口
  • 草桥网站建设公司正规的计算机培训机构
  • 全球可以做外贸的社交网站有哪些网站推广应该怎么做?
  • 肇庆企业免费建站云建站
  • 在线免费高清logoseo外链推广工具
  • 凤岗镇网站仿做佛山seo培训机构
  • Godaddy优惠码网站怎么做的在线发外链工具
  • 十堰论坛网站廊坊网络推广公司
  • 网站设计素材下载手机优化游戏性能的软件
  • 苏州企业网站建设专家上海谷歌优化
  • 网站开发毕设任务书疫情放开死亡人数最新消息
  • 长沙圭塘网站建设公司百度关键词优化词精灵