quantization

2 개의 포스트

Unweight: 품질 저하 없이 LLM을 22% 압축한 방법 (새 탭에서 열림)

Cloudflare는 LLM의 가중치를 15~22% 압축하면서도 출력 결과의 정확도를 비트 단위로 완벽하게 보존하는 무손실 압축 시스템인 'Unweight'를 공개했습니다. 이 시스템은 NVIDIA H100 GPU의 연산 능력에 비해 현저히 느린 메모리 대역폭 병목 현상을 해결하기 위해 설계되었으며, 추론 시 가중치를 고속 온칩 메모리(Shared Memory)에서 직접 해제하여 처리 효율을 극대화합니다. 결과적으로 Llama-3.1-8B 모델 기준 약 3GB의 VRAM을 절약함으로써, 품질 저하 없이 더 적은 자원으로 더 빠른 추론 서비스를 제공할 수 있게 되었습니다. ### 메모리 대역폭 병목 현상과 무손실 압축의 필요성 * **컴퓨팅-메모리 불균형:** NVIDIA H100의 텐서 코어는 메모리가 데이터를 전달하는 속도보다 약 600배 빠르게 데이터를 처리할 수 있어, 추론 속도의 핵심은 '메모리 버스를 통과하는 데이터양'을 줄이는 데 있습니다. * **양자화의 한계:** 4비트나 8비트 정수로 변환하는 기존 양자화 방식은 손실 압축(Lossy)이므로 모델의 응답 품질을 예측할 수 없게 만듭니다. * **무손실 아키텍처:** Unweight는 비트 단위로 동일한(Bit-exact) 출력을 보장하면서도 가중치 크기를 줄여, 서비스 품질을 타협하지 않고 하드웨어 효율성만 높였습니다. ### BF16 지수(Exponent) 데이터의 중복성 활용 * **데이터 구조 분석:** BF16 가중치는 부호(1비트), 지수(8비트), 가수(7비트)로 구성되는데, 이 중 부호와 가수는 무작위성이 강해 압축이 어렵지만 지수 부분은 매우 높은 중복성을 보입니다. * **지수 분포의 편향성:** 일반적인 LLM 레이어에서 가장 빈번하게 등장하는 상위 16개의 지수 값이 전체 가중치의 99% 이상을 차지한다는 점에 착안했습니다. * **허프만 코딩(Huffman Coding) 적용:** 정보 이론에 따라 빈도가 높은 지수에는 짧은 코드를, 낮은 지수에는 긴 코드를 할당하는 허프만 코딩을 통해 지수 스트림에서 약 30%의 압축률을 달성했습니다. ### GPU 온칩 메모리를 활용한 효율적 압축 해제 * **SMEM 직접 해제:** 압축된 가중치를 느린 메인 메모리(HBM)로 다시 돌려보내지 않고, 텐서 코어 바로 옆의 빠른 공유 메모리(SMEM)에서 즉시 해제하여 연산에 투입함으로써 추가적인 지연 시간을 방지합니다. * **선택적 적용:** 모델 파라미터의 약 2/3를 차지하며 메모리 트래픽의 주원인인 MLP(Multi-Layer Perceptron) 가중치 행렬에 집중적으로 적용하여 효율을 높였습니다. * **행 단위(Row-based) 최적화:** 64개 가중치로 구성된 한 행에 희귀 지수가 하나라도 포함되면 해당 행 전체를 무압축 상태로 저장하여, 커널 실행 시 복잡한 분기 처리를 줄이고 처리 속도를 최적화했습니다. ### 실용적인 결론 및 권장사항 Unweight는 모델의 정확도를 1%도 포기할 수 없으면서 VRAM 부족 문제를 해결해야 하는 고성능 추론 환경에 최적화된 솔루션입니다. 특히 NVIDIA Hopper 아키텍처(H100 등)를 사용하는 환경에서 Llama-3.1-8B와 같은 모델을 운용할 때 약 3GB의 메모리 여유 공간을 확보할 수 있어, 더 큰 배치 사이즈를 운용하거나 더 많은 모델을 하나의 GPU에 올리는 데 유용합니다. Cloudflare는 이 기술의 확산을 위해 기술 논문과 함께 GPU 커널을 오픈소스로 공개하였습니다.

