AEGLOSLAB ChatGPT 같은 AI를 만들고 서비스하기

제3부 사후학습·정렬(Post-training/Alignment)

3.9 증류·합성데이터 — 큰 모델로 작은 모델 가르치기

강한 모델을 하나 손에 넣었다고 하자. 그 능력을 다른 그릇으로 옮기는 길은 둘이다. 모델의 출력 분포를 표적 삼아 작은 학생을 학습시키거나(지식 증류), 모델로 학습 데이터 자체를 생성해 내거나(합성데이터). 교과서는 이 둘을 다른 장에 둔다 — 하나는 최적화 기법이고 하나는 데이터 파이프라인이니까. 그런데 폐쇄 API만 보이는 오늘의 지형에서는 이 구분이 대부분 허물어진다. 교사의 로짓을 볼 수 없으면 "증류"가 할 수 있는 일은 교사가 출력한 텍스트로 학생을 지도학습하는 것뿐이고, 그것은 정의상 그 텍스트를 합성데이터로 삼아 SFT하는 것과 같은 연산이다. 그래서 이 장은 둘을 한 몸으로 다룬다. 먼저 로짓이 보이는 이상적 경우(화이트박스)에서 소프트 타깃이 왜 하드 라벨보다 많은 것을 가르치는지를 손실 함수와 그 기울기까지 끝까지 유도하고, 로짓이 사라진 현실(블랙박스)에서 그것이 어떻게 합성데이터 생성으로 미끄러지는지, 그리고 그 값싼 데이터가 언제 독이 되는지 — 모델 붕괴와 이용약관 — 를 본다. 무게는 특정 모델이 무엇을 증류했다는 소문이 아니라 원리·트레이드오프·함정에 둔다. 프런티어 모델이 증류·합성을 실제로 얼마나 썼는지는 대개 비공개이고, 공개된 것은 학술 논문과 오픈 모델의 레시피뿐이다.

3.9.1 소프트 타깃이 하드 라벨보다 많이 가르친다

증류의 단초가 된 관찰(Hinton et al., 2015)은 처음 들으면 거꾸로다. 정답만 콕 집어 가르치는 것보다, 교사가 오답들에 매긴 확률까지 전부 베끼게 하는 편이 학생을 더 잘 키운다.

언어로 옮겨 보자. "고양이는" 다음에 올 토큰을 맞히는 문제에서 정답이 "야옹"이라 하자. 하드 라벨은 이렇게 말한다.

$$y = [\underbrace{1}_{\text{야옹}},\ \underbrace{0}_{\text{멍멍}},\ \underbrace{0}_{\text{자동차}},\ \dots]$$

"야옹은 정답, 나머지는 전부 똑같이 오답." 그런데 잘 학습된 교사가 내는 분포는 다르다.

$$p_T = [\underbrace{0.84}_{\text{야옹}},\ \underbrace{0.11}_{\text{멍멍}},\ \underbrace{0.0002}_{\text{자동차}},\ \dots]$$

교사는 "야옹이 맞지만 멍멍은 자동차보다 500배 그럴듯하다"고 말한다. 이 상대적 순위 안에 교사가 세계에 대해 아는 구조 — 동물끼리 가깝고 무생물은 멀다 — 가 내재되어 있다. 힌턴은 이 정보를 암묵지(dark knowledge)라 불렀다. 하드 라벨은 이것을 전부 0으로 만든다. 그래서 하드 라벨 한 예시는 "정답이 무엇이다"라는 한 비트에 가까운 정보만 실어 나르지만, 소프트 타깃 한 예시는 어휘 전체에 걸친 확률분포, 즉 훨씬 조밀한 신호를 실어 나른다. 학생은 같은 입력 하나에서 더 많이 배운다.

0.0 0.2 0.4 0.6 0.8 1.0 야옹 1 0.84 멍멍 0 0.11 달린다 0 0.049 자동차 0 0.0002 확률 하드 라벨 소프트 타깃(온도 T)
하드 라벨 vs 소프트 타깃 — 오답들의 상대 확률이 곧 암묵지(수치는 설명용). 하드 라벨 → "야옹만 맞고 나머지는 다 똑같이 틀림", 소프트 타깃 → "멍멍은 자동차보다 훨씬 그럴듯" (구조 정보)

여기서 걸림돌이 하나 있다. 잘 학습된 교사일수록 정답에 확률이 몰려(0.84 대 0.11) 오답들의 상대 구조가 소수점 아래에 묻혀 잘 안 보인다. 멍멍 0.11과 자동차 0.0002의 비율에 암묵지가 있는데, 이 둘 다 정답 0.84에 가려 거의 0처럼 취급되면 학생은 그 구조를 감지하기 어렵다. 이 미세 구조를 꺼내 증폭하는 조정 변수가 온도다.

3.9.2 온도가 암묵지를 꺼내는 원리

온도는 1.3·1.7에서 본 그 온도 — 로짓을 $T$로 나눈 뒤 softmax를 취하는 것 — 와 정확히 같은 연산이다. 다만 생성에서 다양성을 조절하는 대신, 여기서는 학습 신호를 부드럽게 펴는 데 쓴다. 어휘 $V$ 위의 로짓 $z$에 대해 온도 $T$ softmax는

$$p_i^{(T)} = \frac{\exp(z_i / T)}{\sum_j \exp(z_j / T)}$$

이다. $T=1$이면 보통의 softmax고, $T>1$이면 분포가 평평해지며(엔트로피↑) 오답들의 상대 확률이 커져 암묵지가 표면으로 올라오고, $T\to\infty$면 균등분포로, $T\to 0$이면 argmax 원-핫으로 수렴한다.

왜 나눗셈이 분포를 펴는지는 로짓 차이로 보면 분명하다. 두 후보의 확률비는

$$\frac{p_i^{(T)}}{p_j^{(T)}} = \exp\!\left(\frac{z_i - z_j}{T}\right)$$

로, 오직 로짓 차이에만 의존한다. 온도를 높이면 이 차이가 $T$로 나뉘어 지수의 인자가 작아지고, 모든 확률비가 1 쪽으로 — 즉 균등 쪽으로 — 당겨진다. 정답과 최상위 오답의 큰 차이도 줄지만, 기저에 있던 멍멍 대 자동차의 작은 차이도 같은 비율로 1에서 멀어져 보이게 되어 학생이 학습할 만한 신호가 된다. 온도가 하는 일은 정보를 새로 만드는 것이 아니라, 이미 로짓에 있던 순위 구조를 학생이 밟기 좋은 크기로 스케일하는 것이다. 그래서 온도에는 최적점이 있다 — 너무 낮으면 암묵지가 안 드러나고, 너무 높으면 분포가 균등에 가까워져 정작 "야옹이 정답"이라는 핵심 신호까지 흐려진다. 다음 절에서 손실을 유도하면 이 최적점이 왜 생기는지가 기울기 크기로 정확히 드러난다.

3.9.3 증류 손실의 완전 유도 — KL·기울기·T 제곱 보정

이제 학생을 교사에 맞추는 손실을 세우고, 그 기울기까지 끝까지 밟아 보자. 이 유도가 이 장에서 가장 자주 오해되는 두 가지 — 왜 하필 KL이고, 왜 $T^2$을 곱하나 — 를 동시에 푼다.

교사·학생이 같은 온도 $T$에서 소프트 분포 $p_T^{(T)}, p_S^{(T)}$를 낸다. 증류 손실은 이 둘을 KL 발산으로 맞춘다.

