PMOPD가 태스크별 업데이트 부분공간 보호로 다중 교사 증류 충돌을 줄인다

PMOPD: Task Ordering, Cycling, and Parameter-Update Subspace Protection in Multi-Teacher On-Policy Distillation

HF Daily2609.34605

Youzhi Liu, Ruobing Zheng, Boyuan Tong2026-09-28조회 3

무엇인가

여러 전문 교사 모델의 능력을 하나의 학생 모델에 넣는 다중 교사 온폴리시 증류(MOPD)는 추론 시점 라우팅이나 다중 모델 서빙 비용 없이 수학·추론·코드 같은 능력을 통합하는 사후학습 방식으로 자리 잡았다. 문제는 여러 교사가 같은 학생 파라미터에 동시에 작용한다는 점이다. 목적함수가 서로 양립할 필요가 없기 때문에 한 도메인을 개선하면 다른 교사에게서 얻은 능력이 눌리는 '능력 시소'가 생긴다. 기존 OPD 연구는 목적함수 설계, 증류 범위, 교사 신호 구성처럼 단일 태스크 증류를 최적화하는 데 집중했고, 단순 태스크 혼합은 도메인 간 간격을 줄일 뿐 충돌하는 업데이트 방향을 식별하지도, 앞선 교사가 만들어 둔 유용한 변화를 보호하지도 못한다.

어떻게 동작하나

이 논문은 개별 미니배치 그래디언트가 아니라 태스크 블록 전체의 누적 파라미터 변위를 본다. 그 결과 OPD 업데이트는 태스크마다 서로 다른 저차원 부분공간에 빠르게 집중하며, 그 지배적 특이 부분공간은 학습 초반에 안정화된다. 학습 20% 시점에 추출한 부분공간이 최종 부분공간과 평균 0.62의 유사도를 보였고, 같은 태스크의 독립 샤드끼리는 정렬이 높은 반면 Math·Code·Reason의 top-16 업데이트 부분공간 간 유사도는 0.133에서 0.151에 그쳤다. 태스크별 방향이 이렇게 분리되어 있으니, 나중 업데이트에서 겹치는 성분만 골라 제거하면 전체 파라미터 공간을 얼릴 필요 없이 간섭을 통제할 수 있다는 것이 저자들의 논리다.

무엇과 다른가

제안 방법 PMOPD는 태스크를 순서 있는 블록으로 나눠 학습한다. 각 2차원 학습 파라미터 행렬마다 블록 시작과 끝의 가중치 차이로 실현된 변위를 만들고, 이를 randomized truncated SVD로 근사해 상위 K=16개의 우특이벡터를 남긴다. 좌특이벡터가 아니라 우특이벡터를 쓰는 이유는 보호 연산이 그래디언트와 옵티마이저 업데이트 행렬의 오른쪽에 작용하기 때문이다. 새 태스크의 방향은 기존 메모리와 이어 붙인 뒤 축소 QR 분해로 직교화해 중복 방향을 제거하고, M^T M = I를 만족하는 보호 부분공간을 유지한다. 이후 그래디언트 G를 보호 부분공간 성분 G∥ = GMM^T와 나머지 G⊥ = G − GMM^T로 나눠 G⊥만 남기고 전역 그래디언트 노름 클리핑을 적용한다. 여기서 끝나지 않는 이유는 Adafactor 같은 옵티마이저의 원소별 적응적 전처리가 이미 투영된 그래디언트를 보호 부분공간 쪽으로 다시 회전시킬 수 있기 때문이다. 그래서 전처리 후의 옵티마이저 업데이트 U도 U⊥ = U − UMM^T로 한 번 더 투영한 뒤 가중치를 갱신한다. 메모리는 사이클마다 빈 상태에서 다시 쌓여 현재 궤적을 따라가며 무한히 커지지 않는다.

어떻게 쓰나

태스크 순서와 사이클 수는 경량 진단으로 정한다. 방향성 충돌 r(a→b)는 태스크 a의 메모리 M_a에 대해 태스크 b의 그래디언트가 얼마나 정렬되는지를 프로베니우스 노름 비로 재고, 이를 대칭화해 태스크별 평균 충돌 점수를 만든다. 측정값은 Code 22.34%, Reason 28.50%, Math 29.38%였고, 낮은 순서대로 배열한 Code → Reason → Math가 6가지 순열 전수 평가에서도 평균 65.81로 가장 좋았다. 순열 간 평균 격차는 2.97점으로 순서가 실제로 결과를 바꾼다. 전체 학습 데이터 대신 폴드당 60개 예시만 쓰는 충돌 프로브로도 10개 폴드 모두 Code < Reason < Math 순위를 재현했고, 평균 추정치는 28.04%, 35.75%, 36.97%였다. 사이클 수는 1·2·4·5·8·10개를 비교했을 때 4개가 66.97로 정점이었고 1개는 65.81, 10개는 65.37로 떨어졌다. 같은 태스크를 연속 방문할 때 추정한 부분공간 간 유사도도 4개 사이클에서 0.525로 가장 높았고 10개에서는 0.424까지 내려갔다. 블록이 짧으면 누적 변위가 안정될 데이터가 부족하고, 블록이 길면 같은 태스크 재방문 사이에 궤적이 표류한다는 양방향 절충이다.

