인공지능(AI)의 급속한 발전에 따라 대규모 언어 모델(LLM)은 자연어 처리(NLP)의 핵심으로 자리 잡았습니다. 이러한 모델은 언어 생성 및 이해에서 뛰어난 능력을 보여주며 기계 번역, 대화형 시스템, 텍스트 생성과 같은 애플리케이션에 필수적입니다. 그러나 이러한 모델의 크기가 계속 증가함에 따라 추론 효율성과 리소스 소비는 대규모 배포에 있어 여전히 중요한 병목 현상으로 남아 있습니다.
최근 몇 년 동안 연구자들은 LLM 추론의 효율성을 높이기 위해 다양한 최적화 기법을 제안했습니다. 이전 연구에서는 매우 큰 언어 모델(vLLM) 프레임워크를 기반으로 동적 KV-캐시 압축을 활용하여 추론 속도를 1.5배 향상시켜 LLM 성능 최적화를 위한 견고한 기반을 마련했습니다.
본 논문에서는 추측 디코딩과 저정밀 양자화라는 두 가지 추가 최적화 전략을 심층적으로 다룹니다. 이러한 접근 방식은 주류 하드웨어의 연산 능력을 극대화하고 추론 비용을 절감하며 속도를 향상시키는 것을 목표로 합니다. 이러한 기술을 적용함으로써 LLM 추론 효율성을 높이고 확장 가능한 AI 배포의 과제를 해결하기 위한 새로운 관점과 실용적인 솔루션을 제공하고자 합니다.
추측 디코딩
기술 원리
추측 디코딩은 더 작은 모델을 도입하여 여러 후보 토큰을 생성한 다음, 더 큰 모델이 이를 검증함으로써 병렬 디코딩을 가능하게 하여 속도를 향상시키는 기법입니다. 이 접근 방식의 실현 가능성은 두 가지 주요 요인에 기반합니다.
메모리 병목
최신 GPU 하드웨어에서 메모리 액세스 대역폭은 추론에 필요한 연산 속도보다 느린 경우가 많아 프로세스가 크게 메모리 바운드 상태가 됩니다. 대규모 언어 모델의 추론 단계에서 GPU 메모리 트래픽은 주로 모델 크기에 의해 결정되며, GPU는 종종 여분의 연산 용량을 보유합니다. 이러한 여분을 활용하여 소형 모델로 병렬 추론을 수행하면 전체 효율성을 높일 수 있습니다.
소형 모델 예측 정확도
현재 주류 언어 생성 모델은 일반적으로 Transformer 아키텍처를 기반으로 하는 자기회귀 모델입니다. 소형 모델은 일반적인 언어 패턴(예: 관용구 조합 또는 표준 표현)을 예측하는 데 높은 정확도를 보입니다. 소형 모델이 다음 토큰을 성공적으로 예측하면 대형 모델이 이 결과를 직접 재사용할 수 있어 계산 비용이 크게 절감됩니다.
구현 방법
추측 디코딩 방법은 주로 다음 단계로 구성됩니다.
-
다중 라운드 후보 생성
- 특별히 훈련된 소형 모델을 사용하여 빠른 추론을 수행하고, 각 위치에 대해 여러 개의 고품질 후보 토큰을 생성합니다.
- 동적 확률 임계값 조정 메커니즘을 혁신적으로 도입하여 후보 수를 적응적으로 제어합니다.
- 컨텍스트 인식 캐싱 메커니즘을 도입하여 연속 텍스트 생성 중 소형 모델의 예측 정확도를 향상시킵니다.
-
효율적인 검증 전략
- 배치 검증 메커니즘을 설계하여 여러 후보 토큰을 그룹화하고 대형 모델에 단일 점수화 프로세스로 전송합니다.
- 신뢰도 높은 일치 항목이 발견되면 신속하게 결과를 반환하는 조기 종료 전략을 구현합니다.
- 검증 결과의 비동기 처리를 활성화하여 GPU 유휴 대기 시간을 줄입니다.
-
지능형 스케줄링 시스템
- 소형 모델 예측과 대형 모델 검증 간의 계산 리소스 할당을 동적으로 균형 조정합니다.
- 과거 통계를 기반으로 한 적응형 예측을 사용하여 후보 토큰 생성 전략을 최적화합니다.
- 세분화된 작업 분할 및 스케줄링을 구현하여 하드웨어 활용도를 극대화합니다.

그림 1. 동적 드래프트 길이를 사용한 추측 디코딩
실험 결과
업계 최고의 vLLM 추론 프레임워크를 기반으로 심층적인 맞춤화 및 개발을 수행하여 상당한 성능 향상을 달성했습니다. H20 GPU에서 LLaMA-3.1-70B-Instruct 모델을 사용하여 다양한 컨텍스트 길이 시나리오를 테스트했습니다. 또한 추측 디코딩이 없는 vLLM과의 성능을 비교하여 다양한 배치 크기에서의 처리량을 중점적으로 살펴보았으며, 실험 결과는 그림 2와 같습니다.
-
성능 향상
- 출력 품질을 유지하면서 전체 추론 속도가 1.4배 향상되었습니다.
- 기존 vLLM 기능과 완벽하게 호환되어 현재 시스템에 원활하게 통합될 수 있습니다.
- 다양한 규모의 언어 모델을 지원하며, 특히 대규모 모델에서 더욱 두드러진 개선 효과를 보입니다.

