huawei-csl/MACaQ
机器学习把文本、图像、视频和音频模型量化为低精度,并交给 llama.cpp、vLLM、Diffusers 或 PyTorch 运行。
项目介绍
MACaQ 是一套模型无关的量化方法与工具链,可生成低精度权重和激活(典型为 W4A4,也支持 2/3/4 位 GGUF 权重),并交给常见的本地推理栈运行。覆盖对象包括文本 LLM(稠密与 MoE)、用于图像、视频和图生视频的扩散 Transformer,以及语音生成模型。它依靠校准数据拟合量化参数;MACaQ-R 则在已有量化 GGUF 内继续精炼权重编码,同时保留其原生格式和 block scale。
项目随论文一起发布,论文中的量化速度结论包括:用 32.5 GB 显存 64 分钟量化 122B 参数模型、困惑度低于 MR-GPTQ 和 DuQuant++、以 11 倍更短的量化时间达到 Llama-3-8B 的最佳困惑度。这些是作者在论文评测条件下的主张,使用时应结合论文对照。
后端选择
每个后端有独立的环境与指南:
- llama.cpp:面向文本生成的 2/3/4 位 GGUF,支持 CPU 运行;MACaQ-R 生成的 GGUF 可直接用标准 llama.cpp 运行。
- vLLM:W4A4 或仅权重量化 checkpoint,用于文本生成和 HTTP 服务。
- Diffusers:量化扩散 Transformer 并保存为 safetensors,用于图像、视频、图生视频和音频生成。
- PyTorch:面向语音生成器的 W4A4,输出 WAV 音频,已覆盖 Qwen3-TTS 与 Chatterbox Turbo。
- Ascend:W4A4 稠密与分组矩阵乘 kernel 以 CANN PR 形式提交;整模型执行还需要接入 Ascend 推理运行时。
快速使用
需要 Python 3.12,并为每个后端使用独立环境。顶层 README 没有给出安装命令,安装、量化与生成步骤在各后端指南中。以 llama.cpp 的 MACaQ-R 路径为例:
- 按 llama.cpp 指南 创建环境并安装依赖。
- 按 准备模型 的说明准备原始模型、FP16 teacher 和校准文本文件。
- 将已有的量化 MoE GGUF 精炼为 MACaQ-R:
.venv-llamacpp/bin/python llamacpp/macaq.py refine \
--model models/model-q4.gguf --hf models/original \
--teacher models/original-f16.gguf --calibration data/calibration.txt \
--output models/model-macaq-r.gguf --work-dir work/refinement
- 用标准 llama.cpp 加载生成的文件:
llama cli -m models/model-macaq-r.gguf
如需作为服务运行,改用 llama serve -m models/model-macaq-r.gguf。也可以直接取用 Hugging Face 上已精炼好的 Qwen3.6-35B-A3B MACaQ-R GGUF。
使用约束
- 要求 Python 3.12,不同后端应隔离环境,避免依赖冲突。
- 带激活变换的完整 MACaQ 工作流依赖仓库自带的 llama.cpp 运行时;只有 MACaQ-R 精炼后的权重能迁移到标准 llama.cpp。
- vLLM 默认使用 W4A4 推理模式,README 中 Qwen3.8-27B 的 2.33 倍 prefill、2.58 倍 decode 加速仅适用于该配置。
- Ascend 目前提供的是 kernel 层支持,整模型运行需要 Ascend 推理运行时配合。
- 精炼流程需要校准数据和 FP16 teacher;MACaQ-R 会保留源 GGUF 的格式与 block scale。
- 采用 Apache 2.0 许可证,捆绑的第三方组件沿用各自许可证。
HotRepo 点评
MACaQ 的站内记录很短:2026-11-12 首次出现在 C++ 语言新项目榜,112 Star、5 Fork,当天上午约一小时的统计窗口净增 7 Star、2 Fork;没有全语言日榜名次,也没有 Hacker News 讨论。因此这些数据只支持单日快照,不足以判断趋势或采用度。从项目材料看,值得关注的是覆盖面:同一套量化方法贯通 llama.cpp、vLLM、Diffusers 和 PyTorch,并提供一条让标准 llama.cpp 直接运行 GGUF 的精炼路径。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。
Hacker News 讨论
相关推荐
- mozilla-ai/llamafile把模型和推理运行时打包成单个可执行文件,让开发者和终端用户在多数系统上免安装地本地运行 LLM。
- Video-Rebirth/hyperflow-h3-flash将 MiniMax-H3 压缩到 13.7B 的少步数视频与同步立体声音频生成模型,提供 INT8 与 GGUF 两种运行格式。
- heterodoxin/AbliteratedOutTheBoxllama.cpp 的分支,在推理时剥离受支持模型的拒答,磁盘权重和普通提示保持不变。
- wici-ai/inferssd当模型超出内存或显存时,从 SSD 流式运行大型 MoE GGUF 模型。
- ggml-org/llama.cpp在没有 Python 依赖的情况下,让 LLM 和 VLM 在本机 CPU、GPU、手机上跑推理。