#Quantization
#QLoRA
#QAT
| 양자화(Quantization)란 무엇이고 왜 중요할까?
최근 대형 언어 모델(LLM) 시장에서 양자화(Quantization)가 매우 중요한 기술로 자리 잡고 있습니다. 양자화는 모델의 성능을 유지하면서도 메모리와 연산 리소스를 절감할 수 있는 방법인데요. 간단히 표현하면 LLM 내의 가중치와 활성화를 고정밀 데이터 표현에서 저정밀 데이터 표현으로 변환하는 모델 압축 기술입니다. 즉, 더 많은 정보를 보유할 수 있는 데이터 유형에서 더 적은 정보를 보유할 수 있는 데이터 유형으로 변환하는 것입니다.
LLM은 지능과 복잡성이 증가함에 따라 매개변수 수, 즉 가중치와 활성화, 데이터에서 학습하고 처리하는 용량도 증가했습니다. 예를 들어, GPT-3.5는 약 1,750억 개의 매개변수를 가지고 있는 반면, 현재 최첨단 GPT-4는 1조 개가 넘는 매개 변수를 가지고 있습니다. 그러나 LLM이 클수록 더 많은 메모리가 필요한데요. 다르게 말하면, 필수 GPU 수를 갖춘 고사양 하드웨어에서만 LLM을 실행할 수 있다는 의미입니다. 이는 배포 옵션을 제한하고 결과적으로 LLM 기반 솔루션을 채택할 수 있는지에 영향을 미치게 되는데요. 이에 모델 크기 문제를 해결하기 위해 다양한 솔루션이 고안되었으며, 그 중 가장 두드러진 것이 양자화입니다.
모델 | 원본 크기(FP16) | 양자화된 크기(INT4) |
라마2-7B | 13.5GB | 3.9GB (3.9GB) |
라마2-13B | 26.1GB (26.1GB) | 7.3GB (7.3GB) |
라마2-70B | 138기가바이트 | 40.7GB |
특히, LLM시장이 점점 온디바이스(On-Device) AI 기술에 주목하면서 양자화 기술이 더욱 중요해지고 있습니다. 과거에는 대형 모델들이 주로 클라우드 서버에서만 동작할 수 있었지만, 이제는 모바일 디바이스나 소형 장비에서도 높은 성능의 AI를 구동해야 하는 필요성이 커지면서 양자화가 더욱 주목받고 있습니다.
양자화는 단순히 모델의 크기를 줄이는 것에 그치지 않고, 이를 통해 연산 속도를 높이며 전력 소비를 줄입니다. 특히, 대규모 자연어 처리 모델의 경우 학습 비용이 매우 크기 때문에 양자화는 비용 효율성을 크게 높이는 중요한 기술입니다. 이에 최근 기업들은 자원을 절감하면서도 더 빠르고 정확한 결과를 제공할 수 있는 LLM 양자화 기술을 경쟁적으로 개발하고 있습니다.
*글로벌 빅테크 기업들의 Quantization 활용 예시
| 양자화는 어떻게 모델을 축소하나요?
양자화는 모델이 사용하는 수치 표현의 정밀도를 낮추어 메모리 사용량을 줄이는 동시에 연산 속도를 개선하는 방법입니다. 특히, FP32(32-bit 부동 소수점) 대신 INT8(8-bit 정수) 또는 4-bit 등으로 모델의 가중치와 연산을 표현함으로써 성능 저하 없이 메모리와 연산 자원을 절감할 수 있습니다. 이는 모델 크기가 매우 큰 LLM에게 필수적인 최적화 방법인데요.이를 통해 모델을 더 저렴한 하드웨어 및/또는 더 빠른 속도 로 실행할 수 있습니다. 가중치의 정밀도를 줄임으로써 LLM의 전반적인 품질도 어느 정도 영향을 받을 수 있습니다.
연구에 따르면 이러한 영향은 사용된 기술에 따라 다르며, 더 큰 모델은 정밀도 변화로 인한 영향이 적습니다. 더 큰 모델(약 70B 이상)은 4비트로 변환하더라도 용량을 유지할 수 있으며, NF4와 같은 일부 기술은 성능에 영향을 미치지 않는 것으로 나타났습니다 . 따라서 이러한 더 큰 모델 의 경우 4비트가 성능과 크기/속도 사이에서 가장 좋은 절충안인 반면, 더 작은 모델의 경우 6비트 또는 8비트가 더 나을 수 있습니다.
| 양자화의 주요 기술들
양자화에는 다양한 방법이 있지만, 대표적으로 사후 양자화(PTQ), 학습 중 양자화(QAT), 그리고 최근 주목받는 QLoRA(Quantized Low-Rank Adaptation)가 있습니다.
사후 양자화(PTQ, Post-Training Quantization): PTQ는 사전 훈련된 모델을 사용한 후 양자화를 적용하는 방식으로, 추가 학습이 필요하지 않아 빠르게 적용할 수 있습니다. PTQ는 주로 메모리 사용량을 줄이고 연산 속도를 높이는 데 사용되며, 모델의 정확도 손실을 최소화하면서 리소스를 줄일 수 있는 방법입니다.
예를 들어, 32-bit로 표현된 가중치를 8-bit로 변환하여 모델 크기를 줄이는 방식이 사용됩니다. 하지만, PTQ는 특히 정밀도가 중요한 작업에서 정확도 손실이 발생할 수 있다는 단점이 있습니다.
학습 중 양자화(QAT, Quantization-Aware Training): QAT는 훈련 과정에서부터 양자화를 적용하는 방식으로, 낮은 정밀도로 모델을 학습 시키면서도 높은 정확도를 유지할 수 있는 방법입니다. 이 방법은 훈련 중에 양자화를 고려하여 모델이 적응하도록 하기 때문에 성능 손실이 적지만, PTQ에 비해 더 많은 계산 자원이 필요합니다. QAT는 주로 매우 높은 성능이 요구되는 응용 프로그램에서 사용되며, 정확도와 리소스 절감을 균형 있게 달성할 수 있는 기술입니다.
QLoRA(Quantized Low-Rank Adaptation): 최근에 주목받고 있는 QLoRA는 양자화된 가중치로 대형 모델을 적은 메모리로 미세 조정(fine-tuning)하는 기술입니다. 이는 주로 매우 큰 언어 모델을 적은 자원으로 개인화하거나 특정 작업에 맞게 조정할 때 사용됩니다.
QLoRA는 특히 대형 모델의 성능을 유지하면서도 메모리 요구 사항을 크게 줄일 수 있는 것이 강점입니다. QLoRA는 INT4(4-bit) 양자화를 사용하며, 이를 통해 모델의 메모리 사용량을 최소화하면서도 높은 정확도를 유지할 수 있습니다. 이 방법은 모델이 매우 큰 상황에서도 학습 비용을 낮출 수 있어 많은 연구와 개발자들에게 주목받고 있습니다
| 양자화의 장점과 단점
양자화는 LLM의 성능을 최적화하는 데 필수적인 기술로, 특히 리소스가 제한된 환경에서 모델을 효과적으로 운영하는 데 도움이 됩니다. 주요 장점으로는 메모리 사용량 감소, 연산 속도 향상, 그리고 전력 소비 절감 등이 있습니다. 이를 통해 대형 모델도 모바일 장치나 엣지 디바이스에서 효율적으로 사용할 수 있습니다.
하지만 양자화에는 몇 가지 단점도 존재하는데요. 가장 큰 문제는 양자화 과정에서 발생할 수 있는 정확도 손실입니다. 특히, 아주 세밀한 작업에서는 32-bit 부동 소수점 연산을 대체하기 어려운 경우도 있습니다. 또한 QAT처럼 추가적인 연산 자원이 필요한 양자화 방식은 초기 비용이 높을 수 있습니다. 이러한 단점에도 불구하고, 양자화는 장기적인 관점에서 LLM의 성능을 극대화하는 중요한 기술입니다.
| 마무리하며
양자화는 우리가 LLM을 인식하고 활용하는 방식에 가히 혁명을 일으켰는데요. Llama 30B와 같은 거대한 모델을 일상적인 기기에 맞게 압축함으로써 본질적으로 인공 지능에 대한 접근성을 크게 높일 수 있었습니다. 이러한 발전으로 사용자는 크기에 대한 성능을 희생할 필요가 없으므로 성능이 비교적 떨어지는 하드웨어에서도 빠르고 효율적인 언어 처리가 가능해지며 LLM의 온디바이스 화에도 박차를 가하고있습니다.
양자화와 관련된 더 자세한 내용을 배우고, 실전에서 활용할 수 있는 기술까지 익히고 싶다면 GPU 최적화와 Fine-Tuning 기술로 자체 LLM 모델을 개발하여 Open-Ko LLM & Open LLM Leaderboard 최장기간 1위를 달성한 이승유님의 강의를 확인해보세요.
LLM 모델을 활용하여 AI 서비스를 개발하면서 발생하는 2가지 대표 문제상황인 모델 학습 시 Fine-Tuning에서 발생하는 메모리 리소스 제약, Inference를 할 때 발생하는 Latency 증가 문제를 해결해줄 수 있는 LLM Quantization 강의입니다.
기적의 GPU 최적화 기법, 그 2탄!
더 극한의 메모리 환경에서 모델 학습, 양자화, 배포하는 방법까지!
‘Quantization 진행시 성능 저하와 연산 속도의 균형을 찾는 핵심’
Open LLM Leaderboard 최장기간 1위, 이승유 엔지니어가 알려드려요.
✅Latency & Outliar 문제 해결
✅PTQ로 LLM Inference 효율 극대화
✅SFT & QLoRA를 활용한 프로젝트 실습까지!
➕ 24/11/15까지 구매한 수강생 대상 한정, LLM 모델 특별 웨비나 진행!
➕ 이승유 강사님께 직접 질의응답 가능한 수강생 전용 강의 커뮤니티 제공
RTX3090만으로도 NVIDIA A100 수준의 컴퓨팅 파워를 낼 수 있는 방법
이승유 강사님의 LLM Quantization 노하우를 지금 바로 확인하세요!
강의 바로가기▶https://bit.ly/4hfczmL
참고자료
Symbl.ai, A Guide to Quantization in LLMs
TensorOps, What are Quantized LLMs?