양자화
학습된 모델을 load_model()를 사용하여 LoadedNet에 가져온 후, LoadedNet.quantize를 사용하여 양자화합니다(API 참조 참조).
SiMa.ai 실리콘은 머신 러닝 가속기(MLA)에서 INT8 및 BF16으로, 애플리케이션 처리 장치(APU) 및 컴퓨터 비전 장치(CVU)에서 부동 소수점 연산을 수행합니다.
전처리 및 후처리 함수는 APU 및 CVU에서 실행됩니다. 컨볼루션 및 풀링과 같은 모델 레이어는 MLA에서 실행됩니다. 양자화기는 그래프를 컴퓨팅 장치에 걸쳐 자동으로 분할합니다. MLA에서 실행되는 부분만 양자화됩니다.
양자화를 고려한 훈련(QAT)
이 페이지에서는 학습 후 양자화(PTQ)에 대해 설명합니다. 양자화를 고려한 학습은 별도의 워크플로를 사용하며, 이 가이드에서는 다루지 않습니다.
기본 양자화
사용자 지정 구성을 만들기 전에 default_quantization을 기본 INT8 구성으로 사용하세요.
from afe.apis.defines import default_quantization
quant_model = loaded_net.quantize(
calibration_data=calib_data,
quantization_config=default_quantization,
model_name="my_model",
)
채널 이퀄라이제이션은 채널 간의 가중치 분포를 균등하게 조정하는 선택적인 전처리 단계입니다. 다음을 사용하여 활성화할 수 있습니다.
QuantizationParams.with_channel_equalization.