해결 방법은 추측 디코딩입니다. 이 최적화 기법은 초안 메커니즘을 도입하여 대규모 LLM (타겟 모델)이 한 번에 하나의 토큰을 생성하는 느리고 순차적인 프로세스를 가속화합니다.
이 초안 메커니즘은 여러 개의 다음 토큰을 한 번에 빠르게 제안합니다. 그런 다음 대규모 타겟 모델이 단일 병렬 배치에서 이러한 제안을 확인합니다. 자체 예측에서 가장 긴 일치 프리픽스를 수락하고 해당 새 지점부터 생성을 계속합니다.
하지만 모든 드래프트 메커니즘이 동일하게 만들어지는 것은 아닙니다. 클래식 초안 타겟팅 접근 방식은 별도의 소규모 LLM 모델을 초안 작성자로 사용하므로 더 많은 서비스 리소스를 호스팅하고 관리해야 하여 추가 비용이 발생합니다.

이때 EAGLE-3 (Extrapolative Attention Guided LEarning)가 사용됩니다. EAGLE-3은 더 고급 접근 방식입니다. 전체 별도 모델 대신 타겟 모델 크기의 2~5% 에 불과한 매우 가벼운 '초안 헤드'를 내부 레이어에 직접 연결합니다. 이 헤드는 특성 및 토큰 수준에서 모두 작동하며, 타겟 모델의 숨겨진 상태에서 특성을 수집하여 미래 토큰의 트리를 외삽하고 예측합니다.
그 결과 두 번째 모델을 학습하고 실행하는 오버헤드를 제거하면서 추측 디코딩의 모든 이점을 누릴 수 있습니다.
EAGLE-3의 접근 방식은 수십억 개의 매개변수가 있는 별도의 초안 모델을 학습시키고 유지하는 복잡하고 리소스 집약적인 작업보다 훨씬 효율적입니다. 기존 모델의 일부로 추가되는 경량 '초안 헤드'(타겟 모델 크기의 2~5%)만 학습합니다. 이 간단하고 효율적인 학습 프로세스를 통해 Llama 70B와 같은 모델의 디코딩 성능이 2~3배 향상됩니다 (다중 턴, 코드, 긴 컨텍스트 등 워크로드 유형에 따라 다름).

하지만 이 간소화된 EAGLE-3 접근 방식을 종이에서 확장된 프로덕션 지원 클라우드 서비스로 옮기는 것은 실제 엔지니어링 여정입니다. 이 게시물에서는 기술 파이프라인, 주요 과제, 그 과정에서 얻은 소중한 교훈을 공유합니다.
과제 1: 데이터 준비
EAGLE-3 헤드를 학습시켜야 합니다. 명백한 첫 번째 단계는 일반적인 공개 데이터 세트를 가져오는 것입니다. 이러한 데이터 세트 대부분에는 다음과 같은 문제가 있습니다.
- 엄격한 서비스 약관: 이러한 데이터 세트는 원래 제공업체와 경쟁하는 모델을 개발하는 데 사용할 수 없는 모델을 사용하여 생성됩니다.
- PII 오염: 이러한 데이터 세트 중 일부에는 이름, 위치, 금융 식별자를 비롯한 상당한 PII가 포함되어 있습니다.
- 품질 보장 없음: 일부 데이터 세트는 일반적인 '데모' 사용 사례에만 적합하며 실제 고객의 전문 워크로드에는 적합하지 않습니다.
이 데이터를 그대로 사용하는 것은 불가능합니다.
수업 1: 합성 데이터 생성 파이프라인 빌드
한 가지 해결책은 합성 데이터 생성 파이프라인을 빌드하는 것입니다. Google은 고객의 사용 사례에 따라 품질이 우수할 뿐만 아니라 다양한 워크로드에 대해 고객의 프로덕션 트래픽과 가장 잘 일치하는 적절한 데이터 세트를 선택합니다. 그런 다음 이러한 데이터 세트에서 사용자 프롬프트만 추출하고 엄격한 DLP (데이터 손실 방지) 및 PII 필터링을 적용할 수 있습니다. 이러한 클린 프롬프트는 채팅 템플릿을 적용하고 토큰화한 후 타겟 모델 (예: Llama 3.3 70B)를 사용하여 대답을 수집합니다.
이 접근 방식은 규정을 준수하고 깨끗할 뿐만 아니라 모델의 실제 출력 분포와도 잘 일치하는 타겟 생성 데이터를 제공합니다. 이는 초안 헤드를 학습하는 데 적합합니다.