$$\mathcal{L}_{\text{KD}} = \mathrm{KL}\!\left(p_T^{(T)} \,\big\|\, p_S^{(T)}\right) = \sum_i p_{T,i}^{(T)} \log \frac{p_{T,i}^{(T)}}{p_{S,i}^{(T)}} = \underbrace{\sum_i p_{T,i}\log p_{T,i}}_{-H(p_T),\ \text{상수}} - \sum_i p_{T,i}\log p_{S,i}$$

교사는 학습 대상이 아니라 고정 표적이므로 첫 항, 즉 교사 분포의 음의 엔트로피 $-H(p_T)$는 학생 파라미터에 대해 상수다. 기울기에 들어가지 않는다. 남는 것은 둘째 항 $-\sum_i p_{T,i}\log p_{S,i}$, 즉 교사 분포를 정답으로 삼은 교차엔트로피다. 이것이 "KL 증류가 실은 소프트 라벨에 대한 교차엔트로피"라는 흔한 요약의 정확한 뜻이다 — 두 손실은 상수 하나만큼만 다르므로 최적화 관점에서 같다.

기울기를 학생 로짓 $z_k^S$에 대해 계산하자. 온도 softmax를 두 단계로 본다. 먼저 $a_i = z_i^S / T$로 온도를 적용하고, 그 위에 표준 softmax를 추가한다. 표준 log-softmax의 기울기는 잘 알려져 있다.

$$\frac{\partial \log p_{S,i}}{\partial a_j} = \delta_{ij} - p_{S,j}$$

여기에 $\partial a_j / \partial z_k^S = \delta_{jk}/T$를 연쇄법칙으로 이으면

$$\frac{\partial \log p_{S,i}}{\partial z_k^S} = \sum_j (\delta_{ij} - p_{S,j})\,\frac{\delta_{jk}}{T} = \frac{1}{T}\left(\delta_{ik} - p_{S,k}\right)$$

이다. 이제 손실 기울기는

$$\frac{\partial \mathcal{L}_{\text{KD}}}{\partial z_k^S} = -\sum_i p_{T,i}\,\frac{\partial \log p_{S,i}}{\partial z_k^S} = -\frac{1}{T}\sum_i p_{T,i}\left(\delta_{ik} - p_{S,k}\right) = -\frac{1}{T}\left(p_{T,k} - p_{S,k}\underbrace{\textstyle\sum_i p_{T,i}}_{=1}\right)$$

로 정리되어, 명료한 결론이 나온다.

$$\boxed{\ \frac{\partial \mathcal{L}_{\text{KD}}}{\partial z_k^S} = \frac{1}{T}\left(p_{S,k}^{(T)} - p_{T,k}^{(T)}\right)\ }$$

기울기는 학생과 교사의 소프트 확률 차이에 비례하고, 앞에 $1/T$이 붙는다. 학생이 교사보다 어떤 토큰에 확률을 더 줬으면($p_{S,k}>p_{T,k}$) 그 로짓을 내리고, 덜 줬으면 높인다 — 지극히 직관적이다. 성분들의 합이 0인 것도 확인된다($\sum_k(p_{S,k}-p_{T,k})=0$), softmax 로짓은 전체 상수 이동에 불변이니 당연하다.

핵심은 $1/T$ 앞에 숨은 또 하나의 $1/T$이다. 온도가 높을 때 $p_{S,k}-p_{T,k}$ 자체가 얼마나 작아지는지를 봐야 한다. 로짓을 평균 0으로 두고($\bar z=0$, softmax 불변이니 일반성 잃지 않는다) $z_i/T$가 작다고 보면 $\exp(z_i/T)\approx 1 + z_i/T$이고

$$p_i^{(T)} \approx \frac{1 + z_i/T}{\sum_j (1 + z_j/T)} = \frac{1 + z_i/T}{|V| + (1/T)\sum_j z_j} \approx \frac{1}{|V|}\left(1 + \frac{z_i}{T}\right)$$

가 되어(마지막에 $\sum_j z_j=0$ 사용), 확률 차이는

$$p_{S,k}^{(T)} - p_{T,k}^{(T)} \approx \frac{1}{|V|\,T}\left(z_k^S - z_k^T\right)$$

이다. 이것을 기울기에 도로 넣으면

$$\frac{\partial \mathcal{L}_{\text{KD}}}{\partial z_k^S} \approx \frac{1}{T}\cdot\frac{1}{|V|\,T}\left(z_k^S - z_k^T\right) = \frac{1}{|V|\,T^2}\left(z_k^S - z_k^T\right)$$

로, 고온 극한에서 증류 손실의 기울기가 정확히 $1/T^2$로 줄어든다. 그리고 이 형태는 흥미로운 해석을 준다 — 고온에서 KL 증류는 학생 로짓을 교사 로짓에 직접 맞추는 것, 즉 $\tfrac{1}{2|V|T^2}\sum_k (z_k^S - z_k^T)^2$를 최소화하는 로짓 매칭에 수렴한다. 소프트맥스라는 껍데기를 벗기면 "교사가 어떤 로짓을 냈는지를 그대로 베껴라"가 된다.

이제 $T^2$ 보정의 정체가 분명하다. 실무에서는 소프트 타깃만 쓰지 않고 실제 정답(하드 라벨)의 교차엔트로피와 섞는데, 하드 항의 기울기는 온도와 무관하게 $O(1)$이다. 온도를 높일 때마다 소프트 항의 기울기만 $1/T^2$로 쪼그라들면, 온도라는 하이퍼파라미터를 만질 때마다 두 항의 상대 비중이 은근히 불안정해지고 실효 학습률이 따라 움직인다. 이것을 막으려고 소프트 항에 $T^2$을 곱해 그 기울기를 $O(1)$로 되돌린다.

$$\mathcal{L} = \alpha\, T^2\, \mathrm{KL}\!\left(p_T^{(T)} \,\|\, p_S^{(T)}\right) \;+\; (1-\alpha)\, \mathrm{CE}\!\left(y,\, p_S^{(1)}\right)$$

하드 항은 온도 1로 계산한다 — 실제 정답은 완화할 이유가 없다. $\alpha$는 소프트 대 하드의 비중이고(대략 0.5~0.9), $T$와 $\alpha$, 그리고 학생 크기가 증류의 세 조정 변수다.

/T → softmax /T → softmax 온도 1 softmax α 역전파 1−α 입력 토큰 교사 로짓 z_T (고정) 학생 로짓 z_S (학습) 소프트 타깃 p_T^(T) 학생 소프트 p_S^(T) KL(p_T ‖ p_S)·T² p_S^(1) 하드 라벨 y 교차엔트로피 총 손실 L

이 유도 전체는 교사의 전체 로짓 벡터를 요구한다는 점을 기억해 두자. $p_T^{(T)}$를 계산하려면 어휘 위 로짓을 다 알아야 하고, 그것은 교사 가중치를 직접 실행할 수 있을 때 — 오픈 웨이트거나 자사 모델일 때 — 만 가능하다. 폐쇄 상용 API는 보통 전체 로짓을 주지 않으므로(상위 몇 개 로그확률만 노출될 수 있으나 그 범위·정책은 벤더·시점마다 다르다) 이 화이트박스 증류가 애초에 성립하지 않는다. 그 경우의 우회로가 3.9.5다.

3.9.4 수계산 — 소프트 타깃 손실과 T 제곱 보정

작은 어휘 $\{A, B, C\}$로 손실과 기울기를 끝까지 계산해 보자. 모두 설명용 개략값이다. 어떤 위치에서 교사·학생 로짓이

$$z^T = [\,3,\ 1,\ 0\,], \qquad z^S = [\,2,\ 1,\ 1\,]$$

이고 정답(하드 라벨)은 $A$, 즉 $y=[1,0,0]$이라 하자.

온도 1의 교사 분포부터. $\exp(3),\exp(1),\exp(0) = 20.09,\,2.72,\,1.00$, 합 $23.80$이므로

