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 생태계와의 통합.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트