그림 2. 추측 디코딩 속도 향상 비율 다이어그램
-
기술적 장점
- 확률 기반 동적 샘플링 전략으로 효율적인 토큰 드래프팅 및 검증
- 안정적인 지능형 스케줄링 메커니즘으로 일관된 가속 효과 보장
- 낮은 리소스 오버헤드로 비용 효율적
저정밀 양자화
기술 원리
- 양자화 개요
양자화는 모델 가중치와 활성화 값을 높은 비트 폭 표현에서 낮은 비트 폭 표현으로 변환하여 대규모 언어 모델(LLM)의 계산 및 메모리 비용을 줄이는 널리 채택된 기법입니다. 구체적으로, 많은 방법은 FP16 텐서를 저비트 정수 텐서로 양자화하는 것을 포함하며, 아래와 같습니다.

- 학습 후 양자화(PTQ)
PTQ는 재학습 없이 사전 훈련된 모델을 양자화하므로 높은 재학습 비용을 피할 수 있습니다. 그러나 기존 양자화 방법을 LLM에 적용하면 고유한 문제가 발생합니다.
-
- LLM은 더 작은 모델에 비해 가중치와 활성화 값에서 아웃라이어(이상치)의 빈도가 높고 분포 범위가 더 넓습니다.
- 따라서 LLM의 효과적인 양자화는 효율성을 유지하면서 정밀도 손실을 최소화하는 특수 최적화 기법이 필요합니다.
구현 방법
- 아웃라이어 최적화
대규모 언어 모델의 가중치 및 활성화 값에 존재하는 아웃라이어는 양자화 과정에서 중요한 문제를 제기합니다. 전통적인 방법은 일반적으로 클리핑이나 단순 스케일링을 통해 아웃라이어를 처리하지만, 이는 더 작은 모델에는 잘 작동할 수 있지만 LLM의 성능에 종종 큰 영향을 미칩니다.
우리의 접근 방식은 상세한 분석 및 최적화 전략을 통해 아웃라이어 처리 과정을 개선합니다. 이는 아웃라이어 계산을 개선할 뿐만 아니라 관련 데이터 구조를 최적화하여 모델이 정밀도 손실을 최소화하면서 효율적인 연산 능력을 유지하도록 보장합니다. 예를 들어, 보다 유연한 동적 범위 분포 전략을 채택하여 아웃라이어를 계층적으로 처리함으로써 모델의 특성을 더 정확하게 포착합니다.
- 개선된 연산자 및 레이어 융합
양자화된 데이터 구조를 더 효율적으로 처리할 수 있는 일련의 개선된 연산자를 설계했습니다. 예를 들어, 레이어 융합 기법을 통해 순방향 계산 중 여러 연속 연산자를 단일 연산자로 결합하여 계산 오버헤드와 중간 데이터 전송을 줄입니다.
또한 활성화 함수와 결합된 행렬 곱셈과 같은 일반적인 연산에 대해 효율적인 저비트 연산자를 설계하여 모델 추론을 가속화합니다. 이러한 개선은 하드웨어 수준에서 대역폭 요구 사항을 크게 줄이고 전체 계산 효율성을 더욱 향상시킵니다.
- 고유한 FP8 양자화 방식
업계의 주류 양자화 방법은 일반적으로 FP16에서 INT8로의 변환을 사용하지만, 이 방식은 더 낮은 정밀도가 필요한 시나리오에는 적합하지 않을 수 있습니다. 우리의 FP8 양자화 방식은 적응형 스케일링 팩터를 도입하여 모델의 수치 표현력을 유지하면서 비트 폭을 더욱 줄입니다. 구현에서는 FP8의 지수와 가수 비율을 조정하여 LLM의 분포 특성에 더 잘 적응시킴으로써 매우 낮은 비트 폭에서도 모델이 정확성을 유지하도록 보장합니다.
- KVCache 양자화
대규모 추론을 지원하는 시나리오에서 KVCache의 저장 및 액세스 효율성은 매우 중요합니다. 전통적인 방법은 KVCache 저장 구조의 특정 특성에 대한 최적화 없이 표준 양자화 기법을 적용하는 경우가 많습니다.
우리는 쿼리와 키-값 쌍에 특정 양자화 전략을 적용하여 계산 리소스 요구 사항을 최소화하는 특수 KVCache 양자화 기법을 제안합니다. 구체적으로, KVCache의 동적 업데이트와 저장 밀도를 최적화하고, 조각별 양자화 및 희소 행렬 저장 방법을 결합하여 추론 과정에서 캐시 활용도를 크게 향상시킵니다.
- 추론 프로세스 최적화
FP16 모델 가중치는 FP8 형식으로 양자화되어 추론에 사용됩니다. 입력 토큰은 임베딩 레이어와 Transformer 모듈(어텐션 메커니즘 및 피드포워드 네트워크 포함)을 통과합니다.
FP8 TensorCore와 최적화된 KVCache를 사용하여 시스템은 키-값 쌍을 효율적으로 저장 및 업데이트합니다.
선형 변환 및 Softmax 레이어는 출력 확률 분포를 생성하여 최종 토큰 출력을 만듭니다.
이 접근 방식은 FP8 TensorCore의 계산 효율성을 활용하여 더 낮은 계산 비용으로 더 빠른 추론을 제공합니다. 그림 3에서 원래 FP16 형식의 모델 가중치는 FP8로 양자화되어 추론에 사용되므로 데이터 액세스 오버헤드가 크게 줄어들고 속도가 향상됩니다. LLM 추론 과정에서 QKV 프로젝션, 플래시 어텐션, 피드포워드 레이어 등의 연산은 FP8 형식으로 행렬 곱셈을 수행합니다. 이러한 계산은 Tensor Cores를 사용하여 가속화되어 추론 속도가 크게 향상됩니다. 정밀도 손실을 완화하기 위해 소량의 추가 데이터가 PTQ에 사용되어 모델의 추론 정확도가 그대로 유지되도록 합니다. 긴 텍스트 시나리오에서 KV 데이터 액세스와 관련된 오버헤드는 추론 속도를 저하시킬 수 있습니다. 이를 해결하기 위해 KV 데이터도 FP8로 양자화하여 모델의 추론 성능을 추가로 최적화합니다.