챌린지 2: 학습 파이프라인 엔지니어링
또 다른 중요한 결정은 EAGLE-3 헤드에 학습 데이터를 제공하는 방법입니다. 두 가지 뚜렷한 경로가 있습니다. 임베딩이 '즉석에서 생성'되는 온라인 학습과 '학습 전에 임베딩이 생성'되는 오프라인 학습입니다.
Google의 경우 온라인 학습보다 하드웨어가 훨씬 적게 필요하므로 오프라인 학습 방식을 선택했습니다. 이 프로세스에는 EAGLE-3 헤드를 학습시키기 전에 모든 특징과 임베딩을 사전 계산하는 작업이 포함됩니다. 이러한 이미지는 GCS에 저장되며 경량 EAGLE-3 헤드의 학습 데이터가 됩니다. 데이터가 있으면 학습 자체는 빠릅니다. EAGLE-3 헤드의 크기가 작기 때문에 원래 데이터 세트로 초기 학습을 진행하려면 단일 호스트에서 약 하루가 걸렸습니다. 하지만 데이터 세트의 규모가 커짐에 따라 학습 시간도 비례적으로 증가하여 이제 며칠에 걸쳐 진행됩니다.

이 과정에서 무시할 수 없는 두 가지 교훈을 얻었으며 이를 염두에 두어야 합니다.
수업 2: 채팅 템플릿은 선택사항이 아님
명령어 튜닝 모델을 학습하는 동안 채팅 템플릿이 올바르지 않으면 EAGLE-3 성능이 크게 달라질 수 있는 것으로 확인되었습니다. 타겟 모델의 특정 채팅 템플릿 (예: 기능과 임베딩을 생성하기 전에 원시 텍스트를 연결하기만 하면 임베딩이 잘못되고 헤드가 잘못된 분포를 예측하도록 학습합니다.
강의 3: 마스크에 유의하기
학습 중에 모델에는 프롬프트와 응답 표현이 모두 제공됩니다. 하지만 EAGLE-3 헤드는 대답 표현을 예측하는 것만 학습해야 합니다. 손실 함수에서 프롬프트 부분을 수동으로 마스크해야 합니다. 제공하지 않으면 헤드가 이미 제공된 프롬프트를 예측하는 방법을 학습하는 데 용량을 낭비하므로 성능이 저하됩니다.

과제 #3: 서빙 및 확장
학습된 EAGLE-3 헤드를 사용하여 서빙 단계로 진행했습니다. 이 단계에서 상당한 확장 문제가 발생했습니다. 주요 학습 내용은 다음과 같습니다.
강의 4: 서빙 프레임워크가 중요함
SGLang팀과 긴밀히 협력하여 최고의 성능으로 EAGLE-3를 프로덕션에 성공적으로 도입했습니다. 기술적인 이유는 SGLang이 중요한 트리 어텐션 커널을 구현하기 때문입니다. 이 특수 커널은 EAGLE-3가 단순한 체인이 아닌 가능성의 '초안 트리'를 생성하기 때문에 중요하며, SGLang의 커널은 한 단계에서 이러한 모든 분기 경로를 병렬로 검증하도록 특별히 설계되었습니다. 이러한 조치를 취하지 않으면 실적을 놓치게 됩니다.
5단원: CPU가 GPU의 병목 현상을 일으키지 않도록 방지
EAGLE-3로 LLM을 가속화한 후에도 CPU라는 또 다른 성능 장벽에 부딪힐 수 있습니다. GPU가 LLM 추론을 실행할 때 최적화되지 않은 소프트웨어는 커널 실행 및 메타데이터 관리와 같은 CPU 오버헤드에 엄청난 시간을 낭비합니다. 일반적인 동기 스케줄러에서 GPU는 단계(예: 초안 작성)를 실행한 다음 CPU가 장부 정리를 하고 다음 확인 단계를 실행하는 동안 유휴 상태로 유지됩니다. 이러한 동기화 버블이 누적되어 귀중한 GPU 시간을 엄청나게 낭비합니다.

이 문제는 SGLang의 오버헤드 제로 오버랩 스케줄러를 사용하여 해결했습니다. 이 스케줄러는 추측 디코딩의 다단계 초안 -> 확인 -> 초안 확장 워크플로에 맞게 특별히 조정되었습니다 . 핵심은 계산을 중복하는 것입니다. GPU가 현재 Verify 단계를 실행하는 동안 CPU는 이미 다음 Draft 및 Draft Extend 단계의 커널을 실행하기 위해 병렬로 작동하고 있습니다 .
이렇게 하면 GPU의 다음 작업이 항상 준비되도록 하여 유휴 버블이 제거됩니다. GPU가 아직 작동 중인 동안 CPU가 다음 일괄 처리를 준비할 수 있는 스마트 데이터 구조인 FutureMap를 사용합니다.

이 CPU 오버헤드를 제거함으로써 오버랩 스케줄러는 전반적으로 10~20%의 속도 향상을 제공합니다. 이는 훌륭한 모델이 절반의 전투에 불과하며 이를 따라갈 수 있는 런타임이 필요하다는 것을 증명합니다.
벤치마크 결과
이 여정을 마친 후, 그만한 가치가 있었나요? 물론입니다.
학습된 EAGLE-3 헤드를 Llama 4 Scout 17B Instruct와 함께 SGLang을 사용하여 비추측 기준선에 대해 벤치마킹했습니다. Google의 벤치마크에 따르면 워크로드 유형에 따라 디코딩 지연 시간이 2~3배 빨라지고 처리량이 크게 향상됩니다.
전체 세부정보를 확인하고 포괄적인 노트북을 사용하여 직접 벤치마킹하세요.
측정항목 1: 출력 토큰당 시간 (TPOT)의 중앙값
이 차트는 EAGLE-3의 지연 시간 성능이 더 우수함을 보여줍니다. 출력 토큰당 시간 (TPOT) 차트는 테스트된 모든 동시성 수준에서 EAGLE-3 가속 모델 (녹색 선)이 기준 (파란색 선)보다 일관되게 낮은 (빠른) 지연 시간을 달성하는 것을 보여줍니다.
측정항목 2: 출력 처리량
이 차트는 EAGLE-3의 처리량 이점을 더욱 강조합니다. 토큰 처리량 대 동시성 차트를 보면 EAGLE-3 가속 모델 (녹색 선)이 기준 모델 (파란색 선)보다 일관되고 실질적으로 우수함을 명확하게 알 수 있습니다.
더 큰 모델에서도 유사한 관찰이 적용되지만 다른 성능 측정항목과 비교했을 때 첫 번째 토큰까지의 시간 (TTFT)이 증가할 수 있습니다. 또한 이러한 성능은 다음 예와 같이 작업에 따라 달라집니다.

결론: 이제 여러분의 차례입니다
EAGLE-3는 단순한 연구 개념이 아니라 디코딩 지연 시간을 2배 단축할 수 있는 프로덕션 지원 패턴입니다. 하지만 확장하려면 실제 엔지니어링 노력이 필요합니다. 사용자를 위해 이 기술을 안정적으로 배포하려면 다음을 충족해야 합니다.
- 규정을 준수하는 합성 데이터 파이프라인을 빌드합니다.
- 채팅 템플릿과 손실 마스크를 올바르게 처리하고 대규모 데이터 세트에서 모델을 학습합니다.
Vertex AI에서는 LLM 기반 애플리케이션을 확장하도록 설계된 최적화된 컨테이너와 인프라를 제공하여 이 전체 프로세스를 이미 간소화했습니다. 시작하려면 다음 리소스를 확인하세요.
읽어 주셔서 감사합니다.
Vertex AI에 대한 의견과 질문을 환영합니다.
감사의 말씀
이 프로젝트 전반에 걸쳐 귀중한 지원을 제공해 주신 SGLang팀(특히 Ying Sheng, Lianmin Zheng, Yineng Zhang, Xinyuan Tong, Liangsheng Yin)과 SGLang/SpecForge팀(특히 Shenggui Li, Yikai Zhu)에 진심으로 감사드립니다. 이 프로젝트의 성공에 아낌없는 지원과 깊이 있는 기술적 통찰력을 제공해 주셨습니다.