brevitas

PyTorch 模型一键量化,低比特也能高精度跑上 FPGA

开源 free 模型训练
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1586
维护状态 活跃
是否开源 是
定价模式 free

项目预览

项目数据

分类模型训练
开发团队Xilinx
所属国家
定价模式free
价格说明开源免费,遵循BSD-3-Clause许可证
访问状态
是否开源是
开源协议NOASSERTION
主要语言Python
技术栈/模型brevitas,deep-learning,fpga,hardware-acceleration,neural-networks,ptq,pytorch,qat,quantization,xilinx
GitHub 星标★ 1586
30天Star增速
HF 下载量
上线时间2018-07-10 00:00:00
代码更新—
仓库体积—
本站数据更新—
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-10-17
浏览次数0

项目介绍

Brevitas 是 Xilinx(AMD)开源的 PyTorch 神经网络量化库,专注为 FPGA 与硬件加速场景提供从训练到部署的量化支持。它解决的核心问题是:如何在保持精度的前提下,把浮点模型压缩成低位宽(如 4/8 位甚至二值)定点模型,并让量化行为与真实硬件推理一致。核心能力包括量化感知训练(QAT)与训练后量化(PTQ)两套流程,提供可配置的量化器(权重、激活、偏置)、多种舍入与缩放策略、量化位宽与数据类型灵活组合,并支持导出到 ONNX、FINN 等硬件工具链。它把量化粒度、量化器放置等细节做成模块化组件,研究者可以像搭积木一样替换量化方案,工程上则能直接对接 Xilinx 的 FPGA 部署流程,适合做低比特模型研究与边缘推理落地。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

正在加载星标数据…

技术标签

使用教程

—

难度:入门 约 10 分钟 部署方式:库/依赖 5 步

环境要求

  • Python >= 3.10
  • PyTorch >= 1.13 且 <= 2.13(更新版本未经测试)
  • Windows、Linux 或 macOS 系统
  • GPU 训练加速(可选,但推荐)

安装与启动步骤

  1. 1检查 Python 版本

    确认本机 Python 不低于 3.10,版本过低需先升级解释器。

    python --version
  2. 2安装 PyTorch

    先装 PyTorch,版本需在 1.13 到 2.13 之间;README 未给出具体安装命令,请按官网指引选择对应 CUDA 版本。

  3. 3安装 brevitas

    从 PyPI 直接安装最新发布版,会自动拉取依赖包。建议在虚拟环境中执行以免污染全局环境。

    pip install brevitas
  4. 4验证导入

    在 Python 中导入 brevitas.nn 并查看版本,确认安装成功、无缺少依赖报错。

    python -c "import brevitas; import brevitas.nn; print(brevitas.__version__)"
  5. 5运行 PTQ 示例

    README 提供 ImageNet 分类的 PTQ 参考流程,可对 torchvision 模型做训练后量化,按需调整位宽与缩放粒度。

关键配置

配置项必填说明示例
量化位宽(bit-width)否控制权重/激活量化为多少比特,位宽越低压缩越强。4
缩放粒度(granularity of scale)否决定缩放因子按张量、按通道还是按组统计。per-channel
量化器放置否通过 brevitas.nn 的 Quant 层分别设定输入、权重、偏置、输出的量化方式。QuantConv2d

如何确认成功

执行 python -c "import brevitas; print(brevitas.__version__)",能正常输出版本号且无 ImportError 即安装成功。

常见问题

Q:PyTorch 版本有要求吗?

A:有。README 要求 PyTorch >= 1.13 且 <= 2.13,更新的版本属于未测试范围,可能出现兼容问题。

Q:必须用 GPU 吗?

A:不必须。GPU 训练加速是可选项,CPU 也能安装和运行,但量化感知训练会明显更慢。

Q:Brevitas 是官方产品吗?

A:不是。README 明确说明它是研究项目,并非 Xilinx 官方产品,生产使用需自行评估。

Q:怎么快速上手 PTQ?

A:参考 brevitas_examples.imagenet_classification.ptq 下的示例脚本,用不同量化配置对 torchvision 模型做训练后量化。

注意事项

  • Brevitas 是研究项目,不是 Xilinx 官方产品。
  • README 未给出 PyTorch 的具体安装命令,请到 pytorch.org 按系统与 CUDA 版本获取。
  • README 未提供独立 CLI 工具、端口或配置文件,所有配置均通过 Python API 以代码方式设定。
  • 示例脚本来自源码仓库而非 PyPI 包,如需运行请另行获取仓库代码。

核心亮点

  • QAT 与 PTQ 双流程齐全,量化器、位宽、舍入策略均可插拔配置
  • 与 Xilinx FINN/FPGA 工具链打通,量化结果可直接对接硬件部署
  • 量化行为贴近真实硬件,支持低位宽与混合精度,便于精度-资源权衡实验

不足之处

  • 与 Xilinx 生态绑定较深,非 FPGA 或非 AMD 平台的部署路径支持有限
  • API 与版本迭代较快,文档和示例对新手不够友好,学习曲线偏陡

适用场景

  • 在 FPGA 上部署低比特 CNN 做边缘推理
  • 研究量化感知训练算法与低位宽精度对比
  • 把训练好的 PyTorch 模型导出为硬件可用的量化模型

替代项目

PyTorch Quantization (torch.ao.quantization)、NNCF、AIMET

同类项目推荐

Long-RL 开源

让强化学习轻松驾驭超长序列,训练更稳更快

Long-RL: Scaling RL to Long Sequences (NeurIPS 2025)

★ 729 2026-08-09
TPA 开源

把注意力复杂度从平方降到线性,长序列不再卡顿

[NeurIPS 2025 Spotlight] TPA: Tensor ProducT ATTenTion Transformer (https://arxiv.or···

★ 464 2026-08-09
minimind 开源

两小时造出你的小模型,练手入门不求人

Train a 64M-parameter LLM from scratch in just 2h!

★ 63828 2026-08-09
pruna 开源

一键优化 AI 模型,推理提速又省资源。

Pruna is a model optimization framework built for developers, enabling you to delive···

★ 1317 2026-08-13