Xilinx/brevitas

Brevitas: neural network quantization in PyTorch

何を解決するか

Brevitasは、ニューラルネットワークの量子化をより簡単かつ柔軟に実現することを目的としています。開発者がモデルの重みや活性化の精度を低下させることで、メモリ使用量を削減し、推論速度を向上させつつ、精度の低下を最小限に抑えることができます。

動作方法

これは、標準的な深層ニューラルネットワーク層(例:畳み込み層 QuantConv2d、再帰層 QuantLSTM、アテンション機構 QuantMultiheadAttention)の量子化版を提供するPyTorchライブラリです。このライブラリは、主に以下の2つの量子化手法をサポートしています。

  • 訓練後の量子化(PTQ):すでに訓練されたモデルに対して量子化を行う。
  • 量子化対応学習(QAT):量子化を学習プロセス自体に組み込むことで、モデルが低精度に適応できるようにする。

ユーザーは、入力、重み、バイアス、出力などの異なるテンソルに対して個別に量子化設定を調整でき、ビット幅やスケールの粒度などのパラメータをカスタマイズできます。

対象ユーザー

このツールは、FPGAやその他の専用アクセラレータなど、低精度演算が利点となるハードウェア上でニューラルネットワークをデプロイする必要があるAI研究者や開発者向けです。

特徴

  • PTQとQATの両方をサポート。
  • 一般的なPyTorch層(Conv1d、Conv2d、RNN、LSTM、MultiheadAttention)の量子化実装。
  • 重み、入力、バイアスに対する高度な量子化設定のカスタマイズ。
  • PyTorchエコシステムとの統合。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト