Orthrus의 '무손실' 추측 디코딩은 BF16에서 성립하지 않았다
How Lossless Is Lossless Speculative Decoding? The Role of Numerical Precision in Orthrus
무엇인가
추측 디코딩(speculative decoding)은 자기회귀(AR) 언어모델 추론의 순차적 병목을 우회하려는 시도다. AR 모델은 N개 토큰을 만들려면 N번의 디코딩 스텝이 필요하고, 매 스텝마다 커지는 KV 캐시에 다시 접근해야 한다. 확산 언어모델 계열의 병렬 디코딩은 여러 미래 토큰을 동시에 예측해 이 병목을 줄이지만, 엄격한 자기회귀 의존성을 완화하는 대가로 원래 모델 분포와 어긋날 수 있다. Orthrus(Nguyen et al., 2026)는 사전학습된 AR 모델을 교체하거나 크게 수정하는 대신, 동결된 AR 백본에 가벼운 확산 뷰(diffusion view)를 덧붙이는 방식을 제안한다. 추론 시 AR 구성요소가 문맥 표현을 만들고 확산 구성요소가 여러 미래 토큰을 병렬로 예측하며, 모델 내부 합의(intra-model consensus) 메커니즘이 AR 뷰로 제안 토큰을 검증한다. 저자들은 상당한 추론 가속과 함께 이 절차가 엄밀히 무손실, 즉 원래 AR 모델의 예측 동작을 정확히 보존한다고 주장한다.
어떻게 동작하나
이 논문은 그 무손실 주장을 실험적으로 검증한다. 저자들은 Orthrus 아키텍처와 학습 절차를 독립적으로 구현하고, 학습 목표와 데이터 분포, 하이퍼파라미터를 체계적으로 바꿀 수 있는 학습 프레임워크를 만들었다. 첫 번째 관찰은 확산 뷰 학습에 쓰는 데이터 분포가 병렬 디코딩 효율에 중요하다는 것이다. 확산 구성요소는 teacher forcing으로 학습되므로, 일반적인 사람 작성 이어쓰기 데이터로 학습하면 동결된 AR 모델이 자기 생성 과정에서 마주치는 상태를 재현하지 못할 수 있다. 그래서 저자들은 동결된 AR 모델에 프롬프트를 넣고 그리디 디코딩한 연속을 기록해 교사 생성 증류 코퍼스를 구성했다. 이렇게 만든 독립 학습 모델은 평가 도메인 12개 중 10개에서 공개 체크포인트보다 약간 높은 TPF(Tokens Per Forward)를 기록했다.
무엇과 다른가
학습 데이터는 Qwen/Qwen3-1.7B를 증류해 만들었고, HuggingFace 공개 데이터셋의 프롬프트만 사용했다. 50~1,000자 길이의 프롬프트만 남겨 총 4,113,358개의 프롬프트-응답 샘플을 얻었다. 학습은 NVIDIA H100 8장에서 CUDA 13.3.73, PyTorch 2.13.0, Transformers 5.8.0으로 수행했고, 1 에폭, 초기 학습률 2×10^-4, 배치 크기 10, 교차엔트로피 손실, 블록 크기 8, 블록 수 32, 최대 시퀀스 길이 3,072 토큰을 사용했다. 원래 Orthrus 실험과는 설정이 상당히 다르다. 평가는 12개 텍스트 도메인으로 나눈 프롬프트 세트로 진행했고, 도메인당 100개씩, gec-en만 90개로 총 1,190개다.
어떻게 쓰나
궤적 비교 실험은 Python 3.10.12, PyTorch 2.8.0+cu128, CUDA 12.8, Transformers 5.8.1, RTX 3090 23GB에서 BF16 정밀도와 eager 어텐션으로 수행했다. 생성 인자는 max_new_tokens=128, do_sample=False, temperature=0.0으로 모두 그리디 디코딩이다. 결과는 공개 체크포인트 chiennv/Orthrus-Qwen3-1.7B가 45%, 독립 학습 모델 Orthrus-1.7B-final이 43%에서만 Qwen 궤적과 완전히 일치했다. 즉 절반 이상의 프롬프트에서 최소 한 번의 분기가 발생했다. 분기 확률은 참조 모델의 응답 조건부 퍼플렉시티와 강하게 연관됐다. 응답 y에 대해 PPL_Qwen(y|x) = exp(-(1/|y|) Σ_t log p_Qwen(y_t | x, y_<t))로 정의하고, 정확 일치를 이진 응답으로, log PPL(y|x)와 응답 길이, 도메인을 예측변수로 하는 로지스틱 회귀를 적합했다. 공개 체크포인트의 log PPL 계수는 β1 = -8.10(95% CI [-10.50, -5.71], p = 3×10^-11), 독립 학습 모델은 β1 = -10.92(95% CI [-13.60, -8.24], p = 1.3×10^-15)로, 참조 모델이 높은 조건부 퍼플렉시티를 부여한 응답일수록 Orthrus가 그대로 재현할 확률이 크게 낮았다. 길이와 도메인을 통제한 뒤에도 이 연관은 유의했다.
전제와 한계
그런데 이 궤적 분기가 하위 과제 성능 저하로 이어지지는 않았다. lm-eval-harness로 GSM8K, HumanEval, IFEval을 평가한 결과, 독립 학습 Orthrus 모델은 세 벤치마크 모두에서 자기회귀 Qwen3 기준선보다 점 추정치가 높았다. 다만 저자들은 보고된 불확실성을 감안할 때 이를 통계적으로 유의한 개선으로 해석하면 안 된다고 명시한다. 원래 AR 궤적이 기준 동작이라면 분기는 성능을 떨어뜨릴 것이라 예상되지만, 실제로는 일관된 부정적 효과가 없었고 오히려 더 높은 과제 점수와 겹치기도 했다.
정밀도를 FP32로 올리면 그림이 완전히 달라진다. 모델 파라미터와 디코딩 절차, 평가 프롬프트를 그대로 두고 FP32로 반복한 결과, Orthrus는 1,190개 프롬프트 전부에서 자기회귀 참조와 정확히 같은 토큰 궤적을 냈다. BF16에서 나타난 무손실 위반은 FP32에서 사라진다. 저자들은 이 궤적 분기를 특정 레이어나 연산 탓으로 돌리지 않고 유한 정밀도 수치 효과로 귀속하며, 어느 계산 단계가 원인인지 규명하는 일은 향후 과제로 남긴다. 부동소수점 정밀도와 하드웨어 구성 변화가 그리디 디코딩에서도 출력을 바꿀 수 있다는 추론 재현성 연구(Yuan et al., 2025)와 맥락을 같이하지만, 이 논문의 질문은 단순 재현성이 아니라 가속 모델이 AR 참조의 정확한 궤적을 재현하는지 여부다.
개발자 관점에서 실무적 함의는 분명하다. 첫째, 무손실 가속을 도입할 때는 동등성의 조작적 기준이 무엇인지(토큰 궤적 일치인지, 분포 일치인지, 과제 점수인지)와 측정에 사용한 수치 정밀도를 함께 명시해야 한다. 둘째, 벤치마크 점수의 동등성은 정확한 추론 동등성을 입증하지 못한다. 두 시스템이 같거나 통계적으로 구분되지 않는 과제 점수를 내면서 서로 다른 토큰 시퀀스를 생성할 수 있고, 작은 수치 섭동이 때로는 벤치마크가 선호하는 답으로 생성을 밀어줄 수도 있다. 셋째, BF16 같은 저정밀도 추론이 기본인 환경에서 궤적 수준 재현성이 요구되는 용도, 예컨대 디버깅이나 회귀 테스트, 감사, 결정적 파이프라인이라면 FP32나 그에 준하는 설정을 검토해야 한다.
저자들이 밝힌 한계도 분명하다. 이 연구는 1.7B 규모의 Qwen3 기반 Orthrus 한 계열과 저자들이 독립 학습한 동일 용량 모델을 대상으로 하며, 어느 계산 단계가 정밀도 의존적 분기를 일으키는지는 특정하지 않았다. 하위 벤치마크의 점수 차이는 통계적 유의성으로 주장되지 않으며, 궤적 평가는 1,190개 프롬프트, 최대 128개 생성 토큰, 그리디 디코딩이라는 조건에 한정된다. 그럼에도 결론은 Orthrus의 유용성을 부정하는 것이 아니라, 신경망 디코딩 시스템의 강한 무손실 주장에는 정밀도와 동등성 기준을 함께 밝혀야 한다는 것이다.