티스토리 뷰

반응형

https://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을 돌리는 거 자체로 힘들기 떄문에 이런 양자화 연구들이 많아진다.

 

인사이트

과연 소수점 연산을 해야할 필요가 있을까?

이것에 대해서 실험해볼 여지가 생겼다.

반응형