
【免费下载链接】Llama-3.1-8B-Instruct-w4a16-tao-symchannel-torchao-v0.17.0项目地址https://ai.gitcode.com/hf_mirrors/amd/Llama-3.1-8B-Instruct-w4a16-tao-symchannel-torchao-v0.17.0点击查看免费下载本文将带你完整复现 AMD 基于 TorchAO 制作的 Llama-3.1-8B-Instruct W4A16 权重量化模型symmetric per-channeltorchao v0.17.0 序列化逐行拆解 README.md 中woq_sym_channel.py量化脚本的量化命令与参数并带你验证产物 model.safetensors 的配置细节——从零理解 W4A16 权重量化到在 AMD EPYC CPU 上用 vLLM 一键跑通推理全程附可对照的文件资料。1️⃣ 什么是 W4A16CPU 推理降本增效的核心手段W4A16 是权重量化Weight-Only Quantization, 即 README tags 里的woq的一种规格三个字母组各有含义代号含义作用W4权重压到4-bit int4BF16 权重约缩小 4 倍省内存、省带宽A16激活保持16-bitbfloat16计算精度损失最小Sym Channel对称量化、按通道per-channel误差更均匀精度恢复更好为什么 CPU 推理特别吃这套CPU 上模型推理的瓶颈往往是内存带宽而非算力。把 8B 参数模型的权重从 BF16 压到 int4内存占用直接降一个数量级AMD 的ZenDNN运行时v6.0.0再针对 int4 反量化做底层优化于是没 GPU 也能跑 Llama-3.1-8B成为可能——这正是本模型只标注Supported Hardware: AMD EPYC (CPU inference)的原因。再拆两个关键词理解脚本参数的基础对称量化SYMMETRIC量化区间关于 0 对称例如 int4 覆盖 -8 ~ 7每个值只乘一个 scale 就能映射回浮点比非对称asymmetric少存一个零点偏移、反量化计算更快按通道粒度per-channel / PerAxis权重矩阵的每一行输出通道单独计算自己的 scale而不是整个矩阵共用一个。类比全班学生共用一把分到分的量尺容易失真每人单独配一把小尺子才精准。2️⃣ 读懂仓库文件构成与量化配置验证点先给新手一个开箱指南本仓库的全部文件如下表文件作用model.safetensors量化后的模型权重int4 打包存储config.json模型结构 量化配置本文重点generation_config.json生成参数temperature 0.6、top_p 0.9tokenizer_config.json / tokenizer.json分词器128256 词表chat_template.jinja对话模板LICENSE / USE_POLICY.md / NOTICE.txt授权与使用条款务必遵守 Llama 使用政策⚠️一个小提醒woq_sym_channel.py脚本源码并不在这个仓库里——仓库存放的是量化后的成品模型。脚本的运行方式记录在 README.md 的 Quantization 章节本文按此拆解。如何验证量化真的发生了打开 config.json找到quantization_config字段里面有 6 个关键信息quant_method: torchao, modules_to_not_convert: [lm_head], include_input_output_embeddings: false, _type: IntxWeightOnlyConfig, granularity: { _type: PerAxis, _data: { axis: 0 } }, mapping_type: { _type: SYMMETRIC }逐条翻译成人话配置项值含义quant_methodtorchao由 TorchAO 完成量化与序列化quant_type._typeIntxWeightOnlyConfig4-bit 权重量化配置序列化版本_version: 2granularityPerAxisaxis 0按输出通道per-channel量化对应脚本里的PerAxis(0)mapping_typeSYMMETRIC对称量化无零点偏移weight_dtypeint4权重整数位宽scale_dtypebfloat16scale 因子用 bf16 存储intx_packing_formatUNPACKED_TO_INT8多个 int4 权重打包进 int8 存储压缩体积modules_to_not_convertlm_head输出投影层保持 BF16 不量化 结论config.json中的每一项都与 README 声明的量化配置Int4WeightOnlyConfig(granularityPerAxis(0), mapping_typeMappingType.SYMMETRIC)一一对应——量化层为除lm_head和embed_tokens之外的全部 Linear 层词嵌入保持原精度是权重量化的常见做法对生成质量更友好。3️⃣ 复现路径环境准备与量化脚本拆解3.1 版本锁定清单最容易踩的坑本模型用 TorchAO v0.17.0 的序列化格式保存README 在 Limitations 中明确只有配套版本能正确加载。动手前先按此清单装环境torch2.11.0 torchao0.17.0 zentorch2.11.0.1 vllm0.20.2配套硬件栈AMD ZenDNN v6.0.0运行在 AMD EPYC 处理器上。其他 PyTorch 版本将无法正确读取该量化格式这是设计使然而非 bug。3.2 量化脚本运行方式拆解README.md 给出的复现命令只有两行参数却信息量很大python woq_sym_channel.py \ --model_name meta-llama/Llama-3.1-8B-Instruct \ --output_dir ./Llama-3.1-8B-Instruct-w4a16-tao-symchannel-torchao-v0.17.0参数本例取值含义--model_namemeta-llama/Llama-3.1-8B-Instruct量化输入Meta 官方 BF16 指令模型--output_dir./Llama-3.1-8B-Instruct-w4a16-tao-symchannel-torchao-v0.17.0量化输出目录命名直接写明了量化方法w4a16 symchannel torchao 版本号脚本内部实际生效的量化配置来自 README为Int4WeightOnlyConfig( granularityPerAxis(0), mapping_typeMappingType.SYMMETRIC )整条流水线可以概括为四步加载 BF16 基座 → 按通道对称计算 4-bit 量化参数 → 转换全部目标 Linear 层 → 以 TorchAO 格式保存权重与配置。量化完成后即可得到本仓库中的产物model.safetensors 与带quantization_config的 config.json。4️⃣ 验证产物用 vLLM 一键加载推理4.1 OpenMP 环境变量设置性能必配ZenDNN 依赖 OpenMP 做并行README 建议在启动 vLLM 或任何推理脚本之前设置LD_PRELOAD# LLVM OpenMP 或 Intel OpenMP 二选一 export LD_PRELOAD$(find /path/to/env -name libomp.so | head -1)4.2 vLLM 加载量化模型from vllm import LLM, SamplingParams model LLM( modelamd/Llama-3.1-8B-Instruct-w4a16-tao-symchannel-torchao-v0.17.0, dtypebfloat16, ) outputs model.generate([Hello, how are you?], SamplingParams(temperature0.7, max_tokens256)) print(outputs[0].outputs[0].text)✅验收清单模型能加载、vllm serve或直接generate正常出文本、日志无 int4 反量化警告即说明 W4A16 量化链路在 ZenDNN 上工作正常。4.3 可选跑评测对比精度README 提供了基于 lm-evaluation-harness 的评测命令可与 BF16 基线做对照lm_eval \ --model vllm \ --model_args pretrainedamd/Llama-3.1-8B-Instruct-w4a16-tao-symchannel-torchao-v0.17.0 \ --tasks mmlu \ --num_fewshot 5 \ --batch_size auto5️⃣ 常见坑与 FAQ版本、硬件与生成参数Q用 GPU 能跑吗A不能至少不是它的用途。该模型只针对 AMD EPYCCPU 推理优化不是为 GPU 推理设计。Q换了 PyTorch 版本加载报错A版本锁定机制所致回到 2.11.0 TorchAO 0.17.0 组合。Qlm_head为什么不量化A输出层对生成质量影响大保持 BF16 是精度与体积的折中配置里modules_to_not_convert与include_input_output_embeddings: false都印证了这一点。Q生成风格由谁控制A除量化外generation_config.json 预设了temperature0.6、top_p0.9对话格式见 chat_template.jinja。Q能不能改权重A本仓库为只读发布物商用前请遵守 LICENSE 与 USE_POLICY.md 中的 Llama 使用条款。 文末资料速查资料相对路径模型说明与量化命令README.md量化配置验证config.json生成参数generation_config.json分词器tokenizer_config.json、tokenizer.json对话模板chat_template.jinja使用条款LICENSE、USE_POLICY.md、NOTICE.txt量化权重model.safetensors一句话总结W4A16 symmetric per-channel 是精度损失小、CPU 收益大的权重量化组合读懂config.json里的quantization_config六要素再对照 README 的两行量化命令你就能完整理解并亲手复现这个 TorchAO v0.17.0 量化模型的来龙去脉。赞分享【免费下载链接】Llama-3.1-8B-Instruct-w4a16-tao-symchannel-torchao-v0.17.0项目地址https://ai.gitcode.com/hf_mirrors/amd/Llama-3.1-8B-Instruct-w4a16-tao-symchannel-torchao-v0.17.0点击查看免费下载相关推荐如何用TorchAO自己量化Llama一步步复现Llama-3.1-8B-Instruct-w4a16-tao-symgroup-torchao-v0.17.0的W4A16对称分组建模如何用TorchAO自己量化Llama一步步复现Llama 3.1 8B Instruct w4a16 tao symgroup torchao v0.17.一文读懂W4A16基于Llama-3.1-8B-Instruct-w4a16-tao-symgroup-torchao-v0.17.0的4-bit权重量化原理完整科普一文读懂W4A16基于Llama 3.1 8B Instruct w4a16 tao symgroup torchao v0.17.0的4 bit权重量化原理Babel babel/plugin-proposal-export-default-from 深度解析把 export v from mod 编译为 ES2015 标准导出Babel babel/plugin proposal export default from 深度解析把 export v from mod 编译为上一篇gh_mirrors/ex/expr垃圾回收优化减少GC压力下一篇php-git-hooks安装与配置详解从Composer安装到自定义规则创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考