当前位置: 首页> 游戏> 网游 > 动漫网页设计作品模板_如何制作个人简历_微信朋友圈营销方案_谷歌浏览器chrome官网

动漫网页设计作品模板_如何制作个人简历_微信朋友圈营销方案_谷歌浏览器chrome官网

时间:2025/7/12 11:04:20来源:https://blog.csdn.net/lovechris00/article/details/146117232 浏览次数:0次
动漫网页设计作品模板_如何制作个人简历_微信朋友圈营销方案_谷歌浏览器chrome官网

文章目录

    • 一、关于 AutoAWQ
    • 二、安装
      • 1、前置条件
      • 2、从 PyPi 安装
    • 三、使用方法
      • 1、INT4 GEMM vs INT4 GEMV vs FP16
        • 计算密集型 vs 内存密集型
      • 2、混合模块
      • 3、示例
        • 量化
        • 推理
    • 四、性能基准
      • 2、Multi-GPU
      • 3、CPU
    • 参考


一、关于 AutoAWQ

AutoAWQ 是一个易于使用的针对 4 位量化模型的包。

与 FP16 相比,AutoAWQ 可以将模型加速 3 倍,并将内存需求减少 3 倍。

AutoAWQ 实现了激活感知权重量化 (AWQ) 算法来量化 LLMs。

AutoAWQ 是基于 MIT 的 original work 创建并改进的。

  • github : https://github.com/casper-hansen/AutoAWQ
  • Roadmap : https://github.com/casper-hansen/AutoAWQ/issues/32
  • Examples : https://github.com/casper-hansen/AutoAWQ/tree/main/examples
  • HF awq 量化模型:https://huggingface.co/models?search=awq

最新消息 🔥

  • [2024/06] CPU推理支持(x86)- 感谢Intel。Cohere和Phi3支持。
  • [2024/04] StableLM 和 StarCoder2 支持。
  • [2024/03] Gemma 支持。
  • [2024/02] FP16 中的 PEFT 兼容训练。
  • [2024/02] 通过 ExLlamaV2 内核支持 AMD ROCm。
  • [2024/01] 导出到 GGUF,ExLlamaV2 内核,60% 更快的上下文处理。
  • [2023/12] Mixtral, LLaVa, QWen, Baichuan 模型支持。
  • [2023/11] AutoAWQ推理已集成到🤗 transformers。现在包括CUDA 12.1 wheels。
  • [2023/10] Mistral (Fused Modules), Bigcode, Turing 支持功能,内存错误修复(节省 2GB VRAM)
  • [2023/09] 1.6x-2.5x speed boost on fused models (now including MPT and Falcon).
  • [2023/09] 支持多GPU,修复了错误,并提供更好的基准测试脚本
  • [2023/08] PyPi 软件包发布,AutoModel 类可用

二、安装

1、前置条件

  • NVIDIA:
    • NVIDIA GPU必须是 Compute Capability 7.5。图灵及更新的架构均受支持。
    • CUDA版本需为11.8+。
  • AMD:
    • 您的 ROCm 版本需要与Triton兼容。
  • Intel CPU and Intel GPU:
    • 为了达到最佳性能,您的 torch 和 intel_extension_for_pytorch 的版本至少应为2.4。
    • 或者,您可以选择使用Triton内核为GPU提供支持,这需要您安装intel-xpu-backend-for-triton,以及兼容的torch和transformers。最便捷的方式是使用预先构建的软件包,详情请参见这里。

2、从 PyPi 安装

AutoAWQ 的安装方法有几种:

  1. 默认:
  • pip install autoawq
  • 注意:默认安装不包括外部内核,并依赖于 Triton 进行推理。
  1. 从带有内核的版本发布:
  • pip install autoawq[kernels]
  • 注意:这需要您匹配内核构建时使用的最新 torch 版本。
  • 注意:这将安装 https://github.com/casper-hansen/AutoAWQ_kernels
  1. 从主分支针对Intel CPU和Intel XPU进行优化以提升性能:
  • pip install autoawq[cpu]
  • 注意:需要至少 torch 2.4.0 版本。

三、使用方法

在“示例”部分,您可以找到如何量化、运行推理和基准测试AutoAWQ模型的示例。


1、INT4 GEMM vs INT4 GEMV vs FP16

AWQ 有两个版本:GEMM 和 GEMV。这两个名字都与矩阵乘法在底层是如何运行的相关。我们建议以下内容:

  • GEMV (量化): 比GEMM快20%,仅适用于批量大小为1(不适合大上下文)。
  • GEMM (量化): 在批处理大小低于8的情况下比FP16快得多(与大型上下文配合良好)。
  • FP16 (非量化): 推荐用于最高吞吐量:vLLM.

