[논문 리뷰] FlexRound: Learnable Rounding based on Element-wise Division for Post-Training Quantization
FlexRound는 후기훈련 정량화(PTQ)를 위한 학습 가능한 반올림 메커니즘을 제안하며, 요소별 나눗셈을 사용하여 공통 정량화 격자 크기와 각 가중치 스케일링 인자를 동시에 최적화함으로써 유연하고 크기 인식 정량화를 가능하게 한다. 이는 이미지 분류, NLP 이해 및 생성 작업에서 최신 기술 성능을 달성하며, 정확도 저하가 최소한인 4비트 정량화를 통해 대규모 언어 모델을 효율적으로 처리할 수 있다.
Post-training quantization (PTQ) has been gaining popularity for the deployment of deep neural networks on resource-limited devices since unlike quantization-aware training, neither a full training dataset nor end-to-end training is required at all. As PTQ schemes based on reconstructing each layer or block output turn out to be effective to enhance quantized model performance, recent works have developed algorithms to devise and learn a new weight-rounding scheme so as to better reconstruct each layer or block output. In this work, we propose a simple yet effective new weight-rounding mechanism for PTQ, coined \emph{FlexRound}, based on element-wise division instead of typical element-wise addition such that FlexRound enables jointly learning a common quantization grid size as well as a different scale for each pre-trained weight. Thanks to the reciprocal rule of derivatives induced by element-wise division, FlexRound is inherently able to exploit pre-trained weights when updating their corresponding scales, and thus, flexibly quantize pre-trained weights depending on their magnitudes. We empirically validate the efficacy of FlexRound on a wide range of models and tasks. To the best of our knowledge, our work is the first to carry out comprehensive experiments on not only image classification and natural language understanding but also natural language generation. Moreover, we demonstrate, for the first time, that large language models can be efficiently quantized, with only a negligible impact on performance compared to half-precision baselines, achieved by reconstructing the output in a block-by-block manner. Our code is available at \url{https://github.com/onliwad101/FlexRound_LRQ}.
연구 동기 및 목표
- 고정된 균일한 반올림 방식으로 인한 후기훈련 정량화(PTQ)의 성능 저하 문제를 해결하기 위해.
- 크기 기반으로 각 가중치에 맞게 스케일링을 적응시킴으로써 사전 훈련된 모델의 더 효과적인 정량화를 가능하게 하기 위해.
- 전체 재훈련이 필요 없이 격자 크기와 각 가중치 스케일을 동시에 최적화하는 학습 가능한 반올림 메커니즘을 개발하기 위해.
- 자연어 생성 및 대규모 언어 모델을 포함한 다양한 작업에서 이 방법의 효과성을 입증하기 위해.
- 블록 단위 출력 복원 기법을 통해 4비트 정량화 시 반도정밀도 성능에 근접한 대규모 언어 모델(LaMMA-33B)의 정량화를 효과적으로 수행할 수 있는지 보여주기 위해.
제안 방법
- FlexRound는 기존의 요소별 덧셈 방식의 가중치 반올림을 요소별 나눗셈으로 대체하여 사전 훈련된 가중치의 크기를 고려한 기울기 흐름을 가능하게 한다.
- 이 방법은 기울기 흐름이 가능한 반올림 메커니즘을 통해 공통 정량화 격자 크기와 각 사전 훈련된 가중치에 대한 개별 스케일링 인자를 동시에 학습한다.
- 나눗셈의 도함수 역수 법칙을 활용하여 사전 훈련된 가중치가 스케일 업데이트를 이끄는 방식으로 크기 인식 정량화를 실현한다.
- 레이어/블록 출력에 대한 재구성 손실을 최소화하기 위해 경사 하강법을 사용하여 스케일을 최적화하며, 정량화로 인한 손실 저하를 최소화한다.
- 채널별 및 텐서별 정량화를 지원하며, 성능 유지 목적의 블록 단위로 출력을 복원하는 방식으로 적용된다.
- 기존의 PTQ 프레임워크와 호환되며, 최소한의 수정으로 기존 정량화 파이프라인에 통합 가능하다.
실험 결과
연구 질문
- RQ1요소별 나눗셈 기반의 학습 가능한 반올림 메커니즘이 정확도와 유연성 측면에서 기존의 PTQ 방법을 능가할 수 있는가?
- RQ2나눗셈을 통한 크기 인식 스케일링이 특히 큰 가중치에 대해 정량화 성능을 향상시키는가?
- RQ3FlexRound가 성능 저하가 최소한이 되도록 4비트 정량화를 통해 대규모 언어 모델을 효과적으로 처리할 수 있는가?
- RQ4이국적 작업, 즉 이미지 분류, NLP 이해 및 생성 작업에서 FlexRound가 AdaRound 및 기타 최신 기술 PTQ 방법과 비교해 어떻게 성능을 내는가?
- RQ5LLaMA-33B와 같은 고파rameter 모델에서 저정밀도 정량화 조건 하에 블록 단위 출력 복원이 성능 유지에 효과적인가?
주요 결과
- FlexRound는 이미지 분류 및 NLP 이해 벤치마크에서 AdaRound 및 기타 PTQ 방법을 능가하는 최신 기술 성능을 달성한다.
- WikiText2에서 LLaMA-7B에 8비트 가중치를 적용했을 때 FlexRound는 퍼플렉서티 5.73을 기록했으며, AdaRound의 6.19보다 7.3% 상대적 향상이다.
- 4비트 정량화 조건에서는 FlexRound가 WikiText2에서 LLaMA-7B의 퍼플렉서티를 5.63으로 낮추었으며, AdaRound의 5.72를 초월하고 반도정밀도 기준선에 근접한 성능 저하를 보였다.
- PTB에서 LLaMA-7B에 8비트 가중치를 적용했을 때 FlexRound는 퍼플렉서티 9.28을 기록했으며, AdaRound의 9.85보다 6.1% 상대적 향상이다.
- 3비트 가중치 조건에서도 FlexRound는 WikiText2에서 LLaMA-7B의 퍼플렉서티를 5.88로 유지했으며, AdaRound의 6.41보다 뚜렷한 우수성을 보이며 저비트 정량화 능력을 입증했다.
- LLaMA-33B에 4비트 가중치를 적용했을 때 FlexRound는 WikiText2에서 퍼플렉서티 4.32를 기록했으며, 반도정밀도 기준선인 4.06보다 뿐만 아니라 0.26 뿐만 아니라 근접한 성능을 보여, 거의 정밀도 성능을 달성했다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.