$$p_T^{(1)} \approx [\,0.844,\ 0.114,\ 0.042\,]$$

정답 $A$에 확률이 몰려 있어 $B$(0.114)와 $C$(0.042)의 구조 — 교사는 $B$를 $C$보다 약 2.7배 선호한다 — 가 기저에 놓인다.

온도 2로 완화한다. $z^T/2=[1.5,0.5,0]$, $\exp = 4.482,\,1.649,\,1.000$, 합 $7.130$:

$$p_T^{(2)} \approx [\,0.629,\ 0.231,\ 0.140\,]$$

이제 $B$(0.231)와 $C$(0.140)의 차이가 훨씬 또렷하다 — 온도가 암묵지를 표면으로 드러냈다. 학생도 같은 온도로: $z^S/2=[1,0.5,0.5]$, $\exp=2.718,\,1.649,\,1.649$, 합 $6.016$,

$$p_S^{(2)} \approx [\,0.452,\ 0.274,\ 0.274\,]$$

KL을 자연로그로 계산한다.

$i$$p_{T,i}^{(2)}$$p_{S,i}^{(2)}$$\log(p_{T,i}/p_{S,i})$항 $p_{T,i}\log(\cdot)$
$A$0.6290.452$\ln 1.391 = +0.330$$+0.207$
$B$0.2310.274$\ln 0.843 = -0.171$$-0.039$
$C$0.1400.274$\ln 0.511 = -0.671$$-0.094$

$$\mathrm{KL}\!\left(p_T^{(2)}\|p_S^{(2)}\right) \approx 0.207 - 0.039 - 0.094 = 0.074$$

$T^2=4$을 곱하면 소프트 항은 $4\times 0.074 \approx 0.30$이다. 하드 항은 온도 1의 학생 분포로: $z^S=[2,1,1]$, $\exp=7.389,\,2.718,\,2.718$, 합 $12.825$, $p_S^{(1)}\approx[0.576,0.212,0.212]$이고 정답 $A$의 교차엔트로피 $=-\ln 0.576\approx 0.552$. $\alpha=0.7$이면 총 손실은

$$\mathcal{L} = 0.7\times 0.30 + 0.3\times 0.552 \approx 0.210 + 0.166 = 0.376$$

이다. 학생은 두 방향으로 동시에 밀린다 — 정답 $A$를 맞히도록(하드 항), 그리고 $A>B>C$라는 교사의 서열까지 닮도록(소프트 항). 하드 라벨만 썼다면 "$B$가 $C$보다 그럴듯하다"는 교사의 세계 지식은 완전히 사라졌을 것이다.

이제 앞 절 유도가 예언한 $1/T^2$ 축소를 숫자로 확인하자. 기울기 공식 $\partial\mathcal{L}_{\text{KD}}/\partial z_k^S = \tfrac{1}{T}(p_{S,k}^{(T)} - p_{T,k}^{(T)})$에 넣는다. 성분 $A$를 보면, 온도 1에서는

$$\frac{1}{1}\left(p_{S,A}^{(1)} - p_{T,A}^{(1)}\right) = 0.576 - 0.844 = -0.268$$

이고, 온도 2에서는

$$\frac{1}{2}\left(p_{S,A}^{(2)} - p_{T,A}^{(2)}\right) = \tfrac{1}{2}(0.452 - 0.629) = -0.088$$

이다. 온도를 1에서 2로 높였을 뿐인데 이 성분의 원시 기울기가 $-0.268$에서 $-0.088$로, 약 3배 작아졌다. 순수한 $1/T^2$이라면 4배 줄어야 하지만 $T=2$는 아직 고온 극한이 아니라서 어림값으로 3배 정도다 — 방향은 정확히 유도가 말한 대로다. 여기에 $T^2=4$ 보정을 곱하면 $-0.088\times 4 = -0.35$로, 온도 1 때의 $-0.268$과 같은 규모로 되돌아온다. 보정이 없었다면 온도를 높인 순간 소프트 항이 하드 항에 압도되어 사실상 무시됐을 것이다. 직접 해 볼 것: $\alpha$를 0.9로 높이고 온도를 4로 키운 뒤, $T^2$ 보정을 뺀 채로 두 항의 기울기 크기를 비교해 보라. 보정 없는 소프트 항이 얼마나 조용히 중단되는지 보인다.

3.9.5 로짓이 사라지면 — 시퀀스 수준 증류는 곧 합성데이터

토큰 하나의 분포를 맞추는 로짓 KD는 개념의 원형이다. 그러나 실제 LLM은 긴 시퀀스를 생성하고, 폐쇄 교사에서는 로짓을 볼 수 없다. 이 두 사실이 겹쳐 실무의 표준이 된 것이 시퀀스 수준 증류다. 교사가 생성한 완성 텍스트를 정답으로 삼아 학생을 SFT한다.

$$\mathcal{L}_{\text{seq}} = -\sum_{t} \log p_S\!\left(\hat{y}_t \,\middle|\, \hat{y}_{<t},\, x\right), \qquad \hat{y} \sim p_T(\cdot \mid x)$$

여기서 $\hat{y}$는 교사가 뽑은 시퀀스다. 이 손실을 자세히 보면 3.2의 SFT 손실과 글자 그대로 같다 — 다른 점은 정답 시퀀스가 사람이 아니라 교사에게서 나온다는 것뿐이다. 그래서 시퀀스 수준 증류는 "교사를 데이터 생성기로 쓰는 SFT", 즉 합성데이터 생성과 같은 것이 된다(Kim & Rush의 sequence-level KD가 이 발상의 초기 정식화다). 오늘날 "강한 모델로 지시-응답을 만들어 작은 오픈 모델을 파인튜닝"하는 수많은 레시피가 전부 이 범주에 든다.

토큰 분포를 맞추던 로짓 KD와 시퀀스 전체를 베끼는 이 방식의 관계를 오해하지 말자. 로짓 KD는 각 위치에서 어휘 전체에 대한 교사의 부드러운 분포를 맞추므로 예시당 정보가 조밀하다. 시퀀스 KD는 교사가 실제로 뽑은 한 경로 — 각 위치에서 사실상 원-핫 — 만 학생에게 보여 주므로, 같은 프롬프트에서 얻는 정보가 성기다. 대신 교사가 여러 시퀀스를 샘플링하게 하면 그 다양성으로 성김을 부분적으로 메운다. 이 조밀함과 접근성의 맞바꿈이 두 방식을 가른다.

로짓 KD (화이트박스)시퀀스 KD (블랙박스)
교사 접근전체 로짓 벡터 필요생성 텍스트만 필요
예시당 신호조밀(어휘 전체 분포)성김(한 경로, 위치별 원-핫)
폐쇄 API로대체로 불가가능 — 이것이 곧 합성데이터
학생 학습소프트 타깃 KL교사 텍스트로 SFT
구현 난이도중(로짓 파이프라인)낮음(생성→SFT)

블랙박스 증류가 값싸고 접근하기 쉬운 대신 부담하는 두 가지 제약이 이 장 후반의 주제다 — 하나는 학습·추론 분포가 어긋나는 노출 편향(3.9.6)이고, 다른 하나는 교사의 로짓 대신 그 출력물을 대량으로 긁어 쓰는 데서 오는 법·약관 문제(3.9.17)다.

3.9.6 노출 편향과 온-폴리시 증류

