kakao4분 읽기

큐레이션 요약

더 작고 강해진 Kanana SLM 개발

원문 읽기(새 탭에서 열림)

Kanana-2는 온디바이스 환경에 맞춰 크기와 추론 비용을 줄이면서도 대형 모델에 가까운 성능을 확보한 카카오의 SLM 시리즈다. 3B 모델을 TPU에서 처음부터 사전 학습한 뒤 Instruct 모델을 Teacher로 활용한 Distillation과 Long Context 학습을 적용했으며, 이를 기반으로 1.3B와 0.9B 모델을 단계적으로 압축했다. 또한 한국어 토크나이저 개선과 Sliding Window Attention(SWA)을 도입해 언어 처리량과 메모리 효율을 높였다.

Kanana-2 SLM 개발 배경

  • 대상 모델은 Kanana-2-3B, 1.3B, 0.9B 세 가지다.
  • 3B와 1.3B는 Base 및 Instruct 모델로 공개됐다.
  • 스마트폰 등 온디바이스 환경은 메모리와 연산 자원이 제한적이므로, 작고 빠르면서도 다양한 업무를 처리할 수 있는 SLM이 필요하다.
  • Kanana-2 개발에는 Kanana-2-30B-A3B 개발 경험과 기존 Kanana Nano의 Pruning·Distillation 노하우가 활용됐다.
  • 새로운 핵심 기법으로 Teacher 기반의 off-policy·on-policy 학습, 개선된 Pruning·Distillation, Kanana-2 Tokenizer, SWA가 적용됐다.

3B 모델의 TPU 기반 사전 학습

  • Kanana-2-3B-Base는 TPU v5e 클러스터와 MaxText 기반 자체 학습 프레임워크로 처음부터 사전 학습됐다.
  • TPU에서 사전 학습한 뒤 GPU 클러스터에서 Distillation을 이어서 수행할 수 있도록 TPU와 GPU 간 학습 호환성을 확보했다.
  • 사전 학습은 2단계로 진행됐다.
    • Stage 1: 7.5T 토큰
    • Stage 2: 2T 토큰
  • 전체 사전 학습 구간에 Muon Optimizer를 적용했다.

Proxy Token Scale을 활용한 Learning Rate 탐색

  • 수조 개 토큰 규모의 본 학습에서 Learning Rate를 직접 탐색하는 것은 비용이 지나치게 크다.

  • Stage 1의 데이터 분포를 유지한 채 100B 토큰 규모의 Proxy 학습으로 후보 Learning Rate를 먼저 비교했다.

  • 이후 최적 Learning Rate를 본 학습 규모에 맞게 Token Horizon Scaling 법칙으로 조정했다.

  • 사용한 식은 다음과 같다.

    LR*(Dtarget) ≈ LR*(Dproxy) × (Dtarget / Dproxy)^(-β)

  • Dproxy=100B, Dtarget=7.5T, β=0.32를 사용했다.

  • 토큰 규모가 커질수록 최적 Learning Rate가 작아지는 경향을 반영해, 적은 탐색 비용으로 안정적인 학습 설정을 얻었다.

Instruct Teacher를 활용한 Distillation

  • GPU 기반 Megatron-LM 프레임워크에서 Kanana-2-30B-A3B-Instruct-2601을 Teacher로 사용했다.
  • Base, Instruct, Thinking 모델을 각각 Teacher로 설정해 성능을 비교했다.
  • 실험 결과, 학습 전반에서 Instruct 모델을 Teacher로 사용했을 때 가장 높은 성능을 보였다.
  • 특히 Post-trained 모델을 Teacher로 사용하면 수학과 코드 영역에서 효과가 크다는 기존 연구 결과와도 일치한다.

32K Long Context 학습

  • 4K 컨텍스트에서 YaRN을 적용해 최대 32K 컨텍스트까지 확장했다.
  • Learning Rate decay 단계에서 Mid-training 데이터를 추가해 최종 Base 모델을 완성했다.
  • Kanana-2-3B-Base는 이전 Kanana 3B 모델보다 한국어·영어 지식, 수학, 코드 등에서 향상된 성능을 보였다.
  • 유사한 크기의 오픈소스 SOTA Base 모델과 비교해도 대부분의 평가 영역에서 우수한 결과를 기록했다.

1.3B·0.9B 모델의 단계적 압축

  • 3B Base 모델을 기반으로 1.3B Base와 0.9B Base를 순차적으로 개발했다.
  • 주요 압축 방식은 모델 구조를 줄이는 Structured Pruning과 Teacher의 지식을 전달하는 Knowledge Distillation이다.
  • Pruning 대상에는 Layer, Hidden Dimension, MLP 중간 차원, Attention Head 등이 포함될 수 있다.
  • 기존 Kanana Nano보다 Hidden Dimension pruning 방법을 고도화했다.

PCA 기반 Hidden Dimension Pruning

  • 기존 방식은 Calibration 데이터의 Activation으로 각 Hidden dimension의 중요도 점수를 계산하고, 점수가 높은 차원만 남겼다.
  • 이 방식은 차원을 개별적으로 평가하기 때문에 여러 차원이 함께 형성하는 Hidden representation을 충분히 반영하지 못한다.
  • Kanana-2에서는 Ministral 3의 PCA 기반 pruning을 적용했다.
  • 처리 과정은 다음과 같다.
    1. Calibration 데이터로 Attention RMSNorm, MLP RMSNorm, Final RMSNorm 입력의 Activation 통계를 수집한다.
    2. PCA를 수행해 Global Rotation Matrix를 계산한다.
    3. Token Embedding, Attention, MLP Projection Weight의 입출력에 동일한 회전을 적용한다.
    4. 회전된 표현을 기준으로 Hidden dimension을 축소한다.
  • 이를 통해 개별 차원의 중요도뿐 아니라 여러 차원에 분산된 표현 구조까지 고려하는 것을 목표로 한다.

SWA와 토크나이저를 통한 추론 효율 개선

  • **Sliding Window Attention(SWA)**를 적용해 각 토큰이 제한된 범위의 이전 토큰만 참조하도록 했다.
  • 전체 시퀀스에 대한 Attention을 줄여 Decoding 병목을 완화한다.
  • KV Cache 크기를 축소해 온디바이스 추론에서 메모리 사용량을 줄인다.
  • SWA 구조에 맞춘 Long Context 학습도 별도로 수행했다.
  • Kanana-2 Tokenizer는 주요 언어인 한국어 처리 효율을 기존 대비 30% 이상 개선했다.
  • 토큰 수가 줄어들면 같은 문장을 처리할 때 필요한 연산량과 메모리 사용량도 함께 감소한다.

실용적인 결론

Kanana-2의 접근법은 단순히 모델 파라미터를 줄이는 것이 아니라, 3B 모델의 충분한 사전 학습과 강력한 Teacher Distillation, PCA 기반 구조적 pruning, SWA, 한국어 특화 토크나이저를 함께 최적화한 사례다. 온디바이스 서비스에서는 모델 크기만 비교하기보다 한국어 토큰 효율, KV Cache 메모리, 실제 Decoding 속도, 압축 후 성능 유지율을 함께 평가하는 것이 중요하다.

큐레이션 요약을 이어서 읽어보세요.