Xilinx/brevitas
Brevitas: neural network quantization in PyTorch
解决的问题
Brevitas 旨在使神经网络量化更简单、更灵活。它允许开发者降低模型权重和激活值的精度,从而减少内存占用并提高推理速度,同时几乎不牺牲准确性。
工作原理
这是一个 PyTorch 库,提供标准深度神经网络层的量化版本,例如卷积层(QuantConv2d)、循环层(QuantLSTM)和注意力机制(QuantMultiheadAttention)。该库支持两种主要的量化方法:
- 训练后量化(PTQ):在模型已经训练完成后进行量化。
- 量化感知训练(QAT):将量化集成到训练过程中,帮助模型适应低精度。
用户可以为不同的张量(包括输入、权重、偏置和输出)单独调整量化设置,调整比特宽度和比例粒度等参数。
适用人群
此工具适用于需要将神经网络优化以部署在受益于低精度算术的硬件(如 FPGA 或其他专用加速器)上的 AI 研究人员和开发者。
主要亮点
- 支持 PTQ 和 QAT。
- 提供常见 PyTorch 层(Conv1d、Conv2d、RNN、LSTM、MultiheadAttention)的量化实现。
- 对权重、输入和偏置的量化设置高度可调。
- 与 PyTorch 生态系统无缝集成。
相关
- 项目
- 项目
- 项目
- 项目