如何在AMD EPYC CPU上部署Qwen2.5-VL-7B-Instruct-da8w8-torchao-v0.16.0?超详细步骤教程
2026/7/13 15:08:57 网站建设 项目流程

如何在AMD EPYC CPU上部署Qwen2.5-VL-7B-Instruct-da8w8-torchao-v0.16.0?超详细步骤教程

【免费下载链接】Qwen2.5-VL-7B-Instruct-da8w8-torchao-v0.16.0项目地址: https://ai.gitcode.com/hf_mirrors/amd/Qwen2.5-VL-7B-Instruct-da8w8-torchao-v0.16.0

Qwen2.5-VL-7B-Instruct-da8w8-torchao-v0.16.0是由AMD使用TorchAO为ZenDNN优化的CPU推理创建的量化版本,基于Qwen2.5-VL-7B-Instruct模型,专为AMD EPYC CPU设计,支持图像文本到文本的转换任务。

模型概述 📋

核心特性

  • 模型架构:Qwen2_5_VLForConditionalGeneration,支持文本和图像输入,输出文本
  • 硬件支持:AMD EPYC CPU(仅CPU推理)
  • 系统要求:Linux操作系统
  • 推理引擎:vLLM v0.18.0
  • 量化框架:TorchAO v0.16.0
  • 量化方法:8位动态激活、8位权重量化(对称映射)

兼容技术栈

  • ZenDNN v5.2.1
  • ZenTorch v5.2.1
  • PyTorch v2.10.0
  • TorchAO v0.16.0
  • vLLM v0.18.0

准备工作 🛠️

环境要求

确保您的系统满足以下条件:

  • AMD EPYC CPU
  • Linux操作系统
  • 足够的内存(建议至少64GB)

安装依赖

使用以下命令安装所需的Python包:

pip install --extra-index-url https://download.pytorch.org/whl/cpu \ --extra-index-url https://wheels.vllm.ai/cpu/ \ torch==2.10.0+cpu \ vllm==0.18.0 \ torchao==0.16.0 \ transformers \ huggingface_hub

克隆仓库

git clone https://gitcode.com/hf_mirrors/amd/Qwen2.5-VL-7B-Instruct-da8w8-torchao-v0.16.0 cd Qwen2.5-VL-7B-Instruct-da8w8-torchao-v0.16.0

配置环境变量 ⚙️

设置以下环境变量以优化性能:

# vLLM CPU运行时调优 export VLLM_CPU_KVCACHE_SPACE=40 # KV缓存的主机内存GB数 export VLLM_CPU_OMP_THREADS_BIND="0-63" # NUMA本地核心 # TorchInductor配置 export TORCHINDUCTOR_FREEZING=1 export TORCHINDUCTOR_AUTOGRAD_CACHE=1 export TORCHINDUCTOR_CACHE_DIR="./.torchinductor_cache/Qwen2.5-VL-7B-Instruct-da8w8-torchao-v0.16.0" # 必需的CPU运行时库 export LD_PRELOAD="<path to lib>/libtcmalloc_minimal.so.4:<path to lib>/libiomp5.so${LD_PRELOAD:+:$LD_PRELOAD}"

提示:使用以下命令查找所需库的路径:

find / -name 'libtcmalloc_minimal.so.4' find / -name 'libiomp5.so'

然后将找到的目录替换上述命令中的<path to lib>

模型量化过程 📊

该模型使用TorchAO进行量化,下面是量化过程的简要概述:

步骤1:创建量化配置

from transformers import TorchAoConfig from torchao.quantization import Int8DynamicActivationInt8WeightConfig from torchao.quantization.quant_primitives import MappingType quantization_config = TorchAoConfig( Int8DynamicActivationInt8WeightConfig( version=2, act_mapping_type=MappingType.SYMMETRIC, ), modules_to_not_convert=["lm_head"], )

步骤2:加载并量化模型

from transformers import AutoModelForVision2Seq quantized_model = AutoModelForVision2Seq.from_pretrained( "Qwen/Qwen2.5-VL-7B-Instruct", dtype=torch.bfloat16, device_map="cpu", quantization_config=quantization_config, )

步骤3:保存量化模型

quantized_model.save_pretrained("./Qwen2.5-VL-7B-Instruct-da8w8-torchao-v0.16.0", safe_serialization=False)

步骤4:保存tokenizer

from transformers import AutoTokenizer tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen2.5-VL-7B-Instruct", trust_remote_code=True) tokenizer.save_pretrained("./Qwen2.5-VL-7B-Instruct-da8w8-torchao-v0.16.0")

注意:safe_serialization=False是必需的,因为torchao的量化张量子类目前无法以safetensors格式序列化。

运行推理 🚀

虽然项目中没有提供完整的推理脚本,但您可以使用以下代码作为参考进行简单的推理测试:

import torch from transformers import AutoModelForVision2Seq, AutoTokenizer model = AutoModelForVision2Seq.from_pretrained( "./Qwen2.5-VL-7B-Instruct-da8w8-torchao-v0.16.0", device_map="cpu", trust_remote_code=True ) tokenizer = AutoTokenizer.from_pretrained( "./Qwen2.5-VL-7B-Instruct-da8w8-torchao-v0.16.0", trust_remote_code=True ) # 文本输入示例 input_text = "What are we having for dinner?" input_ids = tokenizer(input_text, return_tensors="pt") output = model.generate(**input_ids, max_new_tokens=30) print(tokenizer.decode(output[0], skip_special_tokens=True))

性能评估 📈

该模型已使用lm-evaluation-harness针对BF16(未量化)基线进行了评估。在ChartQA基准测试中,量化模型的性能仅比基线低0.29%,展示了出色的性能保留率。

要重现评估结果,可以运行以下命令:

mkdir -p "${TORCHINDUCTOR_CACHE_DIR}" lm_eval \ --model vllm-vlm \ --model_args pretrained=amd/Qwen2.5-VL-7B-Instruct-da8w8-torchao-v0.16.0,tokenizer=Qwen/Qwen2.5-VL-7B-Instruct,dtype=bfloat16 \ --tasks chartqa \ --batch_size auto \ --trust_remote_code \ --apply_chat_template \ --log_samples \ --output_path .

注意事项 ⚠️

1.** 版本锁定 **:此模型使用TorchAO v0.16.0量化,仅与PyTorch v2.10.0 / ZenDNN v5.2.1兼容。在其他PyTorch版本上可能无法正确加载。

2.** CPU专用 **:该模型专为AMD EPYC CPU推理优化,不适合GPU推理。

3.** 内存要求 **:确保系统有足够的内存来运行模型,特别是KV缓存需要大量内存。

许可证信息 📄

本模型与源模型遵循相同的许可证分发。详情请参见LICENSE文件。

修改版权所有 (c) 2026 Advanced Micro Devices, Inc. 保留所有权利。

【免费下载链接】Qwen2.5-VL-7B-Instruct-da8w8-torchao-v0.16.0项目地址: https://ai.gitcode.com/hf_mirrors/amd/Qwen2.5-VL-7B-Instruct-da8w8-torchao-v0.16.0

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询