POST-TRAINING · SUPERVISED FINE-TUNING

TailSFT

SFT loss를 가장 낮춘 checkpoint가 후속 RL의 가장 좋은 출발점은 아닐 수 있다. 이미 잘 맞춘 sequence를 덜 학습해, RL이 탐색할 정답 coverage를 남기는 filtered fine-tuning.

arXiv2608.25756v1
상태arXiv preprint
게재2026-08-26
저자Sadhika Malladi 외 4명
분야cs.LG
원문PDF ↗
15 / 18
math·code의 dataset–benchmark 조합에서 pass@16 개선
+16.79%p
BigCode → CruxEval-O의 최대 SFT pass@16 개선
+1.21–3.93%p
5개 matched GRPO 실험의 최종 pass@1 개선 범위
11 / 11
coverage ratio가 1보다 큰 설정에서 TailSFT gain이 모두 비음수
01PROBLEM

SFT 최적점 ≠ RL 최적 초기값

표준 SFT는 demonstration의 negative log-likelihood를 계속 낮춘다. 그러나 후속 단계가 verifiable reward를 쓰는 online RL이라면, 필요한 것은 한 정답에 대한 높은 확률만이 아니다. 여러 번 sampling했을 때 적어도 하나의 reward-bearing response를 찾을 수 있는 초기 probability support가 중요하다.

Figure 1. Standard SFT와 TailSFT의 목표 차이. Standard SFT는 training cross-entropy와 pass@1을 더 낮추는 방향으로 수렴할 수 있다. TailSFT는 이미 충분히 fit 된 sequence의 gradient를 제외해 large-$K$ coverage를 보존하고, 같은 후속 RL에서 더 높은 성능으로 전환되는 초기화를 목표로 한다.
SFT 관점

Demonstration likelihood

주어진 정답 sequence의 likelihood를 최대화하는 문제가 중심이다.

RL 관점

Reward-bearing support

여러 rollout 중 reward를 얻는 응답이 나와야 학습 신호가 생긴다.

핵심 가설

Stage-aware initialization

SFT 자체의 최적 checkpoint와 post-RL 최적 checkpoint는 다를 수 있다.

02COVERAGE

pass@K — 정답 영역의 폭

입력 $x$에서 한 번 sampling해 정답일 확률을 $p_\pi(x)$라 두면, $K$번 중 하나 이상 성공할 확률은 다음과 같다.

$$ p_\pi(x)=\Pr_{y\sim\pi(\cdot|x)}[R(x,y)=1] $$
$$ \mathrm{pass@}K(\pi)= \mathbb{E}_{x}\left[1-\left(1-p_\pi(x)\right)^K\right] $$

논문의 모든 large-$K$ 평가는 $K=16$을 사용한다. pass@1이 현재 policy의 평균 정확도를 본다면, pass@16은 낮은 확률로라도 남아 있는 유효 응답을 더 민감하게 포착한다.

pass@1

현재 성능

한 번 생성했을 때의 성공 확률. SFT 직후 품질에는 직접적이지만 support의 폭을 충분히 보여주지 못한다.

pass@16

초기 coverage proxy

여러 rollout에서 reward-bearing response를 찾을 가능성. 후속 RL이 사용할 수 있는 탐색 공간의 경험적 지표다.

GRPO signal

positive sample의 존재

binary reward에서 한 group이 전부 오답이면 positive 방향의 학습 신호를 만들 수 없다.

03MECHANISM

왜 SFT가 coverage를 줄이는가

Maximum-likelihood SFT는 이미 base model이 잘 설명하거나 학습 초기에 빠르게 fit 된 demonstration도 계속 밀어 올린다. 제한된 확률 질량이 소수의 demonstration mode에 더 집중되면, 정답이지만 SFT target과 다른 응답의 확률은 낮아질 수 있다.

초기 분포

Base model은 한 입력에 여러 reward-bearing response를 낮은 확률로 보유할 수 있다.

반복 강화

Standard SFT가 demonstration sequence의 likelihood를 모든 step에서 계속 높인다.

질량 재배치

자주 선택된 정답 mode로 확률이 집중되며 다른 유효 응답의 probability support가 감소할 수 있다.

RL 신호 감소

rollout group에서 positive response를 찾지 못하는 입력이 늘면 후속 RL이 개선할 기회를 잃는다.

논문의 stylized graph construction은 이 상충을 극단적으로 보인다.

초기화pass@1pass@K해석
Standard SFT형 해$7/8$$7/8$다수 입력에서 한 경로에 강하게 고정
Coverage 보존형 해$1/2$$1-2^{-K}$1회 정확도는 낮지만 반복 sampling의 성공률은 증가
Coverage 보존형, $K=8$$1/2$약 $0.996$후속 탐색에 필요한 support를 유지

이 수치는 실제 LLM 성능표가 아니라, pass@1 최적화와 large-$K$ coverage가 일치하지 않을 수 있음을 보이는 이론 예시다.

04ALGORITHM

TailSFT — fit sequence 제외

각 SFT example $(x_i,y_i)$에 대해 sequence length로 정규화한 loss를 사용한다.