시퀀스 KD에는 고질병이 있다. 학생은 학습 때 교사의 완벽한 시퀀스만 보다가, 추론 때는 자기 자신의 불완전한 생성을 이어가야 한다. 학습에서 방문하는 상태와 추론에서 방문하는 상태의 분포가 어긋나고, 학생이 한 번 교사가 절대 만들지 않았을 실수를 저지르면 그 실수로 오염된 문맥은 학습에서 본 적이 없어 복구할 길이 없다. 오차가 시퀀스를 따라 누적된다. 이 학습·추론 불일치가 노출 편향(exposure bias)이고, 자기회귀 모방학습의 오래된 병이다(3.2에서도 같은 구조가 등장한다).

온-폴리시(on-policy) 증류는 표적을 뒤집어 이를 완화한다. 교사가 시퀀스를 만들어 주는 대신, 학생이 스스로 시퀀스를 생성하게 하고 그 위에서 교사가 토큰별 분포(또는 보상)를 제공해 학생을 민다. 학생이 실제로 방문하는 상태에서 신호를 받으므로 분포 불일치가 줄고, 학생이 저지르는 종류의 실수를 교사가 그 자리에서 교정한다.

오프-폴리시 (하드 시퀀스 KD) 온-폴리시 증류 추론 때 자기 생성과 분포 어긋남 교사가 시퀀스 생성 학생은 그것을 모방 (SFT) 노출 편향 학생이 시퀀스 생성 교사가 그 위에서 채점· 분포 제공 학생이 자기 상태에서 배움
오프-폴리시 대 온-폴리시 증류

이 계열은 강화학습(3.4)과 사촌이다 — 교사가 곧 보상 신호 역할을 한다. 두 갈래가 자주 언급된다. 하나는 역-KL을 쓰는 계열(MiniLLM류)로, 앞서 유도한 $\mathrm{KL}(p_T\|p_S)$ 대신 $\mathrm{KL}(p_S\|p_T)$를 최소화한다. 이 방향 바꾸기가 중요한 이유가 있다. 정방향 KL은 교사가 확률을 준 모든 곳을 학생이 덮도록 강제하는 mode-covering이라, 학생 용량이 부족하면 교사의 여러 모드에 확률을 얇게 펴 발라 어느 것도 제대로 못 하는 과확신·환각으로 흐른다. 역-KL은 교사가 낮게 준 곳을 학생이 피하게 하는 mode-seeking이라, 작은 학생이 교사의 지배적 모드에 집중해 과확신을 덜 낸다는 관찰이 있다. 다른 하나는 GKD(generalized KD)로 온-폴리시 표본과 교사 분포를 섞는다. 이런 방법들의 이득은 과제·설정에 따라 다르고 논문마다 조건이 따른다 — 온-폴리시가 구조적으로 노출 편향을 덜 겪는다는 방향은 견고하지만, 특정 벤치마크에서 몇 점이 오르느냐는 그대로 옮겨 오면 안 된다. 대가도 분명하다. 학생이 매 스텝 생성해야 하니 학습 루프에 추론이 개입해 오프-폴리시 SFT보다 훨씬 비용이 크고 구현이 복잡하다. 그래서 실무의 대다수 "증류"는 여전히 값싼 오프-폴리시 시퀀스 KD이고, 온-폴리시는 그 노출 편향이 실제로 문제가 될 때 꺼내는 고급 도구다.

3.9.7 추론 흔적 증류 — 사고사슬을 옮기다

3.7의 추론 모델은 답만이 아니라 추론 흔적(reasoning trace) — 답에 이르는 단계별 풀이 — 을 만든다. 강한 추론 교사가 만든 이 흔적을 학생에게 SFT하면, 작은 모델도 사고사슬을 흉내 내 수학·코딩·논리에서 성능이 오른다는 보고가 많다(이른바 reasoning distillation). 여기서 결정적인 조건은 정답이 맞은 흔적만 남기는 것이다. 최종 답을 검증기로 걸러 통과한 풀이만 학습에 쓴다. 이 걸러 냄이 없으면 틀린 추론까지 증류되어 나쁜 습관을 각인한다 — 그럴듯하게 전개하다 결론에서 틀리는 풀이는 표면적으로 유창해서 SFT가 오히려 강화하기 쉽다.

한 가지 미묘한 함정을 정리해 둘 값어치가 있다. 검증은 최종 답만 본다. 그런데 최종 답이 맞아도 중간 추론이 엉터리인 경우가 있다 — 우연히, 혹은 두 오류가 상쇄되어 맞은 답. 이런 흔적을 걸러 내면 답은 맞지만 논리는 틀린 풀이를 정답으로 가르치게 된다. 그래서 정교한 파이프라인은 답 검증에 더해 흔적 자체의 일관성·간결성을 별도로 채점하거나, 여러 풀이의 다수결로 신뢰도를 매긴다. 이는 3.7가 말한 "정답이 검증 가능한 도메인에서 RL·거부 표집이 강하다"는 논리와 그대로 이어진다 — 검증기가 좋을수록 증류·합성의 질이 올라간다.

세 방식의 실제 쓰임을 한자리에 놓으면 이렇다.

로짓 KD시퀀스 KD (하드)온-폴리시 KD
교사 접근전체 로짓생성 텍스트만로짓 또는 채점
폐쇄 API로대체로 불가가능(=합성데이터)대체로 불가
노출 편향해당 없음(토큰 단위)있음완화
구현 비용중낮음높음(학생 생성 루프)
흔한 쓰임오픈 교사→작은 학생강한 모델로 데이터 생성 후 파인튜닝연구·고급 파이프라인

3.9.8 왜 작은 학생이 강해지나

증류가 통하는 이유는 하나가 아니고, 설명들이 서로 배타적이지도 않다. 정직하게 늘어놓으면 네 갈래다.

첫째, 예시당 신호가 많다. 3.9.1에서 봤듯 소프트 타깃은 어휘 전체에 걸친 분포라 하드 라벨보다 정보가 조밀하다. 오답들의 상대 확률이 클래스 사이의 유사 구조를 알려 주므로, 학생은 같은 데이터로 더 매끄러운 결정경계를 배운다. 데이터를 늘리지 않고도 각 예시에서 더 얻어내는 셈이다.

둘째, 정규화·평활화 효과다. 교사 분포는 하드 라벨보다 부드러워, 학생이 특정 정답에 과확신하는 것을 막는 방향으로 작동한다 — 레이블 스무딩과 비슷한 역할을 추가 비용 없이 얻는다. 작은 학생일수록 과적합에 취약한데, 부드러운 표적이 이를 억제해 준다.

셋째, 난이도 정보다. 교사가 애매해하는(엔트로피 높은) 예시는 학생에게도 어렵다는 신호가 되고, 교사가 확신하는 예시는 쉽다는 신호가 된다. 소프트 타깃은 각 예시의 난이도를 암묵적으로 실어 나르므로, 학생이 "무엇이 어려운지"를 라벨과 함께 배운다.

넷째 — 시퀀스 KD에서 가장 큰 이유일 것이다 — 데이터 정리·재작성 효과다. 교사가 생성한 답은 잡음 많은 원본 웹 텍스트보다 깨끗하고 형식이 일관된다. 사람이 쓴 데이터에는 오타·비문·모순·형식 난맥이 섞여 있지만, 강한 교사가 뽑은 응답은 "교과서 같은" 정제된 표적이다. 학생은 원본의 잡음이 아니라 정돈된 신호를 배운다. 2.1에서 "품질이 양을 이긴다"고 했던 그 원리가 여기서 재현된다 — 사실 많은 오픈 결과에서 시퀀스 증류가 잘 되는 이유의 상당 부분이 "더 똑똑한 모델을 베껴서"가 아니라 "더 깨끗한 데이터를 학습해서"다.

