티스토리 뷰
[논문 세미나] The Era of 1-bit LLMs: All large Language Models are in 1.58 Bits
sikaro 2024. 5. 14. 22:52https://arxiv.org/abs/2402.17764
LLM 양자화에 대한 내용
양자화 - 신경망의 가중치와 활성함수의 출력값을 더 작은 bit로 변환한다.
FP32를 quantization -> int8로 변환
양자 LLM의 시대
gpt-3 : 1750억개의 파라미터
하이퍼 클로바 : 2000억개
엑사원 3000억개
에너지 소비 및 경제적 영향에 대한 우려로 양자화를 사용한다.
개인이 finetuning하기에는 한계가 있다.
현재는 16bit llm을 4bit quantization 하는 게 트렌드 (LoRA, QLoRA)
peft 방식
BitNet b1.58
파라미터가 삼진법(-1,0,1)을 사용하여 계산 비용을 줄이고 모델의 효율성을 향상시킨다.
더 낮은 비용으로 동일하거나 더 나은 성능을 달성할 수 있음을 의미한다.
거의 모든 행렬 곱셈 연산에서 곱연산을 필요로 하지 않으므로, 계산을 크게 단순화하고 최적화할 수 있는 새로운 계산 패러다임을 제공
파레토 개선
파레토 개선 - 한 상태에서 다른 상태로 변화할 때, 적어도 한명은 상태가 개선되고 나머지는 악화되지 않는 경우.
나빠지지 않으면서 더 나아진다.
원래 가중치를 그냥 +,0,-로 만들어버렸다.
performance는 유지하면서 cost가 낮아졌다.
연산 방법
기존 fp16 연산시 부동소수점 곱셈을 하지만,
1.58bit 계싼 시 정수 덧셈만 한다
nn.linear를 BitLinear로 대체하는 Transformer인 ButNet Architecture에 기반한다.
1.58 bit 가중치와 8bit activation으로 훈련한다.
원래 1bit bitNet 가중치를 1-bit로 양자화 하는 것에서 0을 추가하여 1.58bit로 변경했다.
기존 1bit의 이점을 유지하며, 0을 추가해 연산 성능을 향상시켰다.
Quantization Fuction
절대 양자화 함수 = max(a,min(b,round))를 이용해서 가중치를 -1,0,1중 가까운 곳으로 만든다.
Llama와 비교했을 때 , 메모리는 3배, latency는 2.5배 더 낮다.
그런데 성능은 오히려 더 좋다.
다만 pretraining부터 사용해야 하는 방법이다.
모델이 매우 빨라지고, 에너지 절감도 매우 많다.
그런데 성능은 더 잘나온다.
Discussion and future work
Mixture-of-Experts(MoE) : LLM의 cost를 효과적으로 다루는 방법
MoE는 FLOPs(초당 부동 소수점 연산의 수)를 줄이는 대신, 칩 간의 커뮤니케이션 때문에 사용하기 어렵다.
하지만 b1.58로 해결할 수 있다.
메모리가 적고, 네트워크간 활성화 전송이 overhead(연산의 추가적인 부담)을 크게 줄여준다.
그리고 edge와 mobile device에서의 LLM 사용에 크게 기여한다.
New Hardware for 1-bit
LLM 1bit 특화 하드웨어도 기대할 수 있다.
LPU 같은 것들
온디바이스 AI는 LLM을 돌리는 거 자체로 힘들기 떄문에 이런 양자화 연구들이 많아진다.
인사이트
과연 소수점 연산을 해야할 필요가 있을까?
이것에 대해서 실험해볼 여지가 생겼다.