$$ \ell_i(\pi)= -\frac{1}{|y_i|} \sum_{j=1}^{|y_i|} \log \pi(y_{i,j}\mid x_i,y_{i,<j}) $$

학습 시작 전 base policy $\pi_0$의 loss $\ell_i^0$를 한 번 계산해 저장한다. Step $t$에서 현재 loss와의 margin을 계산한다.

$$ m_i^t=\ell_i(\pi_t)-\ell_i(\pi_0) $$

$m_i^t$가 가장 작은 sequence는 base model 대비 loss가 가장 많이 감소한, 즉 이미 많이 fit 된 example이다. TailSFT는 selection batch에서 이들 하위 $\gamma_t$ 비율을 제외하고 나머지 token에 표준 cross-entropy를 적용한다.

Cache

전체 SFT set의 base-model sequence loss $\ell_i^0$를 1회 저장

Compare

현재 sequence loss와 base loss의 차이 $m_i^t$ 계산

Filter

가장 negative한 margin을 가진 $\gamma_t$ 비율의 sequence 제외

Update

남은 sequence의 target token에 일반적인 token-averaged CE 적용

구현에서 놓치기 쉬운 구분

항목논문의 선택
Filtering 단위token이 아니라 sequence
순위 계산length-normalized sequence loss
실제 최적화 lossretained target token 전체의 token-averaged CE
기준점현재 batch의 절대 loss가 아니라 base model 대비 loss 변화
Schedule고정 비율 또는 0에서 목표 비율까지 linear ramp
추가 비용base-model loss를 cache하기 위한 1회 추가 pass
05THEORY

왜 base loss와 비교하는가

논문은 filtered loss를 세 종류로 비교한다. 구현된 TailSFT는 mini-batch에서 offset margin의 quantile을 사용하며, 이론은 population-level threshold objective를 분석한다.

기준중단 조건놓칠 수 있는 정보
Absolute loss$\pi(y\mid x)\ge\alpha$base model이 example마다 달랐던 초기 확률
Current-loss quantile현재 batch에서 loss가 낮은 순서원래 쉬운 example과 학습으로 쉬워진 example의 차이
Initial-relative offset$\pi(y\mid x)\ge\beta\,\pi_0(y\mid x)$초기 정책 대비 상대적 fit 정도를 직접 반영

이론에서 두 threshold objective는 다음과 같이 쓸 수 있다.

$$ \mathcal{L}_{\mathrm{abs}}(\pi;\alpha) =\mathbb{E}\left[\ell_\pi(x,y)+\log\alpha\right]_+ $$
$$ \mathcal{L}_{\mathrm{off}}(\pi;\beta) =\mathbb{E}\left[\ell_\pi(x,y)-\ell_{\pi_0}(x,y)+\log\beta\right]_+ $$

Stylized setting에서 적절한 $\beta$를 고른 offset filtering은 standard ERM 또는 최적 absolute threshold보다 나쁜 coverage를 갖지 않으며, 엄격히 더 좋은 경우가 존재한다. 다만 이는 mini-batch TailSFT SGD와 post-GRPO 성능을 직접 보장하는 정리가 아니라, 초기 정책을 기준으로 삼는 설계 원리를 지지하는 결과다.

06EXPERIMENT

실험 설계 — SFT와 GRPO 비교

Base model

OLMo-3 7B

단일 model family와 scale에서 검증. 결과의 범위를 규정하는 중요한 제한이다.

SFT domains

Math + Code

OpenMathInstruct-2와 BigCode Self-OSS-Instruct, Magicoder, OCI를 각각 사용한다.

SFT evaluation

18 pairs · 3 seeds

AIME, MATH Level 5, OMEGA-500, MBPP+, HumanEval+, CruxEval-I/O, LiveCodeBench.

Post-training

5 matched GRPO runs

Standard SFT와 TailSFT checkpoint에 동일한 GRPO 설정을 적용해 초기화 효과를 비교한다.

Math SFT는 decontaminated OpenMathInstruct-2의 약 350K subset을 사용한다. 모든 SFT 결과는 동일한 평가 protocol과 세 seed로 비교하며, large-$K$는 $K=16$으로 고정한다.

GRPO 비교는 prompt당 4개 rollout과 binary verifier reward를 사용한다. 같은 SFT dataset 안에서 Standard SFT와 TailSFT만 바꾼 matched comparison이므로, 최종 차이를 RL 알고리즘 변경이 아니라 초기 policy의 차이로 해석할 수 있다.

07SFT RESULTS

SFT 결과 — pass@16 개선

18개 dataset–benchmark 조합 중 15개에서 TailSFT의 pass@16이 Standard SFT보다 높았다.

SFT data → benchmarkStandard pass@16TailSFT pass@16차이
BigCode → CruxEval-O24.2141.00+16.79%p
Magicoder → CruxEval-O38.0847.92+9.83%p
Magicoder → CruxEval-I59.7568.08+8.33%p
OpenMathInstruct-2 → AIME15.2418.31+3.07%p
OpenMathInstruct-2 → MATH Level 566.4269.15+2.74%p
OpenMathInstruct-2 → OMEGA-50032.8032.60-0.20%p
OCI → HumanEval+85.9883.23-2.74%p
OCI → LiveCodeBench34.5933.50-1.09%p

