从源码构建zentorch v2.11.0.2:Llama-3.3-70B-Instruct-da8w8-torchao-v0.17.0依赖环境搭建

从源码构建zentorch v2.11.0.2:Llama-3.3-70B-Instruct-da8w8-torchao-v0.17.0依赖环境搭建

【免费下载链接】Llama-3.3-70B-Instruct-da8w8-torchao-v0.17.0项目地址: https://ai.gitcode.com/hf_mirrors/amd/Llama-3.3-70B-Instruct-da8w8-torchao-v0.17.0

Llama-3.3-70B-Instruct-da8w8-torchao-v0.17.0是基于Meta Llama 3.3-70B-Instruct模型优化的8位量化版本,专为AMD EPYC CPU推理设计。本文将详细介绍如何从源码构建zentorch v2.11.0.2及其依赖环境,确保与该模型完美兼容。

核心依赖版本锁定

成功搭建环境的关键在于严格匹配以下版本组合:

  • PyTorch: 2.11.0+cpu
  • TorchAO: 0.17.0(量化框架)
  • ZenDNN: v6.0.0(AMD深度学习加速库)
  • zentorch: v2.11.0.2(必须从源码构建)
  • vLLM: 0.23.0(推理引擎)

⚠️版本兼容性警告:该模型通过TorchAO v0.17.0量化,仅兼容PyTorch v2.11.0和ZenDNN v6.0.0,其他版本会导致加载失败。

环境准备步骤

1. 基础系统要求

  • 操作系统:Linux(推荐Ubuntu 20.04+或CentOS 8+)
  • 硬件:AMD EPYC处理器(支持AVX2指令集)
  • 工具链
    • Git
    • Python 3.9-3.11
    • Conda或venv虚拟环境
    • GCC 9.4.0+(源码编译需要)

2. 克隆项目仓库

git clone https://gitcode.com/hf_mirrors/amd/Llama-3.3-70B-Instruct-da8w8-torchao-v0.17.0 cd Llama-3.3-70B-Instruct-da8w8-torchao-v0.17.0

3. 创建并激活虚拟环境

# 使用conda创建环境 conda create -n zentorch-env python=3.10 -y conda activate zentorch-env # 或使用venv python -m venv zentorch-env source zentorch-env/bin/activate # Linux/Mac

4. 安装核心依赖

通过pip安装指定版本的PyTorch、TorchAO和vLLM:

pip install --extra-index-url https://download.pytorch.org/whl/cpu \ --extra-index-url https://wheels.vllm.ai/cpu/ \ torch==2.11.0+cpu \ vllm==0.23.0 \ torchao==0.17.0 \ "lm-eval[vllm]==0.4.12" \ huggingface_hub

5. 安装CPU运行时库

conda install -c conda-forge gperftools=2.17.2 llvm-openmp=18.1.8 --no-deps -y

从源码构建zentorch v2.11.0.2

1. 获取ZenDNN PyTorch插件源码

git clone https://github.com/amd/ZenDNN-pytorch-plugin.git cd ZenDNN-pytorch-plugin git checkout v2.11.0.2 # 切换到指定版本

2. 编译安装zentorch

# 设置编译参数 export ZENDNN_ROOT=/path/to/your/zendnn export CMAKE_PREFIX_PATH=$(python -c "import torch; print(torch.utils.cmake_prefix_path)") # 编译并安装 python setup.py install

📌提示:若编译过程中遇到依赖问题,参考项目根目录下的README.md文件中的"从源码构建"章节。

环境变量配置

设置必要的环境变量以启用优化和指定运行时库路径:

# TorchInductor + zentorch优化 export TORCHINDUCTOR_FREEZING=1 export TORCHINDUCTOR_AUTOGRAD_CACHE=0 export VLLM_USE_AOT_COMPILE=0 export ZENDNNL_MATMUL_ALGO=1 # 指定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'

验证环境正确性

1. 检查版本信息

python -c "import torch; print('PyTorch version:', torch.__version__)" python -c "import torchao; print('TorchAO version:', torchao.__version__)"

预期输出:

PyTorch version: 2.11.0+cpu TorchAO version: 0.17.0

2. 运行模型推理测试

import torch from transformers import AutoModelForCausalLM, AutoTokenizer model_id = "./" # 当前项目目录 tokenizer = AutoTokenizer.from_pretrained(model_id) model = AutoModelForCausalLM.from_pretrained( model_id, dtype=torch.bfloat16, device_map="cpu", trust_remote_code=True ) inputs = tokenizer("What is AMD ZenDNN?", return_tensors="pt") outputs = model.generate(**inputs, max_new_tokens=50) print(tokenizer.decode(outputs[0], skip_special_tokens=True))

常见问题解决

  • 编译错误:确保GCC版本≥9.4.0,缺少依赖时安装build-essential
  • 库文件找不到:使用ldconfig更新动态链接库缓存
  • 版本冲突:通过pip list | grep torch检查是否存在多个PyTorch版本

总结

通过本文步骤,您已成功搭建Llama-3.3-70B-Instruct-da8w8-torchao-v0.17.0模型的依赖环境,包括从源码构建zentorch v2.11.0.2。关键在于严格遵循版本要求和环境变量配置,以确保AMD CPU推理性能优化。

详细量化实现可参考项目中的量化示例代码,更多高级配置请查阅官方文档。

【免费下载链接】Llama-3.3-70B-Instruct-da8w8-torchao-v0.17.0项目地址: https://ai.gitcode.com/hf_mirrors/amd/Llama-3.3-70B-Instruct-da8w8-torchao-v0.17.0

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