Q8-Chat: 인텔 Xeon CPU에서 효율적인 생성 AI
Hugging Face와 Intel은 8비트 양자화를 위해 SmoothQuant를 활용하면 대형 언어 모델(LLM)이 인텔 Xeon CPU에서 효율적으로 실행될 수 있으며, 모델 크기를 약 2배 줄이고 모델 품질을 손상시키지 않으면서 추론 지연 시간을 크게 낮출 수 있음을 입증했습니다.
SmoothQuant로 LLM 양자화 문제 극복
표준 양자화 기법은 LLM에서 종종 실패합니다. 이는 이러한 모델이 모든 레이어와 토큰에 걸쳐 특정 활성화 채널에서 큰 크기의 이상치를 보이기 때문입니다. 활성화를 토큰 단위로 양자화하면 이러한 이상치가 값이 잘리거나 낮은 크기의 활성화가 언더플로우되는 경우가 발생하며, 이는 모두 모델 정확도를 크게 저하시킵니다.
SmoothQuant는 가중치와 활성화에 공동 수학 변환을 적용하여 이 문제를 해결합니다. 이 과정은 가중치의 비율을 높여 활성화에서 이상치와 비이상치 값 사이의 비율을 감소시켜 Transformer 레이어를 “양자화 친화적”으로 만듭니다. 이를 통해 8비트 정수(INT8) 양자화를 가능하게 하여 복잡한 16비트 부동소수점(FP16/BF16) 연산을 더 빠른 정수 연산으로 대체합니다.
성능 및 정확도 벤치마크
Intel은 OPT(2.7B 및 6.7B), LLaMA(7B), Alpaca(7B), Vicuna(7B), BloomZ(7.1B), MPT-7B-chat 등 여러 LLM에 SmoothQuant-O3를 적용했습니다. 결과는 8비트 양자화가 모델 성능을 유지하거나 향상시킴을 보여줍니다:
- OPT 모델: 이 모델들은 SmoothQuant에 매우 적합한 후보로 확인되었습니다. 모델 크기가 약 2배 감소했으며, 대부분의 벤치마크에서 성능 향상이 나타났고, 일부에서는 약간의 패널티만 있었습니다.
- LLaMA 7B 및 BloomZ 7.1B: 이 모델들은 약 2배 압축되었으며, 작업의 약 절반에서 메트릭이 향상되었습니다. 단 하나의 작업만이 3% 이상 상대적인 성능 저하를 보였습니다.
하드웨어 구현 및 Q8-Chat
8비트 양자화와 4세대 인텔 Xeon(Sapphire Rapids) 하드웨어를 결합함으로써 CPU에서 효율적인 LLM 배포가 가능해졌습니다.
Q8-Chat은 Hugging Face Spaces에 호스팅된 데모로, 32코어 단일 소켓 인텔 Sapphire Rapids CPU에서 배치 크기 1로 실행되는 ChatGPT와 유사한 경험을 제공합니다. 이 설정은 CPU 플랫폼에서도 고품질 채팅 경험을 구현할 수 있음을 보여주며, 조직에 고성능 GPU나 복잡한 AI 가속기에만 의존하는 것보다 더 큰 IT 유연성과 비용 효율성을 제공합니다.
Hugging Face 생태계와의 통합
이러한 기술의 채택을 간소화하기 위해 Hugging Face는 Intel Neural Compressor를 통해 Optimum Intel 라이브러리에 이러한 양자화 방법을 통합하고 있습니다. 이 통합은 개발자가 최소한의 코드로 효율성 향상을 재현할 수 있도록 목표합니다.