이 넷을 구분하는 것이 실무에 중요한 이유가 있다. 만약 이득이 주로 넷째(데이터 정제)에서 온다면, 교사가 굳이 학생보다 훨씬 강할 필요가 없다 — 비슷한 급의 모델로 데이터를 정돈만 해도 이득이 난다. 반대로 이득이 첫째(암묵지 이전)에서 온다면 교사·학생의 능력 격차가 클수록 좋다. 어느 쪽이 지배적인지는 과제에 따라 다르고, 이것을 잘못 살펴보면 비용이 큰 교사에 돈을 낭비하거나 필요한 격차를 못 두게 된다.

3.9.9 상한 — 학생은 교사를 넘지 못한다

증류의 가장 중요하고 가장 자주 잊히는 사실은 이것이다. 표준적 증류는 새 능력을 창조하지 않는다. 교사에게 있는 것을 옮길 뿐이다. 학생 성능의 상한은 교사이고, 교사가 모르는 것은 학생도 못 배운다. "GPT-4를 증류해 GPT-4를 능가"는 표준 증류로는 성립하지 않는다 — 이것이 자주 오해되는 통념이다. 증류는 능력 이전·압축이지 능력 증폭이 아니다.

이 상한 주변에 결이 있는 조건이 셋 있다.

용량 격차의 함정. 직관과 달리 교사가 클수록 항상 좋은 것은 아니다. 교사가 너무 크고 학생이 너무 작으면 오히려 증류가 잘 안 된다는 관찰이 있다 — 학생이 교사의 복잡하고 뾰족한 분포를 담을 표현 용량이 없어서, 무리하게 맞추려다 어느 것도 제대로 못 배운다. 중간 크기의 조교(teacher assistant)를 거쳐 두 단계로 증류하면 격차를 완만히 메워 낫다는 제안이 있다(조건 의존적 연구 결과다). 이 함정은 3.9.6에서 본 정방향 KL의 mode-covering 문제와도 맞닿아 있다 — 용량이 작은 학생이 교사의 모든 모드를 덮으려다 얇게 퍼지는 것.

약-강 일반화(weak-to-strong). 정렬 감독 맥락에서 나온 흥미로운 예외다. 약한 교사가 강한 학생을 감독할 때, 학생이 교사를 부분적으로 초과할 수 있다는 연구가 있다 — 강한 학생이 이미 가진 사전 능력이 약한 교사의 실수를 걸러 내고, 교사의 라벨에서 "의도"를 추출해 교사보다 나은 일반화를 하는 현상이다(Anthropic·OpenAI 등이 초인간 모델을 인간이 감독하는 문제의 대리 실험으로 탐구해 왔다). 다만 이것은 "상한 = 교사"의 예외 조건이지 일반 법칙이 아니다. 조건 — 강한 학생, 특정 과제, 부분적 초과 — 을 빼고 "증류로 교사를 넘는다"로 옮기면 틀린다.

좁은 과제에서의 초과. 특정 좁은 과제에 특화 증류하면 그 과제에 한해 범용 교사보다 나은 학생을 만들 수 있다. 하지만 이것은 교사의 전반 능력을 넘은 것이 아니라, 교사의 능력 중 그 과제에 해당하는 부분만 학생에 집중시킨 것이다. 범용성을 좁힘의 대가로 특정 축을 높인 트레이드오프이지 능력의 순증이 아니다.

이 상한이 3.9.18의 의사결정에서 골격이 된다. "교사 수준을 더 싸게·더 작게"가 목표라면 증류가 맞고, "교사를 넘겠다"가 목표라면 증류는 애초에 답이 아니다.

3.9.10 self-instruct와 합성데이터 계보

이제 증류의 사촌인 합성데이터 생성으로 넘어간다. 문제의식은 단순하다 — 고품질 지시·응답 데이터는 비용이 크고 부족하다. 사람이 수만 개의 지시-응답 쌍을 수작업으로 쓰는 것(3.2의 시연 데이터)은 느리고 비용이 크다. 그래서 강한 모델로 그 데이터를 생성해 낸다.

self-instruct(Wang et al., 2022)의 절차가 계보의 원형이다. 소수의 사람이 쓴 시드 지시 몇십~몇백 개에서 시작해, 모델에게 "이런 예를 참고해 새 지시를 만들어라"고 시켜 지시를 불린 뒤, 각 지시에 대한 응답도 모델이 생성한다. 그다음 필터링해 데이터셋을 키운다. 유명한 오픈 사례로 Alpaca(강한 교사로 생성한 지시-응답으로 작은 모델을 SFT), 그 계보의 Evol-Instruct(지시를 점점 어렵게 진화), UltraChat·OpenOrca류 등이 있다.

일부를 새 시드로 시드 지시 (사람 작성, 소수) 강한 모델로 새 지시 생성 (참고 예시 in-context) 각 지시에 응답·추론 흔적 생성 (3.2·3.7) 다양성·난이도 통제 (주제·형식·복잡도) 필터·자기검증·중복제거 합성 데이터 풀 학생/타깃 모델 SFT (3.2)

핵심은 피드백 루프다 — 시드에서 생성하고, 필터한 뒤, 그 일부를 다시 시드로 넣어 데이터를 스스로 불린다. 저비용으로 규모를 얻는 대신, 바로 이 재귀성이 모델 붕괴(3.9.15)의 단초이기도 하다. 필터·다양성 통제가 없으면 루프가 자기 편향을 세대마다 증폭한다.

무엇을 합성하느냐는 셋으로 나뉜다. 지시는 "무엇을 시킬지"이고 다양성이 관건이다 — 주제·형식·난이도가 좁으면 학생이 편식한다. 응답은 "그 지시에 대한 좋은 답"이고 교사 품질이 상한이다(3.9.9). 추론 흔적은 "답에 이르는 단계별 풀이"로, 특히 수학·코딩·논리에서 값지며 정답 검증과 결합할 때 강하다. 이 셋 중 지시의 다양성이 가장 통제하기 어렵고, 응답·흔적의 품질이 가장 검증하기 쉽다 — 다음 두 절이 각각을 다룬다.

3.9.11 검증 가능한 도메인과 거부 표집 — 수계산

합성데이터가 가장 효과적인 곳은 정답을 기계로 검증할 수 있는 도메인이다. 코드는 실행·테스트로 통과 여부를 자동 판정하고, 수학은 최종 답을 정답과 대조하거나 여러 풀이의 다수결로 거르며, JSON·파싱 같은 형식 과제는 스키마 검증(6.9)으로 자동 필터한다. 검증기가 있으면 거부 표집(rejection sampling) — 여러 개 생성하고 통과한 것만 학습에 쓰는 방식 — 이 강력해진다. 이것이 왜 유용하고 얼마나 비용이 큰지를 실제 숫자로 따져 보자.

검증 가능한 수학 추론 흔적으로 SFT 세트를 만든다고 하자. 정답이 붙은 문제 $20{,}000$개가 풀에 있고, 교사가 한 번에 정답을 맞히는 확률(패스율)이 문제당 평균 $p=0.45$라 하자. 각 문제에 $k=8$개 완성을 샘플링하고, 검증기로 걸러 통과한 흔적만 남긴다.

기대 수확부터. 문제당 통과 흔적 수는 $k\cdot p = 8\times 0.45 = 3.6$개이므로, $20{,}000$문제 전체에서 대략 $20{,}000\times 3.6 = 72{,}000$개의 검증된 흔적을 얻는다. 문제당 적어도 하나가 통과할 확률은 $1-(1-p)^k = 1-(0.55)^8 = 1-0.0084 \approx 0.992$이라, 문제의 약 99%가 최소 한 흔적을 낳는다. 여기까지는 장밋빛이다.

