서론
Knowledge Distillation은 LLM의 능력을 더 작고 효율적인 Student 모델로 전달하기 위해 널리 사용되는 기술이다.
그러나 공격자가 Teacher API의 응답을 대량 수집하여 Student를 학습시키면, 원본 모델 개발에 투입된 비용을 부담하지 않고도 그 능력을 모방할 수 있는 Unauthorized Knowledge Distillation(무단 지식 증류) 문제가 발생한다.
본 논문에서는 이러한 문제를 해결하기 위해 Teacher의 Reasoning Trace를 재작성하는 Trace Rewriting 방법을 제안한다.
핵심은 Teacher의 정답 정확성과 추론의 의미를 유지하면서 무단 증류를 방어하거나 탐지하는 것이다.
이를 위해 두 가지 목표를 설정한다.
- Anti-Distillation(증류 방어): Teacher의 응답으로 학습한 Student의 성능 향상을 억제한다.
- API Watermarking(증류 탐지): Teacher의 응답에 워터마크를 삽입하여 Student가 해당 응답을 학습했는지 검증한다.
이를 구현하기 위해 LLM 기반 Instruction Rewriting과 Gradient 기반 Rewriting을 연구한다.
실험 결과, 간단한 Instruction 기반 Rewriting만으로도 Teacher의 성능을 유지하거나 향상시키면서 증류 방어 효과를 얻었으며, Student에 전달된 워터마크를 높은 신뢰도로 탐지할 수 있음을 확인하였다.
본론
Problem Setting
공격자는 Teacher \(T\)에 질문 \(q_i\)를 입력하고, 응답 \(r_i\)를 수집하여 Student를 학습시킨다.
\(r_i=T(q_i)\) 이렇게 수집한 질문–응답 쌍은 다음과 같은 데이터셋을 구성한다.
\(D_{\text{clean}}=\{(q_i,r_i)\}_{i=1}^{n}\)
본 논문에서는 이러한 무단 증류를 방어하기 위해 Teacher의 출력만 수정할 수 있는 환경을 가정한다.
Rewriting Teacher
Teacher가 생성한 원본 응답을 Rewriting 함수 \(\mathcal R\)로 수정한 뒤 사용자에게 제공한다.
\(T_{\mathcal R}(q)=\mathcal R(q,T(q))\)
- \(q\): 입력 질문
- \(T(q)\): Teacher의 원본 응답
- \(\mathcal R\): Rewriting 함수
- \(T_{\mathcal R}(q)\): 수정된 최종 응답
이때 최종 정답과 추론의 의미는 유지하면서 Reasoning Trace의 표현 방식을 변경한다.
공격자가 수정된 응답으로 Student를 학습하면 다음과 같다. \(S_{\mathcal R}=\operatorname{Train}(D_{\mathcal R})\)
여기서 \(D_{\mathcal R}\)은 Rewriting된 응답으로 구성된 데이터셋이다.
목표 1: Anti-Distillation
Anti-Distillation은 Teacher의 정확도를 유지하면서 Student의 증류 학습 효과를 감소시키는 것을 목표로 한다.
- Teacher: 정상 사용자에게 정확한 답변 제공
- Student: Rewriting된 응답으로 학습하지만 성능 향상이 억제됨
즉, Teacher의 출력 품질과 Student의 학습 효율을 분리하는 것이 핵심이다.
목표 2: API Watermarking
API Watermarking은 Teacher의 Reasoning Trace에 워터마크 \(\mu\)를 삽입하여, 해당 응답을 학습한 Student에서 워터마크를 탐지하는 방법이다.
워터마크 검증 함수는 다음과 같다.
이를 위해 네 가지 조건을 설정한다.
이를 위해 네 가지 조건을 설정한다.
1. 높은 탐지율 (2a)
워터마크가 삽입된 데이터로 학습한 Student에서는 높은 확률로 워터마크가 탐지되어야 한다.
2 낮은 오탐률 (2b)
워터마크가 없는 Clean Student에서는 워터마크가 거의 탐지되지 않아야 한다.
3 Student 정확도 유지 (2c)
워터마크 삽입으로 인해 Student의 작업 성능이 크게 감소하지 않아야 한다.
4 Teacher 정확도 유지 (2d)
Rewriting으로 인해 Teacher의 정확도가 크게 감소하지 않아야 한다.
여기서 \(\epsilon\)은 탐지 오류와 모델 성능 감소에 대한 작은 허용 오차를 의미한다.
핵심: Teacher와 Student의 정확도를 유지하면서 높은 워터마크 탐지율과 낮은 오탐률을 달성하는 것이다.
Constraints on Rewriting (제약 조건)
본 논문에서는 실제 LLM API 환경을 고려하여 두 가지 제약 조건을 설정한다.
1. Limited Control Scope (제한된 제어 범위)
Teacher 제공자는 자신이 생성한 Reasoning Trace만 수정할 수 있다.
공격자의 Student 구조, 학습 방법, 하이퍼파라미터, 질문 데이터셋 등은 제어할 수 없다.
따라서 하나의 Teacher API에서 응답을 수집하여 Student를 학습시키는 Single-source Distillation 환경을 가정한다.
2 Trace Quality Preservation (추론 품질 유지)
Rewriting 이후에도 최종 정답의 정확성과 추론 과정의 의미적 일관성을 유지해야 한다.
무작위 토큰이나 의미 없는 문장을 삽입하는 방식은 허용하지 않는다.
이는 정상 사용자의 답변 품질을 보존하고, 공격자가 수정된 응답을 쉽게 식별하여 제거하지 못하도록 하기 위함이다.
Rewriting Methods
앞서 정의한 목표와 제약 조건을 만족하기 위해 두 가지 Rewriting 접근 방식을 연구한다.
1. Instruction-based Rewriting
LLM에 특정 지시문을 제공하여 Reasoning Trace를 재작성하는 방법이다.
2. Gradient-based Rewriting
Gradient 기반 최적화를 활용하여 워터마킹 목적에 적합한 Reasoning Trace를 생성하는 방법이다.
두 접근 방식 모두 Teacher의 정답과 의미적 일관성을 유지하면서 Anti-Distillation 또는 API Watermarking 효과를 얻는 것을 목표로 한다.
Methodology (제안 방법론)
첫 번째는 LLM에게 특정 지시문(Prompt)을 제공하여 추론 과정을 재작성하는 방법으로 Teacher가 생성한 Reasoning Trace를 다른 LLM에게 전달하고, 특정 지시문에 따라 추론 과정을 재작성하도록 하는 방식이다.
Rewriting을 수행하는 방법은 두 가지이다.
- Semantic Prompting: 사람이 직접 작성한 지시문으로 추론 과정을 변경
- Optimized Prompting: LLM이 효과적인 지시문을 자동으로 탐색하고 개선
Semantic Prompting
사람이 직접 작성한 자연어 지시문을 통해 Teacher의 정답과 의미는 유지하면서 Reasoning Trace를 재작성하는 방법이다.
이를 두 가지 목적에 활용한다.
- Anti-Distillation: Student의 학습 효율을 낮추도록 추론 과정을 재작성한다.
- API Watermarking: 특정 Trigger–Target 패턴을 추론 과정에 삽입하여 Student에 워터마크가 전달되도록 한다.
- Tigger: 특정 반응을 유도하는 단어나 문구
- Target: Trigger가 등장했을 때 출력하도록 유도하는 특정 표현
예를들어 워터마크를 다음과 같이 설정했다고 하자
Trigger = "사과"
Target = "반짝이는 별"
이것은 "사과"라는 단어가 등장하면 "반짝이는 별"이라는 표현이 출력되도록 하는 규칙이다.
Rewriting 과정은 다음과 같다.
\(\mathcal R(q,r)=\mathcal A(p_r,r)\)
- \(\mathcal A\): Rewriting을 수행하는 보조 LLM
- \(p_r\): 사람이 작성한 Rewriting 지시문
- \(r\): Teacher의 원본 Reasoning Trace
별도의 Gradient 최적화 없이 LLM의 의미 이해 능력을 활용하여 추론 과정을 수정한다.
① 질문 \(q\)
자동차가 100km를 주행하는 데 연료 5L를 사용했다. 200km를 주행하려면 몇 L가 필요한가?
② Teacher의 원본 추론 \(r\)
100km에 5L를 사용하므로 1km당 0.05L가 필요하다. 따라서 200 × 0.05 = 10L이다.
③ Rewriting 지시문 \(p_r\)
정답과 의미는 유지하되, Student가 일반적인 문제 해결 규칙을 학습하기 어렵도록 구체적인 중간 추론 과정을 생략하라.
④ 보조 LLM \(\mathcal A\)의 출력 \(r'\)
주어진 주행 거리와 연료 사용량을 계산하면 필요한 연료는 10L이다.
Optimized Prompting
Semantic Prompting은 사람이 직접 지시문을 작성하므로, 해당 지시문이 증류 방어에 얼마나 효과적인지 보장하기 어렵다.
이를 개선하기 위해 Student의 학습 성능을 가장 많이 감소시키는 프롬프트를 자동으로 탐색하는 Optimized Prompting을 사용한다.
본 논문에서는 OPRO(Optimization by Prompting)를 활용하며, 다음 과정을 반복한다.
- 기존 프롬프트와 평가 점수를 저장한다.
- Optimizer LLM이 이전 결과를 바탕으로 새로운 프롬프트를 생성한다.
- 생성된 프롬프트로 Reasoning Trace를 재작성한다.
- 재작성된 데이터로 Proxy Student를 학습시켜 성능 감소를 측정한다.
- 평가 결과를 바탕으로 더 효과적인 프롬프트를 탐색한다.
여기서 Proxy Student는 실제 공격자의 Student를 대신하여 방어 효과를 평가하는 실험용 모델이다.
Optimizer LLM이 다음과 같은 후보를 생성한다.
- Prompt A: 중간 계산 과정을 간결하게 작성하라.
- Prompt B: 중간 계산을 생략하고 최종 결과 중심으로 설명하라.
- Prompt C: 일반적인 풀이 공식을 생략하고 해당 문제에 대한 설명만 작성하라.
Teacher의 응답 Rewriting
- Teacher LLM
질문: 15 × 12는?
출력:
15 × (10 + 2) = 150 + 30 = 180
- Optimizer LLM
Prompt B 생성:
중간 계산을 생략하고 최종 결과 중심으로 설명하라.
- Assistant LLM (보조 LLM)
입력:
- Teacher의 원본 응답
- Optimizer가 생성한 Prompt B
출력:
주어진 두 수를 곱하면 180이다.
\(\text{방어 점수} = \text{원본 Student 정확도} - \text{Rewriting Student 정확도}\)
\(f(p)= \frac{1}{|\mathcal S_{\text{proxy}}|} \sum_{S\in\mathcal S_{\text{proxy}}} \left[ \operatorname{Acc}(S_{\text{clean}},D) - \operatorname{Acc}(S_{\mathcal R_p},D) \right]\)
- \(S_{\text{clean}}\): 원본 Teacher 응답으로 학습한 Student
- \(S_{\mathcal R_p}\): 프롬프트 \(p\)로 재작성한 응답으로 학습한 Student
- \(D\): 성능 평가 데이터셋
- \(f(p)\): 프롬프트의 증류 방어 효과
Rewriting 이후 Student의 정확도가 많이 감소할수록 \(f(p)\)가 증가하므로, 이 값을 최대화하는 프롬프트를 탐색한다.
| Proxy Student | Clean 정확도 | Rewriting 정확도 | 감소량 |
|---|---|---|---|
| Student A | 90% | 60% | 30%p |
| Student B | 80% | 50% | 30%p |
| Student C | 85% | 70% | 15%p |
이때 방어 점수는
\(f(p)=\frac{0.30+0.30+0.15}{3} = 0.25\)
평균적으로 Student의 정확도를 25%p 감소시킨 프롬프트라는 뜻.
Gradient-Based Rewriting
Instruction-Based Rewriting과 달리, Gradient-Based Rewriting은 Student의 학습 Loss를 증가시키는 방향으로 Reasoning Trace를 직접 수정하는 방법이다.
실제 공격자의 Student에는 접근할 수 없으므로, Proxy Student를 사용하여 최적화한다.
다만 특정 Proxy Student에만 효과적인 Rewriting이 생성되는 Overfitting 문제가 발생할 수 있다.
Reasoning Trace는 Token으로 구성되므로, Token 자체를 직접 수정하는 대신 Embedding 공간에서 Gradient를 이용해 추론 과정을 교란한다.
목표는 수정된 Reasoning Trace로 Student를 학습했을 때, 평가 데이터에서 Loss가 최대한 증가하도록 만드는 것이다.
\(\max_{\mathbf E'}\mathcal L_{\text{test}}(\mathbf E') = \mathcal L(\theta(\mathbf E');D_{\text{test}})\)
- \(\mathbf E'\): 교란된 Reasoning Trace의 Token Embedding
- \(\theta(\mathbf E')\): 교란된 데이터로 Fine-tuning한 Student의 파라미터
- \(D_{\text{test}}\): Student 성능을 평가하는 데이터셋
Student가 Rewriting된 데이터를 학습하더라도 실제 평가에서는 좋은 성능을 얻지 못하도록 Embedding을 수정하는 것이다.
Teacher의 정답은 유지하면서, Student가 해당 응답으로 학습했을 때 수학 문제 해결 성능이 떨어지도록 만드는 것.
Teacher의 원본 Reasoning Trace
질문: 15 × 12는?
Teacher 출력:
15 × 10 = 150, 15 × 2 = 30, 따라서 180이다.
공격자가 이 응답들을 수집하여 Student를 학습하면 수학 문제 해결 능력이 향상될 수 있다.
Reasoning Trace를 Embedding으로 변환
원본 응답의 각 Token을 Embedding 벡터로 변환
\(r \rightarrow E=[e_1,e_2,\ldots,e_n]\)
예를 들어 특정 Token의 Embedding이 다음과 같다고 가정한다.
\(e_1=[0.2,\ 0.5,\ -0.3]\)
Gradient로 Embedding 교란
이제 Student가 학습한 이후 평가 Loss가 증가하도록 Embedding을 수정하는 것: \(E'=E+\Delta E\)
예를 들어: \(e_1'=[0.25,\ 0.45,\ -0.28]\)
여기서 \(\Delta E\) 는 Student의 평가 Loss를 높이는 방향으로 계산한 교란이다.
핵심은 단순히 현재 Student가 틀리게 만드는 것이 아니라, 수정된 데이터로 Fine-tuning한 Student가 평가 문제를 잘 풀지 못하는 방향으로 임베딩을 수정하는 것
수정된 Embedding을 다시 Token으로 변환
Embedding은 숫자 벡터이므로 실제 API 응답에 사용할 수 없어.
따라서 수정된 Embedding과 가까운 Token을 선택하여 텍스트로 변환해.
원본 응답
15 × 10 = 150, 15 × 2 = 30, 따라서 180이다.
교란 이후 응답 (가상 예시)
15와 12의 곱을 계산하면 결과는 180이다.
최종 정답은 180으로 동일하지만, Student가 학습하는 중간 추론 정보는 달라졌지.
다만 실제 Gradient 최적화가 반드시 이런 자연스러운 문장을 만들어 주는 것은 아니며 Embedding을 Token으로 변환하면서 의미나 문법이 손상될 수도 있다.
Proxy Student 학습 및 평가
예를들어 두 Student가 다음과 같은 결과가 나왔따면
| 구분 | 학습 데이터 | 평가 정확도 |
|---|---|---|
| Clean Student | 원본 Reasoning Trace | 90% |
| Poisoned Student | 교란된 Reasoning Trace | 55% |
Poisoned Student의 정확도가 55%로 감소했으므로, Embedding 교란이 증류 학습을 방해했다고 판단할 수 있다.
Student의 평가 Loss를 증가시키는 방향으로 Embedding을 반복적으로 업데이트한다.
\(\mathbf E^{(k+1)} = \Pi_\epsilon \left( \mathbf E^{(k)} + \alpha\cdot \operatorname{sign} \left( \nabla_{\mathbf E^{(k)}}\mathcal L_{\text{test}} \right) \right)\)
- \(\alpha\): Embedding 업데이트 크기
- \(\nabla_{\mathbf E}\mathcal L_{\text{test}}\): 평가 Loss를 증가시키는 Gradient
- \(\Pi_\epsilon\): 원본 Embedding에서 \(\epsilon\)이상 벗어나지 않도록 제한하는 함수
Gradient Ascent로 Student의 평가 Loss를 증가시키되, Embedding의 변화량을 제한하여 원본 추론 과정과의 차이를 줄인다.
평가 Loss를 정확하게 최적화하려면 Student의 Fine-tuning 과정까지 고려해야 하므로 계산 비용이 크다.
이를 해결하기 위해 세 가지 방식을 사용한다.
| 방법 | 핵심 아이디어 | 특징 |
|---|---|---|
| HB-Grad | Hessian 기반으로 Student 학습 이후의 Loss 변화를 근사 | 계산 비용이 큼 |
| FO-Grad | 현재 Student의 Cross-Entropy Loss를 직접 증가시키는 1차 Gradient 사용 | 계산 비용이 상대적으로 적음 |
| RHB-Grad | HB-Grad에서 Proxy Student의 파라미터에 Gaussian Noise 추가 | 특정 Proxy Student에 대한 과적합 완화 시도 |
공격자
- 이미 사전학습된 Student LLM을 보유하고 있음.
- 우리 Teacher의 출력을 수집하여 추가 Fine-tuning(SFT)을 수행하려고 함.
- 목표: Teacher의 지식을 학습하여 Student의 성능을 향상시키는 것.
방어자 (우리)
- Teacher의 출력을 Rewriting하여 공격자에게 제공함.
- 목표: 공격자가 해당 출력으로 Fine-tuning하더라도 Student의 성능 향상을 억제하는 것.
Teacher가 다음과 같은 Reasoning Trace를 생성했다고 하자.
15 × 12 = 180
Student는 이전 Token들을 바탕으로 다음 Token을 예측한다.
- 입력:
15 × 12 = - 예측할 정답:
180 - 정답 예측 확률: 60%
- Loss: 0.51
FO-Grad로 Embedding 교란
FO-Grad는 15 × 12 =에 해당하는 입력 Embedding을 수정한다: \(E\rightarrow E'\)
이때 Student의 가중치는 고정되어 있다.
수정된 Embedding을 가장 가까운 Token으로 변환했더니 다음과 같은 문장이 나왔다고 가정하자.
15와 12를 곱하면 180
그러면 Student의 예측 상황이 다음처럼 달라질 수 있다.
- 입력:
15와 12를 곱하면 - 예측할 정답:
180 - 정답 예측 확률: 13.5%
- Loss: 2.0
한계: 그러나 수정된 Teacher 출력이 처음에는 예측하기 어렵더라도 Fine-tuning을 통해 충분히 학습할 수 있다.
FO-Grad는 현재 Student의 Loss를 증가시키지만, 공격자가 수정된 Teacher 출력으로 Fine-tuning하면 Student가 해당 데이터에 적응할 수 있다는 한계가 있다.
따라서 HB-Grad는 수정된 Teacher 출력으로 Student를 Fine-tuning한 이후의 평가 Loss가 증가하도록 Embedding을 수정한다.
Teacher의 Reasoning Trace 수정
Teacher가 다음과 같은 Reasoning Trace를 생성했다고 하자.
15 × 12 = 180
Embedding을 수정하여 새로운 Reasoning Trace를 생성한다: \(E\rightarrow E'\)
수정된 데이터로 Student를 Fine-tuning했을 때를 고려
FO-Grad와 달리 HB-Grad는 수정된 데이터를 학습했을 때 Student의 가중치가 어떻게 변하는지 고려한다.
\(\theta \rightarrow \theta(E')\)
- \(\theta\): Fine-tuning 이전 Student의 가중치
- \(\theta(E')\): 수정된 데이터로 Fine-tuning한 이후 Student의 가중치
Fine-tuning 이후 평가 Loss를 증가시키도록 수정
예를 들어 Student가 수정된 15 × 12 문제를 학습한 이후, 새로운 문제인 23 × 14를 얼마나 잘 푸는지 평가한다고 하자.
| 구분 | 원본 Teacher 출력으로 학습 | 수정된 Teacher 출력으로 학습 |
|---|---|---|
| Fine-tuning 이전 평가 Loss | 1.5 | 1.5 |
| Fine-tuning 이후 평가 Loss | 0.3 | 1.2 |
원본 Teacher 출력으로 학습한 Student는 평가 Loss가 0.3까지 감소했지만, 수정된 출력으로 학습한 Student는 1.2에 머물렀다.
즉, Student가 수정된 데이터를 학습하더라도 새로운 문제에 대한 성능 향상이 제한되도록 하는 것이다.
이를 수식으로 나타내면 다음과 같다.
\(\max_{E'}\mathcal L_{\text{test}}(\theta(E')) \)
여기서 HB-Grad는 학습 이후의 파라미터 변화를 고려하기 위해 Hessian 기반 근사를 사용한다.
HB-Grad는 Proxy Student의 학습 이후 평가 Loss를 증가시키도록 Embedding을 수정한다.
하지만 특정 Proxy Student에만 효과적인 교란이 생성될 수 있다는 문제가 있다.
따라서 RHB-Grad는 Gradient 계산 전에 Proxy Student의 파라미터에 Gaussian Noise를 추가하여, 특정 Proxy Student의 파라미터에 과적합되는 문제를 완화하고자 한다.
현재 Proxy Student의 파라미터가 다음과 같다고 가정하자.
\(\theta=[0.5,\ 0.3,\ 0.8]\)
HB-Grad는 이 모델을 기준으로 Student의 학습 이후 평가 Loss를 높이는 Embedding 교란 \(\Delta E\)를 찾는다.
그런데 공격자의 실제 Student는 파라미터가 다를 수 있다. \(\theta_{\text{attacker}}=[0.6,\ 0.2,\ 0.9]\) 예를 들어 두 가지 교란 후보가 있다고 하자.
| 교란 후보 | Proxy Student 평가 Loss | 공격자 Student 평가 Loss |
|---|---|---|
| 교란 A | 3.0 | 0.5 |
| 교란 B | 2.5 | 2.2 |
HB-Grad는 Proxy Student의 Loss가 가장 높은 교란 A를 선호할 수 있다.
그런데 공격자의 Student에서는 교란 A가 거의 효과가 없고, 오히려 교란 B가 더 효과적이다.
즉, Proxy Student 하나에서 가장 강력한 교란이 다른 Student에서도 가장 강력한 것은 아니라는 문제가 있다.
이를 해결하기 위해 RHB-Grad(Robust Hessian-Based Gradient)는 Proxy Student의 파라미터에 Gaussian Noise를 추가한다.
- \(\theta\): Proxy Student의 기존 파라미터
- \(\delta\): 파라미터에 추가하는 Gaussian Noise
- \(\tilde{\theta}\): 교란된 Proxy Student의 파라미터
예를 들어 원래 파라미터가 다음과 같다면, \(\theta=[0.5,\ 0.3,\ 0.8]\)
Gaussian Noise를 여러 번 샘플링하여 다음과 같은 파라미터를 얻을 수 있다.
\(\begin{aligned} \tilde{\theta}_1&=[0.51,\ 0.28,\ 0.82]\\ \tilde{\theta}_2&=[0.47,\ 0.33,\ 0.79]\\ \tilde{\theta}_3&=[0.54,\ 0.31,\ 0.76] \end{aligned}\)
위 파라미터는 동일한 Proxy Student의 파라미터를 조금씩 변경한 상태들을 고려한다는 것이다.
그러면 각각에 \(\tilde{\theta}_1,\; \tilde{\theta}_2,\; \tilde{\theta}_3\) 대해 평가 Loss가 증가하는 Embedding 방향을 계산한다.
- \(\tilde{\theta}_i\): Gaussian Noise를 추가한 초기 Proxy Student 파라미터
- \(\tilde{\theta}_i^*\): 그 상태에서 수정된 Teacher 출력으로 Fine-tuning한 이후의 파라미터
즉, 세 가지 파라미터 상태에서 학습한 이후의 평가 Loss 평균을 최대화하는 하나의 \(\Delta E\)를 찾는 것.
따라서 RHB-Grad는 특정 Proxy Student에만 효과적인 교란을 피하고, 파라미터가 조금씩 다른 Student에서도 평가 Loss를 증가시킬 수 있는 Embedding 교란을 찾는 방법이다.
수정된 Embedding을 Token으로 변환
Gradient-Based Rewriting은 Embedding 공간에서 교란을 수행하지만, 실제 Teacher API는 텍스트 형태의 응답을 제공해야 한다.
따라서 K번의 Gradient 업데이트가 끝나면 수정된 Embedding과 가장 가까운 Token을 선택하여 Reasoning Trace를 복원한다.
\(r'^{(t)} = \arg\min_{v\in\mathcal V} \left\| e'^{(t)}-\operatorname{Embed}(v) \right\|_2\)
- \(e'^{(t)}\): 수정된 \(t\)번째 Token의 Embedding
- \(\mathcal V\): 모델이 사용하는 전체 Token 집합(Vocabulary)
- \(\operatorname{Embed}(v)\): Token \(v\)의 Embedding
- \(\arg\min\): 수정된 Embedding과 거리가 가장 가까운 Token을 선택
즉, Vocabulary에서 가장 가까운 Embedding을 가진 Token으로 대체하는 것이다.
Teacher가 다음 Reasoning Trace를 생성했다고 가정하자.
15 × 10 = 150, 15 × 2 = 30, 따라서 180이다.
특정 Token의 원본 Embedding이 다음과 같다고 하자.
\(e=[0.20,\ 0.50,\ -0.30]\)
Gradient-Based Rewriting을 통해 Embedding이 수정되었다.
\(e'=[0.25,\ 0.45,\ -0.28]\)
수정된 Embedding \(e'\)와 Vocabulary의 Token Embedding 사이의 거리를 계산한다.
| Token 후보 | Embedding과의 거리 |
|---|---|
따라서 | 0.08 |
그러므로 | 0.03 |
그리고 | 0.15 |
가장 가까운 Token이 그러므로이므로 해당 Token을 선택한다.
원본 Reasoning Trace
15 × 10 = 150, 15 × 2 = 30, 따라서 180이다.
수정된 Reasoning Trace
15 × 10 = 150, 15 × 2 = 30, 그러므로 180이다.
이처럼 수정된 Embedding을 Token으로 변환하여 최종 API 응답을 생성한다.
Experiments
Teacher의 Reasoning Trace를 수정한 뒤, 해당 출력으로 Student를 Fine-tuning했을 때 성능이 어떻게 달라지는지 평가한다.
무단 증류 방어 효과 및 Reasoning Trace의 중요성
실험 목적: OPT가 Student의 증류 성능을 얼마나 감소시키며, 그 효과가 추론 과정의 학습 정보를 제한하는 것과 어떤 관련이 있는지 확인한다.
| 학습 데이터 | Student 정확도 |
|---|---|
| 원본 Reasoning Trace | 74.9% |
| OPT로 수정한 Reasoning Trace | 13.6% |
| 최종 정답만 제공 | 6.1% |
원본 Reasoning Trace (74.9%)
Teacher가 정답뿐 아니라 중간 계산 과정까지 제공한다.
15 × 10 = 150, 15 × 2 = 30, 따라서 180이다.
Student는 정답과 함께 문제 해결 방법을 학습하여 높은 성능을 얻는다.
OPT로 수정한 Reasoning Trace (13.6%)
Teacher의 최종 정답을 유지하면서 추론 과정을 수정한다.
Student는 수정된 추론 과정을 학습하지만, 원본 Reasoning Trace로 학습했을 때보다 성능이 크게 떨어진다.
최종 정답만 제공 (6.1%)
Teacher가 중간 추론 과정 없이 정답만 제공한다.
180
Student는 문제 해결 과정에 대한 직접적인 설명을 학습하지 못하므로 성능 향상이 제한된다.
실험 결과
- 원본 Reasoning Trace를 학습한 Student는 74.9%의 정확도를 달성했다.
- OPT를 적용하면 정확도가 13.6%로 감소하여 강력한 증류 방어 효과를 보였다.
- 이는 정답만 제공했을 때의 정확도인 6.1%에 가까운 수준이다.
OPT는 Teacher의 최종 정답과 추론 과정을 제공하면서도, Student가 Reasoning Trace를 통해 얻는 학습 효과를 크게 제한했다.
Teacher의 성능은 유지되는가?
실험 결과: Teacher의 GSM8K 정확도가 88.8% → 약 91.7%로 증가했다.
| 구분 | 원본 Teacher | OPT 적용 Teacher |
|---|---|---|
| GSM8K 정확도 | 88.8% | 91.7% |
우리 Teacher가 다음 질문을 받았다고 하자.
15 × 12는?
Teacher는 정상 사용자에게 여전히 정답인 180을 제공해야 한다.
기존 증류 방어는 Student가 제대로 학습하지 못하게 하려고 Teacher의 답변 품질까지 떨어뜨리는 경우가 있었다.
반면 본 논문의 OPT는 추론 과정을 수정하면서도 최종 정답을 유지하거나 잘못된 추론을 일부 바로잡는 효과를 보였다.
즉, 정상 사용자는 비교적 정확한 답변을 받지만, 공격자가 대량으로 수집하여 Student를 학습할 때는 학습 효율이 떨어지도록 유도하는 것이다.
어떤 Rewriting 방법이 가장 효과적인가?
실험 결과: Gradient-Based Rewriting보다 Optimized Prompting이 전반적으로 우수했다.
무단 증류를 탐지할 수 있는가?
실험 결과: 검증 질문 20개를 사용했을 때 Student 모델에 따라 99~100%의 워터마크 탐지율을 기록했다.
Anti-Distillation은 공격자의 학습을 방해하는 것이지만, API Watermarking은 공격자가 우리 Teacher의 출력을 학습했는지 확인하는 것이다.
예를 들어 Teacher가 특정 조건의 질문에 대해 특별한 응답 패턴을 포함하도록 Reasoning Trace를 수정한다고 가정하자.
공격자가 이러한 출력을 대량 수집하여 Student를 학습시키면, Student가 해당 응답 패턴까지 학습할 수 있다.
나중에 우리가 의심되는 Student에게 특정 검증 질문을 보냈을 때 워터마크 패턴이 나타난다면, 무단 증류의 흔적으로 판단할 수 있다.
공격자가 Rewriting을 우회할 수 있는가?
실험 결과: Paraphrasing, KPOD 등의 공격으로 증류 방어 효과를 충분히 회복하지 못했다.
공격자가 Teacher 출력이 수정되었다는 사실을 알고 있다고 가정하자.
그렇다면 공격자는 다음과 같이 생각할 수 있다.
Teacher 출력이 학습에 불리하다면, 문장을 다시 바꾸거나 중요한 추론 단계만 집중해서 학습하면 되지 않을까?
논문은 이러한 상황을 실험했다.
Paraphrasing
수집한 Reasoning Trace를 다른 표현으로 다시 작성한 후 Student를 학습시킨다.
KPOD
Reasoning Trace에서 중요한 추론 단계에 더 높은 학습 가중치를 부여한다.
그러나 실험에서는 두 방식 모두 Student의 성능을 충분히 회복시키지 못했다.
단순히 문장을 바꾸거나 중요한 부분에 집중해서 학습하는 것만으로는 OPT의 증류 방어를 쉽게 우회하지 못했다.
Teacher의 Reasoning Trace 품질은 유지되는가?
실험 결과: Reasoning Trace 품질 평가에서 원본은 4.01/5점, OPT는 3.83/5점이었다.
| 구분 | 측정 대상 | 원본 | OPT 적용 후 | 결과 |
|---|---|---|---|---|
| Teacher 정확도 | 수학 문제의 정답을 맞히는 비율 | 88.8% | 91.7% | 증가 ↑ |
| Reasoning Trace 품질 | 추론 과정의 논리성·자연스러움·가독성 | 4.01/5점 | 3.83/5점 | 감소 ↓ |
| Student 정확도 | Teacher 출력으로 학습한 Student의 문제 해결 능력 | 74.9% | 13.6% | 감소 ↓ |
Conclusion
본 논문은 LLM의 무단 Knowledge Distillation을 방어하기 위해 Teacher의 Reasoning Trace를 선택적으로 수정하는 Trace Rewriting 프레임워크를 제안한다.
이를 통해 두 가지 목표를 달성하고자 한다.
- Anti-Distillation: Teacher의 정답 정확도를 유지하면서, 공격자가 해당 출력으로 Student를 학습했을 때 성능 향상을 억제한다.
- API Watermarking: Teacher의 출력에 워터마크를 삽입하여, 이를 학습한 Student에서 무단 증류의 흔적을 탐지한다.
핵심은 Teacher의 정상적인 답변 품질을 최대한 유지하면서 무단 증류를 방해하거나 탐지하는 것이다.
Limitations
1. Gradient-Based Rewriting의 높은 계산 비용 및 낮은 효과
- HB-Grad 등은 Hessian 계산과 반복적인 Embedding 업데이트가 필요하므로 계산 비용이 높다.
- 실험 결과, Gradient 기반 방법은 Prompt 기반 Rewriting보다 증류 방어 효과가 낮았다.
- 이러한 성능 차이가 발생하는 원인은 충분히 분석하지 못했다.
2. Proxy Student에 대한 의존성
- 실제 공격자의 Student에 접근할 수 없으므로 Proxy Student를 이용해 Rewriting 효과를 평가한다.
- 여러 Proxy Student를 사용하는 Ensemble로 과적합을 완화하지만, 알려지지 않은 Student 구조에서도 동일한 방어 효과가 나타난다는 보장은 없다.
3. SFT 기반 증류에 한정된 실험
- 실험은 주로 Teacher의 출력을 정답 데이터로 사용하는 SFT 기반 Knowledge Distillation에 집중되어 있다.
- RL 기반 증류 등 다른 증류 방식에서도 효과적인지는 추가 검증이 필요하다.
Comment