计算密集型 vs 内存密集型

在小批量大小和小的7B模型的情况下,我们是受内存限制的。

这意味着我们受限于GPU推送内存中权重时的带宽,这实际上限制了每秒可以生成的标记数量。

受内存限制是量化模型更快的原因,因为你的权重是3倍更小,因此可以在内存中更快地移动。

这与受计算限制不同,在生成过程中主要花费时间在做矩阵乘法。
在计算受限的场景下,这种情况发生在较大的批量大小中,使用W4A16量化模型并不会获得速度提升,因为反量化带来的开销会减慢整体生成速度。

这是因为AWQ量化模型仅在INT4中存储权重,但在推理过程中执行FP16操作,因此我们实际上在推理过程中将INT4 -> FP16进行转换。


2、混合模块

融合模块是您从AutoAWQ中获得的速度提升的重要组成部分。

其想法是将多个层组合成一个单一操作,从而变得更加高效。

融合模块代表了一组独立于Huggingface模型工作的自定义模块。

它们与model.generate()和其他Huggingface方法兼容,如果您激活了融合模块,这将带来一些在使用模型时的灵活性限制:

  • 当你使用 fuse_layers=True 时,融合模块会被激活。
  • 实现了一个自定义缓存。它根据批大小和序列长度预分配。
  • 您在创建模型后无法更改序列长度。
  • 参考信息:AutoAWQForCausalLM.from_quantized(max_seq_len=seq_len, batch_size=batch_size)
  • 主模块中的主要加速器来自FasterTransformer,它仅兼容Linux。
  • model.generate() 返回的 past_key_values 仅是虚拟值,因此生成后不能使用。

3、示例

更多示例可以在示例目录中找到。


量化

预计在较小的7B模型上需要10-15分钟,而对于70B模型则需要大约1小时。

from awq import AutoAWQForCausalLM
from transformers import AutoTokenizermodel_path = 'mistralai/Mistral-7B-Instruct-v0.2'
quant_path = 'mistral-instruct-v0.2-awq'
quant_config = { "zero_point": True, "q_group_size": 128, "w_bit": 4, "version": "GEMM" }# Load model
model = AutoAWQForCausalLM.from_pretrained(model_path)
tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)# Quantize
model.quantize(tokenizer, quant_config=quant_config)# Save quantized model
model.save_quantized(quant_path)
tokenizer.save_pretrained(quant_path)print(f'Model is quantized and saved at "{quant_path}"')

推理
from awq import AutoAWQForCausalLM
from transformers import AutoTokenizer, TextStreamer
from awq.utils.utils import get_best_devicedevice = get_best_device()quant_path = "TheBloke/zephyr-7B-beta-AWQ"# Load model
model = AutoAWQForCausalLM.from_quantized(quant_path, fuse_layers=True)
tokenizer = AutoTokenizer.from_pretrained(quant_path, trust_remote_code=True)
streamer = TextStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True)# Convert prompt to tokens
prompt_template = """\
<|system|>
</s>
<|user|>
{prompt}</s>
<|assistant|>"""prompt = "You're standing on the surface of the Earth. "\"You walk one mile south, one mile west and one mile north. "\"You end up exactly where you started. Where are you?"tokens = tokenizer(prompt_template.format(prompt=prompt), return_tensors='pt'
).input_ids.to(device)# Generate output
generation_output = model.generate(tokens, streamer=streamer,max_seq_len=512
)

四、性能基准

这些基准测试 展示了处理上下文(预填充)和生成令牌(解码)的速度和内存使用情况。结果包括不同批处理大小和AWQ内核不同版本的速率。

我们旨在使用与您用来重现结果的相同基准测试工具公平地测试模型。

请注意,速度不仅可能因GPU而异,也可能因CPU而异。最重要的是,需要拥有高内存带宽的GPU和高单核时钟速度的CPU。

  • 使用 AutoAWQ 版本 0.1.6 进行测试
  • GPU: RTX 4090 (AMD Ryzen 9 7950X)
  • 命令:python examples/benchmark.py --model_path <hf_model> --batch_size 1
  • 🟢 for GEMV, 🔵 for GEMM, 🔴 for avoid using