이제 비용과 낭비를 보자. 총 생성 횟수는 $20{,}000\times 8 = 160{,}000$번이다. 흔적 하나가 평균 500 토큰이라면 생성한 출력 토큰은 $160{,}000\times 500 = 8{,}000$만 토큰인데, 그중 검증을 통과해 실제로 남는 것은 $72{,}000\times 500 = 3{,}600$만 토큰이다. 생성한 토큰의 55%가 버려진다. 그리고 이 버림이 결함이 아니라 기능이다 — 검증기가 잡음을 걷어 내는 대가로 컴퓨트를 지불하는 것이고, 통과분만 남기니 라벨 노이즈가 크게 준다. 비용은 생성 토큰 수에 교사 API 단가를 곱한 것으로, 백만 토큰당 몇 달러 규모라면(정확한 단가는 벤더·시점마다 다르니 공식 문서로 확인) 8천만 토큰은 수백 달러 규모다. 이것을 사람이 쓴다고 상상해 보라 — 숙련자가 검증된 풀이 하나를 정성껏 쓰는 데 10분이라 치면 72,000개는 12,000시간, 수 인년(person-year)이다. 합성의 경제학은 여기 있다.

두 가지 함정을 정직하게 밝히자. 첫째, 거부 표집은 쉬운 문제로 편향된다. 패스율 $p$가 낮은 어려운 문제일수록 통과 흔적이 적게 나오고, $p\to 0$인 문제는 아무리 샘플링해도 하나도 못 얻는다 — 정작 학생이 가장 배워야 할 어려운 문제가 데이터에서 과소 대표된다. 둘째, 같은 문제에서 뽑은 8개 통과 흔적은 서로 매우 닮았을 수 있어(같은 모델, 같은 프롬프트), 중복제거 없이 전부 넣으면 몇 개 문제 유형이 과대 대표되어 다양성이 붕괴한다. 그래서 문제당 남기는 흔적 수에 상한을 두거나 임베딩 군집으로 근사 중복을 거른다. 검증기가 없는 주관적 과제 — 글쓰기·상담 — 에서는 이 거부 표집이 애초에 성립하지 않고, LLM-as-judge(4.2)가 대리 검증기로 등판하지만 그 자체의 편향을 내포한다.

3.9.12 다양성·난이도 통제 — 합성의 실제 난제

합성데이터의 실패는 대개 품질이 아니라 다양성에서 온다. 강한 모델도 별 제약 없이 지시를 생성시키면 비슷한 것만 반복한다 — 몇 개 주제, 몇 개 형식, 중간 난이도에 몰린다. 모델은 자기 학습 분포의 최빈값 쪽으로 회귀하는 경향이 있어서, "새로운 지시를 만들어라"라고만 하면 자기가 흔히 본 지시를 조금 변주해 낸다. 그 데이터로 학습한 학생은 그 좁은 분포만 잘하고 나머지는 약하다. 통제 조정 변수가 몇 개 있다.

주제·도메인 시딩이 가장 확실하다. 자연 생성에 맡기지 않고 주제 목록·페르소나·시나리오를 명시적으로 주입해 커버리지를 강제한다 — "다음 200개 직업 각각에 대해 질문을 만들어라"처럼 축을 사람이 정한다. 모델은 각 축 안에서 다양성을 채우는 일을 잘하지, 축 자체를 넓히는 일은 잘 못한다.

난이도 진화(Evol-Instruct류)는 쉬운 지시를 받아 더 어렵게·더 구체적으로·제약을 추가하도록 반복 변형해 난이도 분포를 위로 높인다. 3.9.11에서 봤듯 거부 표집이 쉬운 문제로 편향되므로, 이 난이도 진화가 그 편향을 상쇄하는 방향으로 작동한다.

형식·길이 다양화는 질의응답·다단계·표·코드·대화 등 형식을 강제 분배하고 응답 길이·스타일도 섞는다. 온도·표집 다양화는 생성 온도를 높이거나 여러 시드로 표집해 표면 다양성을 늘리는데, 온도만 높이면 품질이 떨어지는 다양성이라 필터와 반드시 병행해야 한다.

마지막으로 다양성은 "느낌"이 아니라 측정의 대상이다. 임베딩(6.2)으로 생성물을 군집화해 어느 영역이 비었는지 보고, 빈 영역을 타깃해 추가 생성한다. 여기에 품질과 다양성 사이의 근본 긴장이 있다 — 온도·변형을 키우면 다양성은 오르지만 정확도가 떨어지고, 필터를 세게 적용하면 품질은 오르지만 필터가 특정 스타일만 통과시켜 다양성이 준다. 한쪽만 최적화하면 3.9.15의 붕괴로 향한다. 두 축을 함께 보며 균형점을 찾는 것이 합성 파이프라인 설계의 핵심이다.

3.9.13 품질 관리 — 필터·중복제거·검증기·라벨 노이즈

합성이든 증류든 생성물을 그대로 학습에 넣으면 안 된다. 강한 모델도 환각·오류·편향·반복을 낸다. 2.1의 데이터 정제 원리가 여기서 거의 그대로 재사용되는데, 대상이 웹 크롤이 아니라 모델 생성물이라는 점만 다르다.

모델 생성물 (지시·응답·흔적) 검증기·필터 실행·스키마·규칙 LLM-as-judge / 자기검증 (4.2) 중복제거 MinHash·임베딩 (2.1) 오염 제거 평가셋 누출 (4.1) 실데이터와 혼합·큐레이션 학습셋

가장 신뢰도 높은 필터는 결정적 검증이다 — 코드 실행, 수식 대조, 스키마 파싱. 검증 가능 도메인에서 합성이 강한 이유가 여기 있다(3.9.11). 그 위에 자기검증·비평이 온다. 생성 모델이나 별도 모델에게 자기 답을 검토·채점·수정시키고, LLM-as-judge로 낮은 점수를 버린다. 편리하지만 판정자 편향 — 자기 스타일 선호, 장황함 선호 — 을 상속하므로 결정적 검증의 대체가 아니라 보조다.

중복제거는 합성에서 특히 중요하다. 합성 데이터는 자기 유사도가 높다 — 같은 모델이 만들었으니 말버릇·구조가 겹친다. MinHash·SimHash·임베딩 군집으로 근사 중복을 걷어 내지 않으면 몇 개 패턴이 과대 대표되어 다양성이 붕괴하고 암기가 는다. 오염 제거는 합성 특유의 위험을 겨냥한다. 교사가 학습 때 본 벤치마크 문제를 그대로 재생해 합성셋에 유입시킬 수 있고, 그러면 학생의 벤치마크 점수가 실력이 아니라 누출로 부풀려진다(4.1). 합성 파이프라인은 반드시 평가셋 오염 제거를 거쳐야 한다.

가장 조용한 위험은 라벨 노이즈다. 합성 라벨은 틀릴 수 있다 — 교사가 환각한 답, 답은 맞지만 논리가 틀린 흔적(3.9.7). 틀린 라벨을 학습하면 오류가 각인되고, 유창한 오류일수록 SFT가 잘 흡수해 더 위험하다. 완화책은 다수결·자기일관성(여러 번 생성해 일치하는 것만), 신뢰도 임계, 검증기 통과분만 사용, 사람 스팟체크다. "강한 모델이 만들었으니 맞겠지"는 위험한 가정이다. 실제로 많은 오픈 결과가 원시 합성보다 잘 필터·검증된 소량 합성이 낫다고 보고한다 — 필터·검증기·중복제거·오염제거를 건너뛴 합성은 값싼 데이터가 아니라 값싼 독이 된다. 합성 파이프라인에서 생성보다 필터가 더 중요할 때가 많다.

3.9.14 데이터 증강 — 무에서 만들지 않고 변형해 불리기

