搜索你想找的开源项目

输入名称、用途或关键词,也可粘贴 GitHub 仓库链接

分享到微信

当前解读页的微信分享二维码

用微信扫一扫打开,点击右上角「···」分享给朋友或朋友圈。

手机上可截屏后,在微信扫一扫中从相册识别二维码。

huawei-csl/MACaQ

机器学习

把文本、图像、视频和音频模型量化为低精度,并交给 llama.cpp、vLLM、Diffusers 或 PyTorch 运行。

152
6
C++
Apache-2.0
创建于 2 天前

项目介绍

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 路径为例:

  1. 按 llama.cpp 指南 创建环境并安装依赖。
  2. 按 准备模型 的说明准备原始模型、FP16 teacher 和校准文本文件。
  3. 将已有的量化 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
  1. 用标准 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 讨论

Huawei releases MACaQ, its internal quantizer for local inference
▲ 67 · 21 条评论 · 2026年11月11日

相关推荐

  1. mozilla-ai/llamafile把模型和推理运行时打包成单个可执行文件,让开发者和终端用户在多数系统上免安装地本地运行 LLM。C++26,602
  2. Video-Rebirth/hyperflow-h3-flash将 MiniMax-H3 压缩到 13.7B 的少步数视频与同步立体声音频生成模型,提供 INT8 与 GGUF 两种运行格式。Python111
  3. heterodoxin/AbliteratedOutTheBoxllama.cpp 的分支,在推理时剥离受支持模型的拒答,磁盘权重和普通提示保持不变。C++104
  4. wici-ai/inferssd当模型超出内存或显存时,从 SSD 流式运行大型 MoE GGUF 模型。C++160
  5. ggml-org/llama.cpp在没有 Python 依赖的情况下,让 LLM 和 VLM 在本机 CPU、GPU、手机上跑推理。C++132,253