LLM‑42: 추측 검증으로 구현하는 결정적 대규모 언어 모델 추론
초록
LLM‑42는 동적 배칭과 부동소수점 비결합성으로 발생하는 추론 비결정성을, 빠른 비결정 경로와 고정 형태 검증‑롤백 루프를 결합해 해결한다. 기존 배치‑불변 커널 방식이 성능을 크게 저하시키는 반면, LLM‑42는 기존 커널을 그대로 사용하고, 일관된 토큰이 생성될 때만 검증을 수행해 오버헤드를 실제 필요량에 비례하도록 만든다.
상세 분석
본 논문은 대규모 언어 모델(LLM) 추론 시 동일 프롬프트에 대해 실행마다 다른 출력을 생성하는 비결정성을 시스템 수준에서 분석한다. 비결정성의 근본 원인은 부동소수점 연산의 비결합성이다. GPU에서 행렬 곱(GEMM), 어텐션, 정규화 등 대부분의 연산은 축소(reduction) 연산을 포함하고, 동적 배칭에 따라 배치 크기가 달라지면 커널이 선택하는 축소 트리 구조도 달라진다. 예를 들어, split‑K 기법은 K 차원을 여러 스레드 블록에 나누어 병렬 축소를 수행하지만, K 값에 따라 트리 깊이와 연산 순서가 변한다. 이러한 미세한 수치 차이는 로그잇(logits) 값에 작은 변동을 일으키고, 샘플링 단계(예: greedy, top‑k, top‑p)에서 확률 순위가 바뀌면 최종 토큰이 달라진다.
기존 해결책은 배치‑불변 커널을 설계해 모든 배치 크기에서 동일한 축소 스케줄을 강제하는 것이었다. 그러나 이는 split‑K와 같은 고성능 최적화를 포기하게 만들고, 새로운 커널 구현·유지보수 비용을 크게 증가시킨다. 실험 결과, 배치‑불변 GEMM은 cuBLAS 기반 비불변 구현에 비해 63 %의 처리량 감소를 보였으며, RMSNorm에서도 50 % 정도의 속도 저하가 관찰되었다. 특히, 하나의 요청만 결정성을 요구해도 전체 배치가 느린 배치‑불변 커널을 사용하게 되어 전체 토큰 처리량이 56 % 급감한다는 비효율이 드러났다.
LLM‑42는 이러한 문제를 “추측‑검증” 패러다임을 차용해 해결한다. 핵심 아이디어는(1) 토큰이 일관된 상태에 있으면 다음 토큰도 대부분 일관될 가능성이 높다는 관찰(O1)과, (2) 대부분의 GPU 커널이 입력 형태(shape)마다 동일한 축소 스케줄을 사용한다는 사실(O2)을 이용하는 것이다. 따라서 빠른 경로에서는 기존 비결정적 커널을 그대로 사용해 토큰을 생성하고, 일정 간격으로 고정 형태 검증 윈도우를 선택해 동일한 입력 형태로 재연산한다. 검증 단계는 고정된 축소 트리를 사용하므로 결과가 결정적이며, 검증 결과가 일치하면 해당 토큰을 사용자에게 전달한다. 불일치가 발생하면 검증이 마지막으로 일치한 토큰까지 롤백하고, 그 지점부터 다시 디코딩을 시작한다.
롤백 비용은 검증 윈도우 크기에 따라 조절된다. 작은 윈도우는 롤백 시 재연산량이 적지만 검증 자체가 메모리 바인드라 오버헤드가 크고, 큰 윈도우는 검증이 계산 바인드라 효율적이지만 롤백 시 재연산량이 늘어난다. 이를 보완하기 위해 논문은 “그룹 검증”을 제안한다. 여러 요청의 작은 윈도우를 하나의 배치로 묶어 동시에 검증함으로써 검증 오버헤드를 분산시키고, 롤백 비용은 여전히 작은 윈도우 수준으로 유지한다. 실험 결과, 전체 트래픽 중 결정성을 요구하는 비율이 낮을 때 LLM‑42는 거의 비결정적 모드와 동일한 처리량을 유지했으며, 결정적 트래픽이 100 %일 때도 기존 배치‑불변 방식보다 최대 56 % 적은 성능 저하만을 보였다.
또한 LLM‑42는 기존 커널을 거의 그대로 재사용한다. 검증 단계에서만 고정 형태 재연산이 필요하므로, 기존 최적화된 cuBLAS·CUDA 커널을 그대로 활용할 수 있다. 이는 엔지니어링 비용을 최소화하고, 새로운 하드웨어나 모델에 대한 포팅을 용이하게 만든다.
요약하면, LLM‑42는 (1) 토큰 일관성 확률이 높다는 경험적 관찰, (2) 형태‑일관 축소 스케줄 활용, (3) 검증‑롤백 메커니즘을 결합해 비결정성을 최소 오버헤드로 억제한다. 이는 기존 배치‑불변 커널이 갖는 성능·개발 비용 문제를 근본적으로 해결하면서, 실제 서비스 환경에서 선택적 결정성을 제공할 수 있는 실용적인 설계이다.
댓글 및 학술 토론
Loading comments...
의견 남기기