합성이 "무에서 데이터를 만드는" 쪽이라면, 데이터 증강은 기존 데이터를 변형해 불리는 쪽이다. 둘은 스펙트럼으로 이어지고, 어디에 기반을 두느냐가 붕괴 위험을 가른다.

기법무엇을 하나강점위험
패러프레이즈·재작성같은 뜻을 다른 표현으로표면 다양성, 형식 통일의미 왜곡, 원본 편향 유지
역번역(back-translation)A→B→A 번역으로 변형자연스러운 다양성저자원 언어 품질 저하
지시 역생성(instruction backtranslation)좋은 문서에서 "이 답을 낳는 지시"를 역으로 생성실데이터 기반이라 사실성↑지시-응답 정합성 검증 필요
필드 치환·템플릿개체·수치·슬롯을 교체구조 과제에 값쌈·정확다양성이 얕음(표면적)
난이도 진화(Evol)지시를 점점 어렵게 변형난이도 분포 상향비현실적·부자연 지시 양산
혼합·자기대화(self-chat)모델끼리 대화시켜 멀티턴 생성대화 데이터 확보반향실·붕괴 위험

한 축이 이 표를 관통한다. 역번역·지시 역생성처럼 실데이터에 기반을 둔 증강은 순수 합성보다 사실성·다양성이 낫고 붕괴 위험이 낮다. 지시 역생성이 좋은 예다 — 사람이 쓴 실제로 좋은 문서(웹의 잘 쓴 글)를 응답으로 두고, 그 응답을 낳았을 법한 지시를 모델이 역으로 지어낸다. 응답이 실데이터라서 사실성이 모델 환각에 오염되지 않는다. 반대 극단이 자기대화다 — 모델이 모델과 대화하면 편할수록 위험하다. 실데이터의 앵커 없이 모델 분포 안에서만 데이터가 순환하면, 다음 절이 다룰 재귀적 축소로 곧장 향한다.

3.9.15 모델 붕괴 — 재귀 학습의 분포 축소의 수계산

합성데이터의 가장 유명한 경고가 모델 붕괴다. 모델의 생성물로 다음 모델을 학습하고, 그 모델의 생성물로 또 다음 모델을 학습하는 재귀를 상상하자(세대에서 세대로). 각 세대에서 두 가지가 벌어진다.

하나는 꼬리 소실이다. 모델은 드문 사건(분포의 꼬리)을 잘 재현하지 못하고, 유한 표집은 꼬리를 덜 뽑는다. 세대를 거치며 희귀한 표현·소수 관점·긴 꼬리가 먼저 사라진다. 다른 하나는 오차 누적이다. 각 세대의 근사 오차·환각이 다음 세대에게는 "진실"이 되어 누적·증폭된다. 결과는 분포의 축소 — 다양성이 줄고 평균으로 수렴하며, 끝내 몇 개 모드만 반복하는 단조로운 모델이 된다.

값(의견·표현의 다양성) 밀도 세대 0 (실데이터) 꼬리·다양성 풍부 세대 1 꼬리 얇아짐 세대 2 모드 소수화 세대 n 붕괴
모델 붕괴 — 순수 재귀 학습은 세대마다 분포가 좁아진다(개념도).

메커니즘을 직접 이해하려면 가장 단순한 장난감 모델이 낫다. 실제 분포가 정규분포 $\mathcal{N}(0, \sigma^2)$인데, 우리는 매 세대 그것에서 $n$개 표본만 볼 수 있다고 하자. 세대 $k$는 표본 $n$개에서 평균·분산을 추정해 $\mathcal{N}(\hat\mu_k, \hat\sigma_k^2)$을 얻고, 세대 $k+1$은 그 추정된 정규분포에서 다시 $n$개를 뽑는다. 실데이터는 다시 안 본다.

분산 추정치가 어떻게 되는지가 붕괴의 핵심이다. 불편 표본분산을 쓰면 $\mathbb{E}[\hat\sigma_{k+1}^2 \mid \hat\sigma_k^2] = \hat\sigma_k^2$이라, 분산 추정치 수열 $\{\hat\sigma_k^2\}$는 평균이 보존되는 마팅게일이다. 언뜻 "평균이 유지되니 안 무너진다"로 읽기 쉬운데, 이것이 함정이다. 마팅게일이라도 전형적 경로는 0으로 간다. 카이제곱 분포에서 $(n-1)\hat\sigma^2/\sigma^2 \sim \chi^2_{n-1}$이라 $\mathrm{Var}(\hat\sigma^2) = 2\sigma^4/(n-1)$이고, 옌센 부등식으로 로그를 취하면 한 세대당

$$\mathbb{E}\!\left[\log \frac{\hat\sigma_{k+1}^2}{\hat\sigma_k^2}\right] \approx -\frac{\mathrm{Var}(\hat\sigma^2)}{2\,\sigma^4} = -\frac{1}{n-1}$$

만큼 로그 분산이 아래로 표류한다. 즉 전형적으로 매 세대 분산이 $\exp(-1/(n-1)) \approx 1 - 1/(n-1)$배로 줄어든다. 평균은 보존되지만(드물게 큰 값이 출현해 평균을 높인다) 중앙값 경로는 지수적으로 0을 향한다. 이것이 "꼬리 소실 → 다양성 축소"의 정확한 수학이다.

숫자를 넣어 보자. 세대당 표본 $n=100$이면 세대마다 분산이 약 1%씩 준다. 분산이 절반이 되기까지 걸리는 세대 수는 $\ln 2 / (1/99) \approx 0.69\times 99 \approx 69$세대다. $n=1000$이면 세대당 0.1%씩 줄어 절반까지 약 690세대가 걸린다. 여기서 결정적 교훈이 나온다 — 붕괴의 속도가 세대당 표본 수 $n$에 반비례한다. 표본이 적을수록(세대마다 소량 생성) 빠르게 붕괴하고, 표본이 많을수록(세대마다 대량의 신선한 데이터) 느려진다. 그리고 매 세대 실데이터를 다시 섞으면 그 실데이터가 꼬리를 재공급해 표류 자체를 끊는다. 이 장난감이 정규분포 하나를 다룰 뿐이고 실제 LLM은 훨씬 복잡하지만, 붕괴 속도가 표본 규모와 신선한 실데이터에 이렇게 의존한다는 질적 구조는 그대로 살아남는다.

꼬리 소실·오차 누적 섞으면 표류가 끊긴다 모델 세대 n 생성 데이터 모델 세대 n+1 (합성만으로 학습) 실데이터 앵커

3.9.16 모델 붕괴는 실제로 얼마나 위험한가

여기서 정직해야 한다. "AI가 만든 데이터로 인터넷이 오염되면 모델이 다 무너진다"는 서사는 널리 퍼졌지만, 조건을 빼면 오해다. 붕괴를 극적으로 보인 실험들은 대개 극단적 설정에서 그랬다 — 세대마다 이전 세대 데이터를 버리고 합성만으로 재귀 학습(Shumailov et al., Nature 2024 등). 앞 절의 장난감으로 말하면 매 세대 실데이터를 안 보고, $n$이 작은 경우다. 이는 실제 개발 관행이 아니다.

현실에서 붕괴가 완화되는 이유는 앞 절의 수학이 이미 가리켰다. 가장 중요한 것은 실데이터 혼합이다. 각 세대에서 원래의 실데이터를 계속 섞으면 꼬리가 재공급되어 표류가 끊긴다 — 데이터를 버리지 않고 누적하면 붕괴가 오지 않는다는 후속 연구가 있다. 합성은 보충이지 대체가 아니다. 둘째는 큐레이션·필터·검증이다(3.9.13). 실무의 합성은 무필터 재귀가 아니라 필터·중복제거·검증을 거친 데이터이고, 통과분만 남기면 오차 누적이 크게 줄어든다. 셋째는 다양성 통제다(3.9.12) — 커버리지를 강제하면 꼬리 소실이 완화된다. 넷째는 출처 혼합이다 — 한 모델의 자기 생성만이 아니라 여러 모델·실데이터가 섞이면 편향이 상쇄된다.

