GoiBERT가 두 교사 이단계 증류로 베트남어 소형 인코더를 만든다

GoiBERT: Compact Vietnamese Language Models via Two-Stage Knowledge Distillation

arXiv2610.30067v1

Quang Anh Kiet Tran2026-10-21조회 1

무엇인가

이 논문은 베트남어 자연어 이해용 인코더를 배포 비용 문제로 다룬다. 기존 최강 모델인 CafeBERT는 559M 파라미터이고 45% 이상이 다국어 임베딩 행렬에 있으며, PhoBERT는 추론 때 외부 단어 분절기를 요구한다. 가장 작은 강한 단일언어 베이스라인 BamiBERT도 102M 파라미터다. CPU, 소형 GPU, 낮은 지연 예산에서 쓸 수 있는 분절 없는 소형 인코더가 없다는 것이 출발점이다.

어떻게 동작하나

GoiBERT는 RoBERTa 구조를 따르며 BamiBERT의 20,481 토큰 어휘와 토크나이저를 재사용해 원문을 바로 처리한다. base는 10층, 은닉 384, 6헤드, FFN 1,536으로 26.4M, large는 12층, 은닉 512, 8헤드, FFN 2,048로 49.4M이다. 임베딩 비중은 base 33%, large 23%로 CafeBERT 46%, XLM-R 69%보다 낮다. large의 단어 임베딩은 BamiBERT의 768차원 행렬을 512개 주성분으로 투영해 초기화하고, 트랜스포머 블록은 무작위 초기화한다.

무엇과 다른가

1단계 일반 증류는 같은 토크나이저를 쓰는 BamiBERT를 고정 교사로 두고 비라벨 텍스트에서 중간 표현을 맞춘다. 학생 은닉 상태는 학습 가능한 선형 투영으로 교사 차원에 맞춘 뒤 패딩이 아닌 위치에 대해서만 MSE를 계산하고, 헤드 수가 달라 헤드 평균 어텐션 분포끼리 MSE를 계산한다. 손실은 은닉 MSE와 어텐션 MSE의 합이다. large는 12층 대 12층으로 층을 일대일 대응하고, base는 10층이라 교사 12층 중 10층을 순서 보존 방식으로 고른다. HPLT 3.0, 위키피디아, 일부 벤치마크 훈련 분할에서 모은 328.6M 토큰을 쓰고 검증·테스트와 정확 일치나 13-gram 겹침이 있는 구절은 제거한다.

어떻게 쓰나

2단계 과제 증류는 559M CafeBERT의 출력 소프트 라벨을 쓰되, 교사가 본 적 없는 예제에만 라벨을 주도록 5겹 교차 적합을 한다. 훈련 세트를 5폴드로 나누고 각 4폴드로 CafeBERT를 파인튜닝해 남은 1폴드만 예측하게 하므로 모든 훈련 예제가 폴드 밖 소프트 타깃을 받는다. 이는 큰 교사가 훈련 예제에 과적합해 예측이 거의 원-핫이 되는 문제를 피하려는 설계다. 학생은 gold 라벨 CE와 교사 소프트 분포 KL을 α=0.5, T=2로 결합해 학습하고, 출력 수준 감독이라 토크나이저 불일치를 맞출 필요가 없다. NER에서는 두 모델 예측을 각 원래 음절의 첫 서브워드에 정렬한다. 파인튜닝 때 층별 학습률 감쇠 γ=0.8을 적용해 하위 층을 더 보수적으로 업데이트한다.

전제와 한계

실험은 8개 베트남어 과제, 15개 지표, 3개 시드로 수행한다. UIT-VSFC 감정·주제, ViSpamReviews 스팸, UIT-ViSFD와 UIT-ABSA Restaurant/Hotel, ViNLI, PhoNER_COVID19를 쓰고 PhoBERT-base-v2, ViSoBERT, BamiBERT, XLM-R-base, CafeBERT와 비교한다. GoiBERT-large는 평균 81.13으로 PhoBERT-v2 80.71, BamiBERT 80.65를 앞서고 8개 중 5개 과제에서 비교사 모델 최고다. BamiBERT 대비 ABSA-Restaurant pair F1 +2.47, ABSA-Hotel +1.73, VSFC-Topic macro-F1 +1.54다. 15지표 평균은 large 84.02, BamiBERT 83.61, base 82.98이다. base는 26.4M, 4.8 GFLOPs로 평균 80.02를 내 BamiBERT 평균의 99.2%를 4분의 1 크기로 유지한다.

압축 비용은 과제에 따라 다르다. BamiBERT가 ViNLI에서 large보다 1.66점, PhoNER에서 0.85점 높고, PhoBERT-v2는 외부 단어 분절을 쓰는 PhoNER와 VSFC-Sentiment에서 비사용 모델 중 최고다. 반면 분류에서는 large가 559M 과제 교사보다 평균 80.19 대 79.98로 약간 높고 ViSpam, ABSA-Hotel, VSFC-Topic에서 교사를 앞선다. ViNLI를 제외하면 large는 나머지 7개 과제 평균 81.50으로 CafeBERT 81.94보다 0.44점 낮을 뿐이며 파라미터는 11분의 1이다. 효율은 BamiBERT 대비 large가 GPU 처리량 2배, 최대 메모리 절반, CPU 지연 37% 감소이고 base는 초당 문장 3.5배, 메모리 3분의 1 미만이다. 다만 base는 FLOPs가 4.7분의 1인데 GPU 속도는 3.5배, CPU는 2.2배에 그쳐 레이어 정규화와 임베딩 조회 같은 메모리 병목과 고정 오버헤드가 드러난다.

절제 실험에서 1단계 일반 증류는 조합적 이해가 필요한 과제에 결정적이다. 처음부터 학습한 소형 모델은 ViNLI macro-F1 45.02, ABSA-Restaurant pair F1 59.35에 그쳤지만 large는 1단계로 각각 31.2점, 13.5점을 회복했다. 폴드 밖 CafeBERT 증류는 6개 설정 중 5개를 최대 3.0점 올리고, 층별 학습률 감쇠는 두 변형 모두 모든 과제에서 0.9~1.8점을 더한다. 실무에서는 정확도 우선이고 GPU가 있으면 large, CPU 전용·엣지·대량 배치 라벨링처럼 예산이 빡빡하면 base가 낫다. NLI 비중이 큰 서비스라면 더 큰 인코더가 여전히 유리하다.

저자들은 비교의 공정성 한계를 인정한다. BamiBERT 재실험은 단순 CE 파인튜닝인 반면 GoiBERT는 CafeBERT 증류, 층별 학습률 감쇠, 벤치마크 훈련 텍스트가 포함된 일반 증류 코퍼스의 이점을 함께 받는다. large 변형은 이전 테스트 결과를 본 뒤 개발해 테스트 피드백이 모델 개발에 일부 영향을 줬다. 일반 증류는 한 번만 실행해 시드 범위가 파인튜닝 변동만 반영하고 신뢰구간이나 유의성 검정은 아니다. 절제 실험은 3개 과제뿐이고 구성 요소를 하나씩 더해 상호작용을 완전히 분리하지 못한다. 256토큰까지만 증류해 긴 입력, 미지 도메인, 방언 변화는 검증하지 않았고, 효율 수치는 인코더 추론만 측정해 토크나이징, 과제 헤드, 과제별 5개 폴드 밖 CafeBERT 교사 학습 비용은 제외한다. 사회적 편향 감사도 하지 않았다.