pass@1은 일관되게 오르지 않는다. 예를 들어 Magicoder → CruxEval-I는 28.50에서 26.48로, OCI → HumanEval+는 54.76에서 51.94로 낮아진다. 반대로 BigCode → CruxEval-O는 4.16에서 13.18로 오른다.

논문이 의도한 결과는 SFT pass@1의 일률적 개선이 아니라, 후속 RL이 활용할 pass@16 coverage의 개선이다.

08DIAGNOSTIC

적용 진단 — coverage ratio

TailSFT를 모든 dataset에 자동 적용하지 않고, base model과 Standard SFT 사이에서 잃고 얻은 coverage를 먼저 비교한다.

각 example의 base pass@16 추정치가 $0.05$와 $0.95$ 사이인 집합을 base-reachable set $\mathcal{R}_0$로 둔다. 이 구간에서 Standard SFT가 감소시킨 coverage의 합을 $L$, 증가시킨 합을 $G$라 두면:

$$ \rho_{16}=\frac{L}{G} $$
Figure 4. Coverage ratio와 TailSFT gain의 관계. $\rho_{16}>1$은 Standard SFT가 base-reachable 영역에서 얻은 coverage보다 잃은 coverage가 더 많다는 뜻이다. 이 조건을 만족한 11개 설정은 TailSFT 적용 후 10개가 개선되고 1개가 사실상 동일했다.
진단 결과해석의사결정
$\rho_{16}>1$Standard SFT의 coverage 손실이 이득보다 큼TailSFT를 우선 실험할 충분조건
$\rho_{16}\le1$손실보다 이득이 크거나 비슷함TailSFT 효과 불확실, validation 비교 필요
$G=0$얻은 coverage가 없음논문 정의에서 $\rho_{16}=\infty$

이 진단에는 TailSFT나 RL 실행이 필요하지 않다. Base model sampling과 Standard SFT 1회로 적용 가능성이 높은 설정을 선별한다. 다만 $\rho_{16}\le1$에서도 개선 사례가 있어 필요조건은 아니다.

09POST-RL

GRPO 결과 — 최종 pass@1 개선

동일한 GRPO를 적용한 5개 matched comparison에서 TailSFT initialization은 최종 pass@1을 모두 개선했다.

SFT data → GRPO benchmarkStandard SFT initTailSFT init차이
OpenMathInstruct-2 → MATH Level 557.7060.26+2.56%p
OpenMathInstruct-2 → AIME14.4015.61+1.21%p
BigCode → MBPP+69.5773.50+3.93%p
Magicoder → MBPP+70.5273.24+2.72%p
OCI → MBPP+74.6776.30+1.62%p
Figure 8. GRPO reward curves. TailSFT checkpoint는 일부 code 설정에서 SFT 직후 pass@1이 더 낮은 상태로 시작하지만, GRPO 초기에 빠르게 따라잡고 더 높은 최종 reward에 도달한다. 논문은 일부 설정에서 초기 reward 증가가 최대 2.5배 빠르다고 보고한다.

post-RL pass@16도 5개 중 4개에서 +2.38%p에서 +3.30%p 개선됐고, OCI → MBPP+는 -0.18%p로 사실상 비슷했다. 핵심 증거는 SFT 단계의 large-$K$ 이득이 동일한 RL을 거쳐 최종 pass@1 이득으로 바뀌었다는 것이다.

10TAKEAWAY

한 장으로 끝내는 정리

문제

SFT loss와 pass@1만으로 post-RL 초기값을 고르면 reward-bearing support의 감소를 놓칠 수 있다.

진단

Base와 Standard SFT의 pass@16 변화로 $\rho_{16}$을 계산해 coverage 손실이 큰 설정을 찾는다.

개입

Base-relative loss margin이 가장 낮은, 이미 많이 fit 된 sequence를 batch에서 제외한다.

검증

SFT 직후 pass@1과 pass@16을 분리하고, 동일한 후속 RL의 최종 pass@1까지 비교한다.

판단

TailSFT는 범용 대체재가 아니라 coverage 손실이 관찰되는 SFT 설정을 위한 stage-aware intervention이다.

적용 범위와 한계

  • 입증된 범위 — OLMo-3 7B, math/code: 단일 model scale과 두 domain의 arXiv preprint 결과
  • 남은 변수 — filter ratio와 schedule: BigCode·Magicoder는 0.25 고정, OCI·math는 0에서 0.5까지 ramp
  • 이론의 범위 — stylized population objective: 실제 mini-batch SGD와 GRPO의 개선을 직접 보장하지 않음
  • 운영 비용 — base loss cache와 online filtering: 별도 reward model은 없지만 초기 pass와 분산 selection 구현 필요

핵심 메시지: TailSFT는 SFT를 덜 하는 방법이 아니라, 후속 RL이 사용할 수 있는 정답 support를 남기도록 SFT gradient의 대상을 바꾸는 방법이다.

Thank You!