정리하면 모델 붕괴는 실재하는 메커니즘이지만 "합성데이터는 독"이라는 결론은 과장이다. 위험한 것은 필터 없이, 실데이터 없이, 재귀적으로 합성만 투입하는 극단이다. 실무 처방은 명확하다 — 실데이터를 앵커로 남기고, 필터·다양성·검증으로 큐레이션하고, 합성은 보충으로 쓴다. 이 균형을 지키면 합성은 값싼 독이 아니라 유용한 도구다. 두 극단 — "합성은 독"과 "합성은 공짜 데이터" — 을 모두 피하는 것이 이 절의 요점이다.

3.9.17 법·이용약관 — 폐쇄 API 출력으로 학습하기

블랙박스 증류·합성(3.9.5)의 값싼 매력 뒤에는 법·약관 리스크가 있다. 이 절은 지도만 세우고 상세는 9.3로 넘긴다. 다만 원리는 분명하다 — "API가 뱉은 출력이니 내 마음대로 쓸 수 있다"는 흔한 가정이 가장 위험하다.

이용약관이 첫 관문이다. 주요 폐쇄 API 제공자들은 약관에 "자사 모델 출력으로 경쟁 모델을 개발·학습하는 것"을 금지하는 조항을 두는 경우가 많다(문구·범위는 제공자·시점마다 다르니 각 벤더 약관을 직접 확인해야 한다). 이를 어기면 계정 정지나 법적 조치의 근거가 된다. 여기서 혼동하기 쉬운 점 — 이것은 저작권과 별개의 계약상 의무다. "출력물의 저작권이 누구에게 있느냐"와 무관하게, 약관 위반 그 자체가 리스크다. 출력을 자유롭게 쓸 저작권이 있다 해도 계약으로 그 사용을 금지당할 수 있다.

저작권·소유권은 회색지대다. AI 생성물의 저작권 귀속·보호 가능성은 관할마다 유동적이고, "API 출력은 자유롭게 쓸 수 있는가"에 확정 답은 없다 — 벤더 약관, 관할 저작권법, 학습 데이터의 원저작권이 겹친다. 증류의 합법성도 마찬가지다. 자사·오픈 모델을 대상으로 한 학술적 지식 증류는 확립된 기법이지만, 폐쇄 상용 모델을 몰래 증류하는 것은 약관·영업비밀·경쟁법 측면에서 분쟁 소지가 있다. 실제로 "특정 오픈 모델이 상용 모델을 증류했다"는 의혹·조사·상호 비난이 업계에서 반복돼 왔다 — 진행 중 사안이고 구체 사건의 사실관계·결론은 단정하지 않는다.

탐지 가능성도 무시하면 안 된다. 증류·합성 흔적은 남는다 — 학생이 교사 특유의 말버릇·거절 문구·자기지칭("나는 [교사 이름]입니다")을 재생하거나, 워터마크·통계적 서명으로 추정되기도 한다. "안 걸린다"는 가정은 위험하다. 마지막으로 오픈 웨이트라고 무제한이 아니다. 오픈 모델을 교사로 쓸 때도 그 라이선스(9.2)가 파생물·상업 사용·증류를 허용하는지 확인해야 한다 — "오픈 = 무엇이든 가능"이 아니다.

이 분야는 약관·판례가 유동적이고 벤더마다 다르므로 "이렇게 하면 합법"이라 단정할 수 없다. 실무 원칙만 분명하다 — 교사의 이용약관을 직접 읽고, 관할 법을 확인하고, 데이터 출처·생성 이력을 문서화하고(8.3의 데이터 거버넌스), 필요하면 법률 자문을 받는다. 값싼 데이터가 비용이 큰 소송·평판 리스크로 돌아올 수 있고, 이 판단은 9.1의 전략과 직결된다.

3.9.18 언제 증류·합성이 맞나

이 결정은 트레이드오프로 펼쳐야지 규칙으로 강요할 것이 아니다. 증류·합성이 잘 맞는 상황은 넷이다. 작고 값싼 모델이 필요할 때 — 강한 큰 모델의 능력을 온디바이스(8.4)·저지연·저비용 서빙(7.5)으로 옮겨야 하고, 교사 수준을 넘을 필요는 없을 때. 특화 좁은 과제에서 특히 유효하다. 고품질 데이터가 부족할 때 — 시연·지시 데이터를 사람이 다 쓰기엔 비용이 크고, 검증 가능한 도메인(코드·수학·형식)이라 필터가 강할 때. 추론 능력을 작은 모델에 이식할 때 — 강한 추론 교사의 검증된 흔적을 SFT할 때(3.9.7). 데이터를 정리·형식 통일할 때 — 잡음 많은 원본을 교사로 재작성·정규화할 때(3.9.14).

맞지 않거나 신중해야 할 상황도 대칭으로 넷이다. 교사를 능가하는 모델을 원할 때 — 증류로는 불가하다(3.9.9). 프런티어를 넘으려면 자체 사전학습·정렬이나 새 데이터·RL이 필요하다. 폐쇄 API를 몰래 증류할 때 — 약관·법 리스크(3.9.17), 전략·법무 검토 없이 하지 말 것. 검증기가 없는 주관적 과제일 때 — 품질 담보가 어렵고 라벨 노이즈·붕괴 위험이 크다. 실데이터 없이 재귀적으로만 돌 때 — 붕괴로 향한다(3.9.15). 실데이터 앵커·큐레이션이 필수다.

이 결정은 9.1의 build vs buy 안에 있다. 세 대안을 능력 상한·비용·리스크로 배치하면 이렇다.

접근능력 상한비용데이터·법 리스크
자체 사전학습·정렬높음(교사 없음)매우 높음데이터 저작권(2.1·9.3)
API 그대로 사용교사 수준사용량 비례낮음(약관 준수 시)
증류·합성으로 작은 모델교사 이하중간(1회 생성+학습)약관·증류 회색지대(3.9.17)

내 견해로는, 증류·합성은 "교사 수준의 능력을 더 싸게·더 작게·자기 통제하에 두고 싶다"는 목표에 잘 맞는 중간 길이다 — 단, 세 가지 조건이 충족될 때만. 상한이 교사라는 사실을 받아들일 수 있고, 법·약관 리스크를 감당할 수 있으며, 검증·큐레이션에 투자할 수 있어야 한다. 세 번째가 특히 자주 간과된다. 필터·검증기·중복제거·오염제거 없이 착수하면 값싼 데이터가 아니라 값싼 독을 얻는다는 것이 이 장이 되풀이한 경고다. 반대로 프런티어를 넘고 싶거나, 리스크를 못 지거나, 필터를 갖출 여력이 없다면 다른 길이 낫다.

이 장으로 제3부(사후학습·정렬)를 닫는다. 앞선 장들이 하나의 모델을 정렬하는 법을 다뤘다면, 이 장은 그렇게 다듬은 능력을 값싼 형태로 옮겨 담는 법 — 증류로는 모델에, 합성으로는 데이터에 — 을 다뤘다. 그런데 이렇게 정렬하고 증류하고 합성한 모델이 정말 "좋아졌다"는 것을 무엇으로 아는가. 증류·합성이 만든 점수 상승이 실력인지 벤치마크 누출인지 가르는 눈이 다음 부의 주제다 — 4.1는 표준 벤치마크와 그 함정, 특히 이 장에서 교사가 벤치마크를 재생할 위험으로 예고한 오염을 정면으로 다룬다.