EVA: 효율적인 벡터 양자화 (Vector Quantization) 아키텍처를 통한 LLM 디코딩 가속화
요약
LLM 디코딩의 메모리 병목 현상을 해결하기 위해 벡터 양자화(VQ)를 활용한 새로운 아키텍처 EVA를 제안합니다. EVA는 입력-코드북 간 직접 내적을 통해 디코딩을 GEMM 연산으로 변환하고 메모리 충돌을 제거하여 성능을 극대화합니다.
핵심 포인트
- 디코딩 과정을 GEMV에서 GEMM 연산으로 변환하여 효율성 증대
- 구조화된 조회를 통해 메모리 뱅크 충돌 문제 해결
- 기존 SOTA 대비 최대 11.17배 속도 향상 및 7.17배 에너지 효율 달성
- 하드웨어-소프트웨어 공동 최적화 아키텍처 설계
대규모 언어 모델 (LLMs)은 다양한 영역에서 인상적인 성능을 달성했지만, 자기회귀 디코딩 (autoregressive decoding) 단계에서는 여전히 비효율적입니다. 연산 제한적 (compute-bound) GEMM 연산을 사용하는 프리필 (prefill) 단계와 달리, 디코딩은 메모리 제한적 (memory-bound)이며 현대적 가속기를 충분히 활용하지 못하는 일련의 작은 GEMV 유사 연산을 실행합니다. 가중치 전용 벡터 양자화 (Weight-only vector quantization, VQ)는 모델 가중치를 공유된 코드북 (codebook)으로 클러스터링하고 원래의 가중치 행렬을 저정밀도 인덱스로 대체하여 2비트 수준의 가중치 압축을 가능하게 하는 효과적인 압축 기술로 부상했습니다. 이 방식은 모델 크기와 메모리 대역폭을 실질적으로 줄여주지만, GEMV 연산의 낮은 활용도와 코드북 조회 (lookup) 중 발생하는 빈번한 메모리 충돌이라는 두 가지 결정적인 비효율성을 여전히 겪고 있습니다. 본 논문은 LLM 디코딩의 연산 및 메모리 병목 현상을 모두 해결하는 효율적인 벡터 양자화 기반 아키텍처인 EVA를 제시합니다. EVA는 입력-코드북 연산과 충돌 없는 (conflict-free) 메모리 액세스를 결합하는 단순하면서도 효과적인 통찰력을 바탕으로 구축되었습니다. 인덱스로부터 양자화된 가중치를 재구성하는 대신, EVA는 입력 벡터와 가중치 코드북 간의 내적 (dot product)을 직접 수행하여 LLM 디코딩을 GEMV에서 GEMM 연산으로 변환합니다. 그런 다음 중간 출력 버퍼로부터 구조화된 조회 (structured lookups)를 수행하여 메모리 뱅크 충돌 (memory bank conflicts)을 제거합니다. 우리는 기존의 프리필 실행과 호환성을 유지하면서도 LLM 디코딩에 특화된 하드웨어-소프트웨어 공동 최적화 (hardware-software co-optimized) 아키텍처를 추가로 설계했습니다. 평가 결과, EVA는 벡터 양자화 이후의 산술 정밀도를 유지하면서도 기존의 최첨단 (SOTA) 조회 기반 아키텍처와 비교하여 최대 11.17배의 속도 향상과 7.17배 더 높은 에너지 효율을 달성함을 보여주었습니다. 우리의 코드는 https://github.com/dbw6/Eva.git 에서 확인할 수 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.AR의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기