본문 바로가기

논문 리뷰/Language Model

BitNet: Scaling 1-bit Transformers for Large Language Models

[Github]

[arXiv](2023/10/17 version v1)

 

 

Abstract

가중치를 1-bit로 양자화하는 Transformer architecture

 

 

BitNet

아래 그림과 같이 linear 한 연산들을 BitLinear로 교체한다.

대형 모델에서 큰 계산 비용을 차지하지 않는 다른 부분들은 8-bit로 유지하여 입출력의 정밀도를 유지한다.

 

BitLinear

가중치 W의 평균을 0으로 바꾸고 이진화 후 역 양자화 시 β로 스케일링.

 

활성화 x는 최대 절댓값을 기준으로 하는 absmax 양자화를  통해 8-bit로 양자화.

 

작은 분산은 훈련 안정성에 도움을 주기 때문에 활성화 양자화 전 LayerNorm 적용.

 

BitLinear 연산 요약:

 

Model Training

양자화는 미분 불가능하지만 Straight-Through Estimator를 통해 모델을 훈련할 수 있다.

BitNet은 quantization aware training 모델이며, 훈련된 모델을 양자화하는 것은 불가능하다.

 

이 논문에서와 같이 gradient와 optimizer state는 고정밀도로 유지되고 forward process 시 즉시 이진화된다.

 

잠재 가중치에 대한 조금의 업데이트는 1-bit로 양자화되는 가중치에서 효과가 없다. 따라서 큰 학습률을 사용한다.