[논문] SpecPilot: 추론 가속을 위한 자율 알고리즘 탐색 및 시스템 최적화 🚀🚀🚀
[Paper] SpecPilot: Autonomous Algorithm Discovery and Systems Optimization for Speculative Decoding 🚀🚀🚀
핵심 요약
SpecPilot은 배포 환경에 맞춰 추론 가속 알고리즘을 자율적으로 최적화하여 성능을 2배 이상 향상시키는 에이전트 시스템입니다.
- 추론 가속 — Speculative decoding의 병목 현상을 해결하는 자율 에이전트 도입
- 성능 향상 — 단일 요청 시 10.87배, 배치 처리 시 3.93배의 속도 향상 달성
- 기술적 혁신 — 손실 없는 12비트 가중치 포맷 및 하이브리드 타겟용 트리 검증 기법 발견
- 범용성 부족 — 특정 GPU와 모델 환경에 최적화되어 있어 범용적 적용은 어려움
Speculative decoding은 가벼운 drafter를 써서 메모리 병목이 심한 LLM 디코딩 속도를 높여주는데, parallel drafter는 한 번의 forward pass로 블록 전체를 뽑아내서 이 속도를 더 끌어올림. 근데 정작 공개된 시스템(stock)들이 parallel drafting이 허용하는 최대 속도를 제대로 뽑아내고 있는지는 의문임. 우리가 확인한 문제는 크게 세 가지임. 첫째, 요청 하나당 토큰은 찔끔 나오는데 타겟 가중치는 전부 다 읽어야 함. 둘째, 배치 처리를 하면 요청당 검증 작업 때문에 autoregressive(AR) 디코딩 대비 속도 향상 폭이 거의 반토막 남. 셋째, speculative decoding은 배포 환경마다 다 달라서, 모든 서빙 환경이나 drafter, 타겟 모델, GPU에 딱 맞는 만능 최적화 기법 같은 건 없음. 그래서 우리는 배포 환경마다 알아서 알고리즘이랑 시스템 최적화를 찾아내는 자율 에이전트 루프, SpecPilot을 들고 왔음. 매 라운드마다 비용 모델이 현재 시스템이랑 이론적 한계치 사이의 격차를 찾아내고, 병렬 에이전트들이 여러 방향을 탐색해서 성공적인 것들만 통합함. Token forcing으로 출력 토큰을 stock이랑 일일이 대조해서 보상 해킹(reward hacking)도 잡아냄. 구조화된 메모리에는 검증된 메커니즘을 저장해서 다음 라운드나 다른 배포 환경에 써먹음. SpecPilot은 범용적인 무손실 12-bit 가중치 포맷, 하이브리드 순환 타겟을 위한 트리 검증, 2단계 검증, 그리고 3가지 배치 처리 메커니즘을 찾아냈음. 4개 타겟 모델, 3개 drafter, 2개 GPU 플랫폼, 5개 벤치마크로 테스트해 봄. 학습이나 품질 저하 없이, AR 대비 속도 향상 폭을 기존 stock의 4.46배에서 10.87배(요청 1개 기준)로, 배치 처리 시에는 1.94배에서 3.93배까지 끌어올렸음.

