AI Engineer 공간 "사부작 사부작"

LLM 추론 속도, 추측 디코딩으로 날개를 달다: 개념부터 작동 원리까지 본문

Theory/FoundationModel Engineering

LLM 추론 속도, 추측 디코딩으로 날개를 달다: 개념부터 작동 원리까지

ChoYongHo 2025. 6. 3. 20:14
728x90

추측 디코딩: 거대 언어 모델(LLM) 추론에 날개를 달아주는 기술

거대 언어 모델(LLM)은 인간과 유사한 텍스트를 이해하고 생성하는 능력으로 자연어 처리 분야에 혁명을 일으켰습니다. 하지만 LLM이 점점 더 정교해짐에 따라 계산적인 문제, 특히 추론 과정에서의 속도 저하라는 큰 장벽에 직면하게 되었습니다. LLM은 일반적으로 한 번에 하나의 토큰을 순차적으로 생성하는 자기회귀적(autoregressive) 디코딩 방식을 사용하는데, 이로 인해 상당한 추론 지연 시간이 발생합니다. 이러한 문제를 해결하기 위해 등장한 혁신적인 기법이 바로 추측 디코딩(Speculative Decoding)입니다. 추측 디코딩은 마치 숙련된 작가와 빠른 초고 작가가 협업하듯, 더 빠르고 효율적인 텍스트 생성을 목표로 합니다. 추측 디코딩에 대해서 자세하게 살펴보도록 하겠습니다.


기존 방식의 한계: 자기회귀 디코딩의 느린 걸음

추측 디코딩을 이해하기 전에, 기존 LLM의 표준적인 텍스트 생성 방식인 자기회귀 디코딩의 특징과 한계를 알아보겠습니다.

개념: 자기회귀 디코딩은 이전에 생성된 토큰들을 바탕으로 다음 토큰을 순차적으로 예측하고 생성하는 방식입니다. 마치 우리가 문장을 한 단어씩 신중하게 이어가며 글을 쓰는 것과 유사합니다. 모델은 현재까지 생성된 모든 입력과 출력 토큰을 고려하여 다음 토큰 하나를 만들어냅니다.

비유: 자기회귀 디코딩은 한 글자 한 글자 공들여 원고를 작성하는 소설가와 같습니다. 각 단어는 이전 단어와의 연결성을 고려하여 신중하게 선택되므로 문맥적으로 자연스러운 글이 완성됩니다. 하지만 이런 방식은 한 번에 한 글자씩만 쓸 수 있어 전체 원고를 완성하는 데 오랜 시간이 걸립니다.

문제점:
이러한 순차적 처리 방식은 특히 긴 텍스트를 생성할 때 다음과 같은 문제를 야기합니다.

  • 높은 토큰당 생성 시간(TPOT): LLM 추론 지연 시간은 첫 번째 토큰 생성 시간(TTFT)과 각 토큰 생성 사이의 시간(TPOT, 또는 토큰 간 지연 시간)으로 나눌 수 있습니다. 특히 TPOT는 전체 생성 속도에 큰 영향을 미치는데, 자기회귀 방식은 매번 다음 토큰 하나를 생성하기 위해 값비싼 전체 모델의 순방향 연산(forward pass)을 수행해야 하므로 TPOT가 길어집니다.
  • 병렬 처리의 어려움: 한 번에 하나의 토큰만 생성 가능하므로 GPU와 같은 병렬 연산 장치의 이점을 활용하기 어렵습니다.
  • 계산 복잡도 증가: 모델의 크기가 커지고 처리해야 할 문맥이 길어질수록 계산량은 더욱 증가하여 추론 속도는 느려집니다.

추측 디코딩의 작동 원리: 빠르고 정확한 두뇌의 협업

추측 디코딩은 이러한 자기회귀 디코딩의 느린 속도를 개선하기 위해 고안된 '초안 작성 후 검증(Draft-then-Verify)' 패러다임입니다. 핵심 아이디어는 두 개의 모델, 즉 작고 빠른 '초안(draft) 모델'과 크고 정확하지만 느린 '타겟(target) 모델'을 함께 사용하는 것입니다.

개념:

  • 초안 모델(Draft Model): 상대적으로 크기가 작고 연산 속도가 빠른 모델입니다. 다음 생성될 여러 개의 토큰 후보 시퀀스를 신속하게 예측하여 제안하는 역할을 합니다. 하지만 속도가 빠른 만큼 정확도는 타겟 모델보다 떨어질 수 있습니다.
  • 타겟 모델(Target Model): 크고 강력하며 정확한 예측 능력을 가진 원래의 LLM입니다. 초안 모델이 제안한 토큰들을 검증하고 최종 출력을 결정하는 역할을 합니다.

