- 大模型
- 模型量化
- 本地部署
- 模型优化
【免费下载链接】granite-4.0-h-tiny-w8a8-llmcompressor
granite-4.0-h-tiny-w8a8-llmcompressor是 AMD 基于 LLM Compressor 工具制作的W8A8 8-bit 量化大模型:它把 IBM 开源的 granite-4.0-h-tiny 混合 MoE 模型从 12.9 GiB 压缩到 6.6 GiB(体积减少约 49%),专门针对AMD EPYC CPU 推理做了优化——不需要 GPU,精度几乎无损。这篇文章带你一文读懂它的项目概览、量化原理和上手方法。
🧩 一分钟了解:这个仓库里有什么?
| 项目信息 | 说明 |
|---|---|
| 模型架构 | GraniteMoeHybridForCausalLM(Mamba + MoE 混合架构) |
| 源模型 | granite-4.0-h-tiny(BF16 全精度版) |
| 量化方式 | W8A8:权重整 8-bit + 激活动态 8-bit(INT8 对称量化) |
| 量化工具 | LLM Compressor v0.13.0(compressed-tensors 格式) |
| 推理引擎 | vLLM v0.29.0 |
| 目标硬件 | AMD EPYC 处理器(纯 CPU 推理) |
| 上下文长度 | 最高 131072 个 token |
| 许可证 | Apache-2.0(见 LICENSE) |
简单来说:这是一个**"瘦身版"模型文件仓库**,你下载后直接加载即可在 CPU 上跑大模型推理,省内存、省硬件成本。
✨ 核心特性亮点
1. 体积砍半:W8A8 量化让内存占用减少约 49%
模型权重从 12.9 GiB 降至6.6 GiB,具体量化配置如下:
- 权重(Weights):INT8、对称量化、per-channel 静态(离线算好缩放因子)
- 激活(Activations):INT8、对称量化、per-token 动态(推理时实时计算)
- 算法:RTN(Round-to-Nearest),属于data-free 量化,不需要校准数据集,制作成本低
完整的量化配方可以查看 recipe.yaml:
QuantizationModifier: targets: [Linear] ignore: [lm_head, 're:.*block_sparse_moe.router'] scheme: W8A8 requires_calibration_data: false💡为什么刻意跳过 MoE router?路由器是一个很小的线性层,它的输出 logit 决定选哪些专家(expert)。8-bit 舍入误差可能"翻转" top-k 选择,导致选错专家、改变模型行为,所以保留 BF16 是精度的关键保险。同样的保护也给了lm_head(输出层)。
2. 混合 Mamba-MoE 架构:又快又能长文
granite-4.0-h-tiny 的 40 层由两部分组成(在 config.json 的layer_types字段中可以逐层看到):
- 4 层 full-attention:负责全局信息检索
- 36 层 Mamba(线性注意力):长序列计算成本远低于标准注意力
- 每一层都带 64 个专家的 MoE 模块,每次只激活其中 6 个(top-6),再加一个共享 MLP
这种"混合架构"让 tiny 级别的模型同时具备长上下文(128K token)和较低的计算开销。
3. 纯 CPU 就能跑:AMD EPYC 专属优化
这是该仓库最有实用价值的一点——模型通过ZenDNN v6.1.0(配合 ZenTorch / PyTorch v2.13.0.0)针对 AMD EPYC 处理器优化,推荐 Linux 系统,不需要 GPU。对没有显卡的服务器、边缘设备或成本控制敏感的场景非常友好。
4. 精度几乎无损:GSM8K 恢复率 99.71%
AMD 用 lm-evaluation-harness 对量化版与 BF16 原版做了对比:
| 基准测试 | BF16 基线 | W8A8 量化版 | 恢复率 |
|---|---|---|---|
| GSM8K(5-shot,小学数学推理) | 0.8203 | 0.8180 | 99.71% |
✅ 量化后精度只损失了 0.29 个百分点,"瘦身"基本没有"减智"。
5. 开箱即用的对话模板
仓库自带 chat_template.jinja,内置对**工具调用(function calling)和文档问答(RAG 风格 prompt)**的对话模板支持,接入你的应用时无需自己写复杂的 prompt 拼装逻辑。分词文件 tokenizer.json 与 tokenizer_config.json 也一应俱全。
📂 项目文件结构速览
| 文件 | 作用 |
|---|---|
| README.md | 模型总览、量化细节、运行步骤与评测数据 |
| config.json | 模型结构与quantization_config量化配置 |
| recipe.yaml | LLM Compressor 量化配方(W8A8、忽略层) |
| model.safetensors | 量化后的模型权重 |
| chat_template.jinja | 对话模板(支持工具调用/文档问答) |
| tokenizer.json / tokenizer_config.json | 分词器文件 |
| generation_config.json | 生成参数(bos/eos/pad token 等) |
| LICENSE | Apache-2.0 许可证 |
🚀 快速上手:三步在 CPU 上跑起来
第一步:获取模型
git clone https://gitcode.com/hf_mirrors/amd/granite-4.0-h-tiny-w8a8-llmcompressor第二步:安装依赖(版本需对齐)
torch==2.13.0.0 zentorch==2.13.0.0 vllm==0.29.0 llmcompressor==0.13.0第三步:设置 OpenMP 并启动 vLLM 推理
# 先定位 OpenMP 库并预加载(性能关键) export LD_PRELOAD=$(find /path/to/env -name "libomp.so" | head -1)然后在 Python 中用 vLLM 加载:
from vllm import LLM, SamplingParams model = LLM(model="./granite-4.0-h-tiny-w8a8-llmcompressor", dtype="bfloat16", trust_remote_code=True) outputs = model.generate(["Hello, how are you?"], SamplingParams(temperature=0.7, max_tokens=256)) print(outputs[0].outputs[0].text)⚠️ 注意:LD_PRELOAD必须在启动 vLLM 或任何推理脚本之前设置。
❓ 上手前必读:三个局限性
- 版本锁定:模型与 ZenDNN v6.1.0 / ZenTorch v2.13.0.0 / PyTorch v2.13.0.0 绑定,其他版本可能无法正确加载;
- 仅限 CPU:针对 AMD EPYC 优化,不适用于 GPU 推理;
- Mamba 内部保持 BF16:状态空间中的
conv1d、A_log、D等非 Linear 组件未量化,所以 INT8 加速主要体现在投影层、专家和注意力部分,而非整个循环路径。
📌 总结
granite-4.0-h-tiny-w8a8-llmcompressor是一次非常典型的"生产级量化"实践:
- 用W8A8 + RTN实现>赞
- 大模型
- 模型量化
- 本地部署
- 模型优化
【免费下载链接】granite-4.0-h-tiny-w8a8-llmcompressor
相关推荐
AMD granite-4.0-h-tiny-w8a8-llmcompressor 快速上手:3步在纯CPU上跑通W8A8量化大模型
AMD granite 4.0 h tiny w8a8 llmcompressor 快速上手:3步在纯CPU上跑通W8A8量化大模型 本文带你用 AMD gra
大模型模型量化本地部署模型优化W8A8量化完整指南:granite-4.0-h-tiny-w8a8-llmcompressor如何将12.9GB模型压缩至6.6GB
W8A8量化完整指南:granite 4.0 h tiny w8a8 llmcompressor如何将12.9GB模型压缩至6.6GB granite 4.0
大模型模型量化本地部署模型优化Granite 4.0 H Tiny 量化模型 granite-4.0-h-tiny-da8w8-torchao-v0.17.0 初探:AMD EPYC 纯 CPU 推理大模型是怎么炼成的
Granite 4.0 H Tiny 量化模型 granite 4.0 h tiny da8w8 torchao v0.17.0 初探:AMD EPYC 纯 C