그림 3. FP8 정밀 양자화 파이프라인 개요
실험 결과
- 그림 4는 Llama3-8B-BF16에 저정밀 양자화를 적용한 후의 속도 향상 비율을 다양한 입출력 길이(10000-1000, 5000-500, 2000-200)와 배치 크기(Batch Size)별로 보여줍니다. 입출력 길이가 길수록 속도 향상 효과가 더 두드러지며, 특히 대규모 배치 추론에서 그러합니다. 단일 4090 GPU에서 Llama3-8B-FP8-KV8을 실행할 때 ttft(time-to-first-token)가 2초 미만으로 제한된 경우 배치 크기는 약 4이고 속도 향상 비율은 1.4배입니다.

그림 4. FP8 양자화에 의한 속도 향상 비율
- 우리의 방법은 더 큰 입출력 길이를 처리할 때 아웃라이어의 영향을 크게 줄이고, 레이어 융합과 같은 최적화를 통해 계산 및 전송 효율성을 향상시킵니다. 기존 업계 PTQ 방법은 대규모 모델에서 큰 입출력 길이를 처리하는 데 어려움을 겪는 경우가 많지만, 당사의 솔루션은 이 문제를 해결하기 위해 특별히 설계되어 안정적인 모델 성능을 보장합니다.
- 실험에 따르면 4090 GPU에서 당사 방법은 긴 입출력 길이와 중간 배치 크기를 처리할 때 우수한 속도 향상을 보여주며, 추론 대기 시간(ttft)을 2초 미만으로 유지하여 실시간 추론 요구 사항을 충족합니다.
품질 평가
lm-evaluation-harness 도구를 사용하여 mmlu_pro(5-shot) 테스트 세트에서 다양한 모델 API(예: openrouter.ai)를 테스트하려면 도구의 기본 설정으로 추론을 수행하십시오. 결과는 그림 5와 같습니다.

그림 5. Meta-Liama-3.1-8B-Instruct-FP8과 Meta-Liama-3.1-8B-Instruct 간의 정확 일치율 비교
결론
본 논문은 대규모 언어 모델(LLM) 추론 효율성을 향상시키기 위한 상호 보완적인 기술로서 추측 디코딩과 저정밀 양자화를 제시합니다. 추측 디코딩은 소형 모델을 사용하여 후보 토큰을 생성한 다음 대형 모델이 병렬로 검증함으로써 추론 프로세스를 가속화하며, 1.4배의 속도 향상을 제공합니다.
반면, 저정밀 양자화는 모델 가중치를 더 낮은 비트 폭 표현으로 변환하여 계산 및 메모리 오버헤드를 완화하면서도 모델 성능을 유지합니다. 종합적으로, 이러한 방법론은 동적 KV-캐시 압축과 같은 기존 기술을 보완하여 고효율 추론을 달성하기 위한 새로운 통찰력과 실용적인 솔루션을 제공합니다.
Originally published at Novita AI
Novita AI 는 개발자가 간단한 API를 사용하여 AI 모델을 쉽게 배포할 수 있도록 하고, 구축 및 확장을 위한 저렴하고 안정적인 GPU 클라우드를 제공하는 AI 클라우드 플랫폼입니다.
추천 자료