작동 단계:
추측 디코딩은 다음과 같은 단계로 진행됩니다.

  1. 초안 생성 (Drafting): 현재까지 생성된 시퀀스를 바탕으로, 작고 빠른 초안 모델이 앞으로 생성될 몇 개(예: K개)의 토큰으로 이루어진 후보 시퀀스를 빠르게 예측하여 제안합니다.
    • 예시: "오늘 날씨가 매우"라는 입력이 주어졌을 때, 초안 모델은 "좋고 화창합니다."라는 3개의 토큰 시퀀스를 빠르게 생성할 수 있습니다.
  2. 병렬 검증 (Verification): 크고 느린 타겟 모델은 초안 모델이 제안한 후보 토큰 시퀀스 전체를 입력으로 받아, 단 한 번의 순방향 패스로 병렬 처리하여 각 위치에서 자신이 예측했을 토큰과 초안 모델의 제안을 비교하며 검증합니다.
  3. 토큰 수락: 타겟 모델이 초안 모델의 제안 중 첫 번째부터 연속적으로 'k'개의 토큰까지는 자신의 예측과 일치한다고 판단하면, 이 'k'개의 토큰을 한꺼번에 최종 출력 시퀀스에 추가합니다.
    • 예시 (계속): 타겟 모델이 "좋고"까지는 초안 모델과 동일하게 예측했지만, "화창합니다" 대신 "맑습니다"를 예측했다면, "좋고"는 수락됩니다.
  4. 불일치 처리 및 수정: 만약 'k+1'번째 토큰에서 타겟 모델의 예측과 초안 모델의 제안이 달라지면, 앞에서 일치한 'k'개의 토큰까지만 수락합니다. 그 다음 토큰은 타겟 모델의 예측값을 사용하거나, 경우에 따라서는 특정 확률 분포에 따라 재샘플링 과정을 거쳐 새로운 토큰을 선택합니다. 이후 다시 초안 모델이 다음 후보 시퀀스를 생성하는 과정을 반복합니다.
    • 예시 (계속): "좋고"는 수락되고, 세 번째 토큰으로는 타겟 모델의 예측인 "맑습니다"가 선택될 수 있습니다. 결과적으로 "오늘 날씨가 매우 좋고 맑습니다."로 이어질 수 있으며, 타겟 모델의 한 번의 연산으로 여러 토큰(이 경우 "좋고", "맑습니다")이 확정된 셈입니다.

비유: 추측 디코딩은 경험이 풍부하고 꼼꼼한 편집장(타겟 모델)과 글솜씨는 약간 부족하지만 글 쓰는 속도가 매우 빠른 신입 기자(초안 모델)의 협업 과정과 유사합니다.

  • 신입 기자가 특정 주제에 대해 빠르게 여러 개의 기사 초안(후보 토큰 시퀀스)을 작성해오면(초안 생성), 편집장은 이 초안들을 한 번에 훑어보며(병렬 검증) 내용이 훌륭한 부분은 그대로 채택하고(토큰 수락), 수정이 필요한 부분은 직접 고치거나 방향을 제시하여(불일치 처리 및 수정) 최종 기사를 완성합니다. 신입 기자의 빠른 작업 덕분에 편집장은 모든 기사를 처음부터 작성할 필요 없이, 검토와 수정을 통해 더 짧은 시간에 많은 양의 고품질 기사를 발행할 수 있게 됩니다.

추측 디코딩의 효과: LLM 추론 속도에 부스터를 달다

추측 디코딩은 LLM 추론 과정에 다음과 같은 강력한 이점을 제공합니다.

  • 획기적인 속도 향상: 가장 큰 장점은 추론 속도의 현저한 개선입니다. 초안 모델이 타겟 모델의 예측과 유사한 토큰들을 성공적으로 제안한다면, 타겟 모델의 값비싼 순방향 연산 한 번으로 여러 개의 토큰을 동시에 확정할 수 있습니다. 이는 표준적인 자기회귀 디코딩 방식(타겟 모델이 매번 한 토큰씩만 생성)에 비해 전체 생성 시간을 크게 단축시키는 효과를 가져옵니다[사용자 제공 정보]. 연구에 따라 다르지만, 적게는 30% 이상, 많게는 2배에서 5배까지 속도 향상이 보고되기도 합니다.
  • 생성 품질 유지 (손실 없는 가속): 추측 디코딩은 단순히 속도만 높이는 것이 아니라, 최종적으로 생성되는 텍스트의 품질이 순수하게 타겟 모델만을 사용했을 때와 동일하도록 보장합니다. 즉, 속도 향상으로 인한 품질 저하가 없는 '손실 없는(lossless)' 가속 기법입니다.
  • 자원 효율성 증대: 타겟 LLM의 매개변수를 메모리에서 읽고 쓰는 빈도를 줄여, 메모리 대역폭 병목 현상을 완화하고 전반적인 추론 효율성을 높이는 데 기여합니다.

마무리하며

추측 디코딩은 LLM 추론 속도 개선을 위한 유망한 패러다임으로 자리매김하였습니다. 최적의 초안 모델을 설계하는 방법, 검증 전략을 개선하여 수용률과 품질을 동시에 높이는 방법, 그리고 비전-언어 모델(VLM)과 같이 다양한 유형의 모델에 적용하는 방법 등 다각적인 발전이 이루어지고 있습니다. 예를 들어, 별도의 작은 모델을 학습시키지 않고 기존 타겟 모델의 일부 계층을 건너뛰어(layer-skipping) 초안 모델로 활용하는 '자체 추측 디코딩(self-speculative decoding)' 방식도 제안되었습니다결론적으로, 추측 디코딩은 LLM의 자기회귀적 생성 방식이 가진 고질적인 속도 문제를 해결하는 동시에 생성 품질을 유지하는 기술입니다. 이 기술은 LLM의 응용 범위를 넓히고, 더욱 발전된 인공지능 서비스를 현실화하는 데 중요한 역할을 하고 있습니다.


https://arxiv.org/abs/2211.17192

 

Fast Inference from Transformers via Speculative Decoding

Inference from large autoregressive models like Transformers is slow - decoding K tokens takes K serial runs of the model. In this work we introduce speculative decoding - an algorithm to sample from autoregressive models faster without any changes to the

arxiv.org

https://medium.com/@TitanML/in-the-fast-lane-speculative-decoding-10x-larger-model-no-extra-cost-f33ea39d065a

 

728x90