전제와 한계

실험은 Qwen2.5-7B와 Llama-3.1-8B 두 모델 패밀리에서 진행했다. 교사는 각 패밀리의 같은 베이스 체크포인트에서 도메인별 강화학습으로 특화시켜, 교사 간 차이가 사전학습 이력이 아니라 도메인 RL에서만 나오도록 통제했다. Math는 NuminaMath-CoT의 orca_math 분할, Reason은 CommonsenseQA, Code는 APPS를 쓰고 태스크마다 OPD 프롬프트 600개를 배분했으며, 4사이클 설정에서 태스크 블록당 150개가 된다. 배치 크기는 16, 결과는 서로 다른 시드 3회 평균이다. 비교 대상은 베이스 모델, 단일 도메인 교사, 파라미터 병합, 미니배치 안에서 태스크를 섞는 MOPD, 태스크 동질 미니배치를 교차시키는 BB-MOPD, 그리고 Open-MOPD 재현본이다. Qwen2.5-7B에서 PMOPD는 세 태스크 평균 66.97로 MOPD를 2.54점, BB-MOPD를 3.08점 앞섰고, MOPD 대비 Math +2.22, Reason +1.72, Code +3.67을 기록했다. Llama-3.1-8B에서는 평균 41.04로 MOPD를 2.09점, BB-MOPD를 4.75점 앞섰고 Math +3.11, Reason +0.82, Code +2.33이었다. 두 모델 패밀리 모두 평가한 모든 태스크에서 점수가 올랐다는 점, 즉 성능을 도메인 간에 재분배한 것이 아니라 통합 자체를 강화했다는 점을 저자들은 강조한다.

투영 단계별 기여도 분리 실험도 있다. 같은 Code → Reason → Math 순서, 4사이클, 같은 데이터와 최적화 예산을 쓰고 투영만 끈 변형은 평균 63.85였고, 그래디언트 투영을 켜면 66.22로 올라 Reason과 Code에서 효과가 두드러졌다. 여기에 전처리된 옵티마이저 업데이트 투영까지 더하면 66.97이 되면서 Math와 Code 최고 기록이 나왔다. 완전한 파이프라인은 투영 없는 대응 변형보다 3.12점 높다. 그래디언트 공간 보호와 옵티마이저 업데이트 교정이 서로 보완적이라는 해석이다.

실무에 적용하려면 먼저 자신의 태스크 집합에서 충돌 프로브를 돌려 순서를 정하고, 사이클 수는 같은 태스크의 사이클 간 부분공간 유사도를 지표로 삼아 고르는 흐름이 자연스럽다. 보호 메모리를 2차원 파라미터 행렬마다 따로 만들기 때문에 K=16 기준으로 메모리와 투영 비용이 작다는 점, 그리고 그래디언트 클리핑 전에 투영하고 옵티마이저 업데이트에도 한 번 더 투영해야 한다는 점이 구현 시 놓치기 쉬운 지점이다. 옵티마이저를 Adafactor가 아닌 것으로 바꾼다면 두 번째 투영의 필요성과 효과를 다시 확인해야 한다.

저자들이 명시한 한계는 별도 절로 정리되어 있지 않지만 본문에 전제가 드러나 있다. 검증은 Math·Reason·Code 세 태스크와 Qwen2.5-7B·Llama-3.1-8B 두 패밀리에 한정되며, 교사들이 모두 같은 베이스 체크포인트에서 출발한 통제된 설정이라 사전학습 이력이 다른 교사를 섞는 경우로 일반화되는지는 확인되지 않았다. 부분공간 차원 K=16과 reverse-KL 목적함수, Adafactor 옵티마이저는 고정된 선택이다. 또한 순서와 사이클 수를 전수 탐색 대신 경량 진단으로 정하는 것이 목적인데, 태스크 수나 학습 규모가 커지면 진단 자체의 신뢰도와 비용을 다시 따져야 한다.