저비트 추론이 효율 (새 탭에서 열림)

AI 모델의 규모가 조 단위 파라미터로 급격히 팽창함에 따라 메모리, 연산 자원, 에너지 수요가 폭증하고 있습니다. 저정밀도(Low-bit) 추론은 모델의 수치 정밀도를 낮춰 메모리 점유율을 줄이고 연산 속도를 획기적으로 높이는 핵심 기술로, 대규모 모델을 상용 환경에서 경제적으로 구동하기 위한 필수 요소입니다. 하드웨어의 가속 기능을 최대로 활용하는 양자화 기법을 통해 기업은 사용자에게 더 빠르고 효율적인 AI 서비스를 제공할 수 있습니다. ### 현대 모델 아키텍처와 연산 비용의 상관관계 * **어텐션 기반 구조의 연산 부하**: Dropbox Dash와 같은 서비스에서 쓰이는 모델은 텍스트, 이미지, 비디오를 처리하기 위해 대량의 행렬 곱셈을 수행하며, 특히 선형 레이어(MLP, 임베딩)와 어텐션 메커니즘에서 대부분의 연산 자원이 소모됩니다. * **하드웨어 가속기 활용**: NVIDIA의 Tensor Core나 AMD의 Matrix Core는 이러한 행렬 연산을 전용 지시어(MMA)로 처리하여 일반 CUDA 코어보다 훨씬 높은 성능을 냅니다. * **정밀도에 따른 성능 스케일링**: 하드웨어 특성상 수치 정밀도를 절반으로 줄이면 초당 부동 소수점 연산량(FLOPS)이 약 두 배로 증가하여 처리량(Throughput)이 직접적으로 향상됩니다. ### 양자화 기술의 작동 원리와 성능 이점 * **메모리 및 에너지 효율화**: 16비트 데이터를 8비트나 4비트로 변환(양자화)하면 메모리 사용량이 절반 이하로 줄어들며, 데이터 이동과 연산에 필요한 전력 소비도 크게 절감됩니다. * **비트패킹(Bitpacking)**: 4비트와 같은 저비트 형식은 하드웨어에서 기본 데이터 타입으로 지원하지 않는 경우가 많아, 여러 개의 저비트 요소를 uint8이나 int32 같은 표준 타입으로 묶어서 처리하는 과정이 필요합니다. * **처리량 최적화**: 정밀도를 낮추면 동일한 시간 내에 더 많은 행렬 연산이 가능해지므로, 대규모 사용자 요청을 처리해야 하는 서비스 환경에서 지연 시간을 단축하고 비용을 절감할 수 있습니다. ### 양자화 포맷의 유형과 하드웨어 제약 * **이진(Binary) 및 삼진(Ternary) 가중치의 한계**: 이론적으로는 극도로 높은 에너지 효율을 제공하지만, 현재의 GPU 아키텍처(Tensor Core 등)와 잘 맞지 않아 실제 산업 현장에서는 채택률이 낮고 모델 품질 유지도 어렵습니다. * **MXFP(Microscaling Format)의 등장**: 기존 양자화가 소프트웨어 기반의 역양자화에 의존했다면, 차세대 표준인 MXFP는 하드웨어 레벨에서 직접 저비트 데이터를 관리하고 스케일링하여 하드웨어 가속 효율을 극대화합니다. * **워크로드별 맞춤 최적화**: 서비스의 특성에 따라 지연 시간(Latency)이 중요한지, 혹은 대량 처리(Throughput)가 중요한지에 따라 적합한 양자화 포맷과 하드웨어 세대가 달라집니다. 양자화는 단순히 모델 크기를 줄이는 것을 넘어, 하드웨어 성능을 한계까지 끌어올리는 전략적 도구입니다. 최신 GPU의 FP4 지원이나 MXFP 같은 표준 포맷을 적극 활용하면, 모델의 정확도를 유지하면서도 운영 비용을 획기적으로 낮출 수 있습니다. 따라서 모델 배포 시에는 타겟 하드웨어가 지원하는 가속 비트 수와 양자화 형식을 사전에 면밀히 검토하는 것이 권장됩니다.