Model NameSizeVersionBatch SizePrefill LengthDecode LengthPrefill tokens/sDecode tokens/sMemory (VRAM)
Vicuna7B🟢GEMV16464639.65198.8484.50 GB (19.05%)
Vicuna7B🟢GEMV1204820481123.63133.1916.15 GB (26.02%)
Mistral7B🔵GEMM164641093.35156.3174.35 GB (18.41%)
Mistral7B🔵GEMM1204820483897.02114.3555.55 GB (23.48%)
Mistral7B🔵GEMM864644199.181185.254.35 GB (18.41%)
Mistral7B🔵GEMM8204820483661.46829.75416.82 GB (71.12%)
Mistral7B🟢GEMV16464531.99188.294.28 GB (18.08%)
Mistral7B🟢GEMV120482048903.83130.665.55 GB (23.48%)
Mistral7B🔴GEMV86464897.87486.464.33 GB (18.31%)
Mistral7B🔴GEMV820482048884.22411.89316.82 GB (71.12%)
TinyLlama1B🟢GEMV164641088.63548.9930.86 GB (3.62%)
TinyLlama1B🟢GEMV1204820485178.98431.4682.10 GB (8.89%)
Llama 213B🔵GEMM16464820.3496.748.47 GB (35.83%)
Llama 213B🔵GEMM1204820482279.4173.821310.28 GB (43.46%)
Llama 213B🔵GEMM364641593.88286.2498.57 GB (36.24%)
Llama 213B🔵GEMM3204820482226.7189.57316.90 GB (71.47%)
MPT7B🔵GEMM164641079.06161.3443.67 GB (15.51%)
MPT7B🔵GEMM1204820484069.78114.9825.87 GB (24.82%)
Falcon7B🔵GEMM164641139.93133.5854.47 GB (18.92%)
Falcon7B🔵GEMM1204820482850.97115.736.83 GB (28.88%)
CodeLlama34B🔵GEMM16464681.7441.0119.05 GB (80.57%)
CodeLlama34B🔵GEMM1204820481072.3635.831620.26 GB (85.68%)
DeepSeek33B🔵GEMM164641160.1840.2918.92 GB (80.00%)
DeepSeek33B🔵GEMM1204820481012.134.009319.87 GB (84.02%)

2、Multi-GPU

GPU: 2x NVIDIA GeForce RTX 4090

ModelSizeVersionBatch SizePrefill LengthDecode LengthPrefill tokens/sDecode tokens/sMemory (VRAM)
Mixtral46.7B🔵GEMM13232149.74293.40625.28 GB (53.44%)
Mixtral46.7B🔵GEMM164641489.6493.18425.32 GB (53.53%)
Mixtral46.7B🔵GEMM11281282082.9592.944425.33 GB (53.55%)
Mixtral46.7B🔵GEMM12562562428.5991.518725.35 GB (53.59%)
Mixtral46.7B🔵GEMM15125122633.1189.145725.39 GB (53.67%)
Mixtral46.7B🔵GEMM1102410242598.9584.675325.75 GB (54.44%)
Mixtral46.7B🔵GEMM1204820482446.1577.051627.98 GB (59.15%)
Mixtral46.7B🔵GEMM1409640961985.7877.568934.65 GB (73.26%)

3、CPU

  • CPU: 48 cores SPR (Intel 4th Gen Xeon CPU)

  • Command:

python examples/benchmark.py --model_path <hf_model> --batch_size 1 --generator hf

ModelVersionBatch SizePrefill LengthDecode LengthPrefill tokens/sDecode tokens/sMemory
TinyLlama 1Bgemm13232817.8670.931.94 GB (0.00%)
TinyLlama 1Bgemm1204820485279.1536.832.31 GB (0.00%)
Falcon 7Bgemm13232337.5126.419.57 GB (0.01%)
Falcon 7Bgemm120482048546.7118.813.46 GB (0.01%)
Mistral 7Bgemm13232343.0828.469.74 GB (0.01%)
Mistral 7Bgemm1204820481135.2313.2310.35 GB (0.01%)
Vicuna 7Bgemm13232340.7328.869.59 GB (0.01%)
Vicuna 7Bgemm1204820481143.1911.1410.98 GB (0.01%)
Llama 2 13Bgemm13232220.7918.1417.46 GB (0.02%)
Llama 2 13Bgemm120482048650.946.5419.84 GB (0.02%)
DeepSeek Coder 33Bgemm13232101.618.5840.80 GB (0.04%)
DeepSeek Coder 33Bgemm120482048245.023.4841.72 GB (0.04%)
Phind CodeLlama 34Bgemm13232102.479.0441.70 GB (0.04%)
Phind CodeLlama 34Bgemm120482048237.573.4842.47 GB (0.04%)

参考

如果您觉得AWQ对您的研究有用或相关,您可以引用他们的论文:

@article{lin2023awq,title={AWQ: Activation-aware Weight Quantization for LLM Compression and Acceleration},author={Lin, Ji and Tang, Jiaming and Tang, Haotian and Yang, Shang and Dang, Xingyu and Han, Song},journal={arXiv},year={2023}
}

2025-03-08(六)
🌹节日快乐 --<-<-<@

关键字:动漫网页设计作品模板_如何制作个人简历_微信朋友圈营销方案_谷歌浏览器chrome官网

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: