본문 바로가기

AI tech

[논문 요약] Kanana: Compute-efficient Bilingual Language Models

안녕하세요! 이 글은 최근에 카카오에서 출시한 Kanana 언어 모델에 대한 논문을 요약한 글로, 한국어 성능에 특화된 대형 언어 모델에 관심이 있는 연구자나 개발자 분들께 인사이트가 될 것이라 생각합니다.

 

논문 리뷰 링크:

논문 링크 : arxiv.org

 

딥러닝 및 자연어 처리, LLM 분야에서 카카오가 어떤 전략을 선택했는지에 대한 유익한 내용이 담겨있으니, 꼭 한 번 확인해 보시길 권장드립니다. 모델 경량화비용 최적화사전 학습 및 후처리 기법을 활용한 최신 연구 및 기술에 관심이 있는 분들에게 유익한 정보가 되기를 기대해 봅니다. 그럼 시작하겠습니다 :)

 

 

Abstract

Kanana의 Pre/Post-training 단계에서 사용한 기술들에 대한 세부 설명 예정

  • Pre-training
    • high quality data filtering
    • staged pre-training
    • depth up-scaling
    • and pruning and distillation.
  • Post-training
    • supervised fine-tuning
    • preference optimization

+ 2.1B ~ 32.5B까지의 파라미터 범위를 가진 모델들이 있음(2.1B 공개, 한국어 언어 모델 연구 활성화 도모)

 

1 Introduction

  • LLM이 발전되어 왔지만, cost또한 상당히 증가함
  • Kanana 모델 패밀리: 낮은 연산 비용으로 SOTA 성능 유지 (2.1B, 9.8B, 32.5B)

  • 효율적 학습: 3조 토큰 데이터셋, 비용 절감 기법 적용
  • 최적화: 가지치기·증류 기법으로 모델 경량화
  • 명령어 모델: 지도 학습·최적화로 다양한 작업 수행
  • 도메인 확장: RAG, 임베딩, 함수 호출 등 적용

→ 비용과 성능의 trade-off를 어떻게 최적화했는지, 어떤 데이터 정제 과정을 거쳤는 지 위주로 논문을 살펴볼 예정

 

2 Pre-training

사전 학습 단계에서 비용을 줄이는데 포커스를 맞춤(2.1에서 결과 공개)

  • 두 가지 enhance 전략
    • data efficiency(2.2에서 공개)
    • training efficiency(model scailing 관련, 2.3에서 공개)

2.1 Performance

  • 평가:
    • 영어/한국어 일반 지식, 코드, 수학적 추론 평가
    • MMLU(영어), KMMLU·HAE-RAE(한국어), HumanEval·MBPP(코드), GSM8K(수학) 벤치마크 사용
  • Kanana Flag 32.5B 성능:
    • Llama 3.1 70B, Gemma 2 27B, EXAONE-3.5-32B보다 높은 성능
    • MMLU, KMMLU 등 지식 기반 이해 평가에서 우수한 결과
    • Llama 3.1 8B보다 적은 연산량으로 높은 효율성
    • **HAE-RAE (한국어 평가)**에서 강력한 성능
  • 비교 모델:
    • Qwen2.5, Gemma 2, EXAONE-3.5, Aya Expanse, Llama 3.1
    • EXAONE, Aya Expanse는 instruct 모델 결과만 제공 (베이스 모델 미공개)
  • 결론:
    • Kanana 모델은 연산 효율성을 유지하면서도 지식 이해 및 한국어 성능이 우수함
    • 동급 오픈소스 모델 대비 경쟁력 있는 성능 제공

2.2 Data

  • 규모: 총 3조 개 토큰(Stage1에서 2.7T, Stage2 에서 300B), 영어·한국어 bilingual 학습.
  • 출처: 영어·한국어 웹, 학술, 코드, 백과사전, 인스트럭션 데이터.
  • 품질 개선 단계:
    • arXiv, Wikipedia 데이터 정제.(생략되거나, 일관되지 않은 paragraph 필터)
    • 오픈소스 코드만 포함, 라이선스 문제 제거.
    • 인스트럭션 데이터 추가로 성능 향상.
  • 필터링:
    • 1차: 중복 제거, 휴리스틱 필터링, PII 익명화(Personally Identifiable Information)
    • 2차: 영어는 DCLM, 한국어는 FineWeb-Edu 기반 FastText 필터 적용.
    • FastText 참고 : https://fasttext.cc/
  • 실험 결과:

  • 핵심 인사이트:
    1. 품질 우선 : 한국어는 양보다 질이 중요함.
      • 한국어처럼 많은 토큰이 없는 언어에서는 질 높은 데이터를 우선적으로 사용하는 것이 효과적이다.
    2. 영어 지식 전이: 영어 품질 개선이 한국어 성능 향상에 기여함.
      • 한국어 데이터 품질이 동일한 조건일 때, 영어 데이터의 품질을 높이면 한국어 관련 벤치마크에서 더 높은 점수를 얻을 수 있다.

2.3 Training Process

컴퓨팅 효율성 향상을 위한 세 가지 기술:

  1. 단계적 사전학습: 8B 및 26.8B 모델을 단계적 프리트레이닝 방법으로 훈련.(from scratch)
  2. depth up-scaling: 26.8B와 8B 모델에서 Kanana Essence 32.5B 및 Kanana Flag 9.8B 모델을 확장.
  3. pruning and distillation: 8B 모델에서 Kanana Nano 2.1B 모델을 프루닝과 증류 기법을 사용하여 훈련 비용을 절감하고 성능을 향상시킴.

2.3.1 Staged pre-training from scratch

  • 목표: 고정된 계산 예산 내에서 성능 최적화.
  • 두 단계:
    • 1단계: 8B 모델을 2.7T 보통 품질(moderate-quality) 데이터로 훈련.
    • 2단계: 300B 토큰으로 모델을 추가 훈련, 고품질 데이터 비율 증가.
  • 고품질 데이터 선별: 이용 가능한 high quality classifiers 활용
  • 혼합 데이터 선정: 데이터 혼합 최적화 실험 및 검토 후 최적 혼합 선택.
  • 효과: 2단계 최종 모델은 KMMLU에서 2.79점, 평균 성능에서 10.63점 향상.
  • → stageed pre-training의 효율성을 보여줌
  • 스케일 확장성: 26.8B 모델에 동일 데이터 혼합 적용 시 뛰어난 성능

2.3.2 Depth Up-scaling(DUS)

  • Stacking Additional Layers
  • 목표: 제한된 자원 내에서 모델 성능 향상.
  • 방법: 모델에 추가 레이어를 쌓아 모델 용량 확장.
  • 적용:
    • Kanana 8B → Kanana Essence 9.8B
    • Kanana 26.8B → Kanana Flag 32.5B
  • 훈련: 동일한 데이터 혼합을 사용하여 1000억 토큰으로 각 모델을 2단계 훈련.
  • 결과:

    • Kanana Essence 9.8B: 평균 성능 57.52에서 60.12로 향상.(? Avg 잘못 쓰여 있는 것 같기도? / 57.44→60.10 으로 이해함)
    • Kanana Flag 32.5B: 평균 성능 67.01에서 69.15로 향상.
  • 비용 절감:
    • 9.8B 및 32.5B 모델을 처음부터 훈련하는 것보다 11.06% 비용 절감.
    • 전체 훈련 자원의 6.67%만 차지.

2.3.3 Pruning and Distillation

  • 목표: 모델 크기를 효율적으로 축소하여 성능을 최적화.
  • 방법: 8B 모델을 기반으로 pruning과 distillation을 개선한 Minitron 기법 사용.
  • 효과: 모델 크기를 10분의 1로 줄이면서도 성능 향상, 훈련 데이터 크기 절감(Table 5 참조).

  • 결과:
    • 2.1B 모델의 경우, pruning과 distillation을 통해 성능이 향상되고, 훈련 토큰 소비가 줄어듦.
    • 2.1B 모델을 두 번 이상 축소하여 KMMLU 성능을 87-99% 유지하면서 모델 크기를 50%로 줄임(Table 6 참조).

  • Minitron 기법 개선:
    • 목표: pruning과 distillation의 효율성 개선.
    • 방법: 임베딩 채널, 피드포워드 뉴런, 어텐션 헤드를 평가하여 중요도 점수 매기기.
    • 성공적인 전략:
      • Layer-wise 점수 합산 방법이 성능에 중요한 영향을 미침.
      • Grouped-Query Attention (GQA) 개선: 쿼리 키-값 정렬을 최적화하여 성능 향상.
  • 모델 축소와 성능 비교:
    • 8B 모델은 다양한 축소된 모델들과 성능 비교.
    • 2.1B 모델은 50.06 점으로 가장 낮은 성능을 기록하지만, 훈련 데이터 크기와 모델 크기 절감을 고려한 효율성을 보임.
  • 데이터 구성:
    • 프루닝 데이터보다 증류 데이터가 성능에 더 큰 영향을 미침.
    • 큰 모델에는 300억 토큰의 고품질 데이터 사용, 작은 모델은 영어 일반 도메인 데이터 비율 증가로 성능 향상.
  • 결론:
    • 종합적 train 전략(단계적 훈련, 깊이 확장, 반복적 pruning 및 distillation)을 통해 계산 자원을 효율적으로 사용하면서 성능이 뛰어난 모델을 생성.
    • 2.1B에서 32.5B 모델까지 다양한 크기의 모델을 효율적으로 개발 성공.

 

3 Post-training

Kanana 모델 개발 과정에서, 자연어로 직접 상호작용을 위한 instruction-tuned 모델 개발.

  • Kanana 모델 성능 강조 (Section 3.1):
    • 주요 결과:
      • 한국어 작업에서 우수한 성능.
      • 다른 작업에서 경쟁력 있는 결과.
  • 세부 사항 (Section 3.2):
    • SFT 및 선호도 데이터셋에 대한 세부 설명.
  • Post-training 테크닉 (Section 3.3)

3.1 Performance

  • 평가:
    • 작업 범위: 대화, 지침 수행, 일반 지식, 코딩, 수학 등의 작업에서 평가.
    • Korean Tasks: Kanana 모델이 LogicKor, KoMT-Bench(대화), KMMLU, HAE-RAE(지식)에서 우수한 성능을 보임.
    • 다른 작업: 수학을 제외한 대부분의 작업에서 경쟁력 있는 성능.
  • 성능:
    • Kanana Flag 32.5B:
      • Korean Chat Tasks(LogicKor, KoMT-Bench): 최고 성능.
      • Korean Knowledge Tasks(KMMLU, HAE-RAE): 최고 성능.
    • 9.8B, 2.1B 모델: 두 번째로 좋은 성능.

→ Zero-shot CoT 방식으로 모델 성능 평가. / 기존에 학습된 내용이나 편향이 없이 모델이 고유하게 갖고 있는 능력만을 평가할 수 있음.

3.2 Data

  • 데이터 수집: 1.2M개의 Instruction Data 인스턴스를 영어와 한국어로 수집.
  • 다양한 요구 사항 반영: 5개 주요 도메인(에 대해 데이터 수집.
    • code: 492K 인스턴스
    • math: 260K
    • instruction following: 230K
    • general chat: 120K
    • safety: 96K윤리, 개인정보, 독성, 편향 관련 프롬프트 포함)
  • Preference Data: 각 도메인별로 데이터를 서브 샘플링하고 균형을 맞추어 처리.

3.3 Training Process

  • 다단계 후속 훈련 절차: SFT(지도학습 미세조정)와 선호 최적화 프로세스를 포함하는 다단계 후속 훈련 절차 채택.
    • 3.3.1: SFT 과정의 detail.
    • 3.3.2: SFT 모델에서 reward 모델을 훈련하여 선호 최적화 과정 준비.
    • 3.3.3: SFT 모델에서 preference 최적화 진행, 오프라인/온라인 과정으로 구성.

→ 훈련의 각 과정에서 모델 크기별로 성능을 개선하며, 그게 수치적으로 평가됨(Figure 4)

  • 훈련 과정:
    • SFT 단계에서 모델은 구조화된 대화 응답을 생성하며 관련 지식을 통합하는 능력을 학습.
    • Preference 최적화 단계에서는 모델의 tone and manner가 정제되어 성능이 향상됨.

3.3.1 Supervised Fine-Tuning

  • SFT 과정: 구조화된 채팅 응답을 생성하고 관련 지식을 통합하는 능력을 개발.
  • 데이터: 3.2에 나왔던 1.2M 개의 데이터 인스턴스를 사용하여 모델을 훈련, 각 도메인별 데이터 비율 최적화.
  • 도메인 특화 데이터: 도메인 특화 데이터를 제외하면 해당 도메인 성능에 부정적인 영향을 미침.
  • → 특정 도메인 데이터를 제외하더라도 다른 도메인 성능에는 영향 없음 발견(Table 9 참조).

 결과: 도메인별 데이터가 포함된 훈련 세트를 활용하여 각 도메인에서 균형 잡힌 성능을 유지.

3.3.2 Reward Model Training

  • 후속 온라인 선호 최적화를 위한 reward 모델 훈련.
  • 선호도 평가를 위해 Bradley-Terry 모델 적용.
  • 훈련 데이터: 오프라인 선호 데이터와 추가적인 공공 선호 데이터를 사용
  • 최적 모델: 다양한 설정에서 훈련된 reward 모델 중 가장 강력한 best-of-N 정책 성능을 보인 모델을 선택.
  • best-of-N 정책 평가:
    • Policy 모델에서 N개의 응답을 생성.
    • Reward 모델로 응답들을 평가하고, 최고 점수를 받은 응답 선택.
    • 최종 응답의 품질을 벤치마크 기준에 맞게 평가.
  • 목표: 선택된 보상 모델이 온라인 선호 최적화 단계에서 응답 분포를 효과적으로 평가할 수 있도록 보장하기 위함.

3.3.3 Preference Optimization

  • SFT 모델 성능 향상을 위해 선호 최적화 과정을 진행.
  • 먼저 오프라인 선호 데이터를 사용해서 오프라인 선호 최적화 적용(DPO, Direct Preference Optimization)
  • 오프라인 DPO 모델에서 시작하여 온라인 선호 최적화 수행.
  • 응답 평가: 정책에서 생성된 응답은 reward 모델(3.3.2절에서 언급)을 사용해 평가.
  • 비동기 응답 샘플링: 온라인 DPO에서 비동기식 응답 샘플링 기법을 사용
  •  반복적인 DPO로 간주할 수 있음
  • 단, 이전과 달리 참조 모델을 업데이트하지 않고 오프라인 DPO 모델을 고정.
  • → 이유: 참조 모델을 업데이트하면 응답 길이가 불필요하게 길어지는 경향이 있었음.

 

4 Adaptations

  • Kanana 모델을 세 가지 인기 있는 LLM 애플리케이션에 적용:
    1. Embedding 모델
    2. Retrieval-augmented 모델
    3. Function calling 모델
  • 실험 결과: 각 벤치마크에서 작업 특화 훈련 기법을 적용하여 Kanana 모델의 성능이 향상됨.
  • 적용 가능성: 다양한 애플리케이션에 Kanana 모델을 적응시킬 수 있는 가능성 확인

4.1 Embedding Models

  • 텍스트 임베딩: 텍스트의 의미를 포착하는 데 중요한 역할을 하는 밀집 벡터 표현.
  • 디코더 전용 언어 모델이 LLM의 성공에 따라 문장 임베딩 모델의 주요 백본으로 자리잡음.
  • Kanana 활용Kanana Nano 2.1B를 LLM2Vec 기법을 사용하여 임베딩 백본으로 활용.
  • 비교 분석: 비슷한 모델 크기를 가진 Llama 3와 Qwen2.5 모델에도 LLM2Vec을 적용하여 성능 비교.

  • 임베딩 모델 평가: Massive Text Embedding Benchmark (MTEB)의 하위 집합을 사용한 검색 과제 평가.
  • 영어 과제: MTEB v2 리더보드에서 나온 10개의 영어 과제.
  • 한국어 과제: Jang et al. (2024)에서 선정한 8개의 한국어 과제.

→ 성능nDCG@10 점수의 평균값을 제공하여 영어와 한국어 검색 과제에 대한 결과 요약.(Table 10 참조)

  • Kanana Nano 2.1B: 임베딩 작업에 효과적인 백본으로 경쟁력 있는 성능을 발휘.
  • 성능 비교:
    • Llama 3.2 1BQwen2.5 1.5B 모델을 영어와 한국어 벤치마크에서 크게 능가.
    • Llama 3.2 3BQwen2.5 3B 모델보다 한국어 평가에서 우수한 성과.
  • 영어 성과: 강력한 영어 점수와 모든 모델 중 가장 높은 평균 점수 기록.
  • 결론: Kanana Nano 2.1B는 검색 작업에 최적화된 파인튜닝 시 강력한 성능을 보여줌.

 

4.2 Retrieval-Augmented Generation

  • RAG: 대형 언어 모델이 최신 외부 정보에 접근하도록 하여, 모델 파라미터를 변경하지 않고도 사실 일관성을 유지할 수 있도록 지원.
  • 추가 데이터 혼합: 사실 일관성을 보장하기 위해 모델의 grounding 능력을 훈련.
  • 평가 기준:
    • ContextualBench: 다중 단계 질문 응답(Multi-hop QA) 테스트.
    • FACTs: 다양한 과제(추론, QA, 요약, 재작성, 추출 등) 포함.
    • IFEval: 모델의 유용성 유지 평가.
  • 한국어 RAG 벤치마크:
    • RAG-General-Bench: 한국어의 사실 일관성 및 유용성 평가를 위한 새로운 벤치마크 개발.
    • 구성: 115개의 샘플, 4개의 주요 작업 및 27개의 하위 카테고리 포함.
  • 데이터셋 생성 과정(Figure 6 참조).
    • 그라운딩 능력 향상: 고품질 bilingual 언어 문서를 사용해 질문-답변(QA) 쌍을 합성 생성
    • 필터링: 그라운딩 점수가 낮은 인스턴스를 필터링, LLM-judge를 사용해 개선.
    • SynQA-SFT: low grounding 인스턴스를 수정한 후, 이를 사용해 응답을 보강하여 SynQA-DPO라는 선호 데이터셋을 생성.
    • SynQA 데이터셋과 함께,
      • RAG 시나리오에서 다양한 문맥 형식과 지침을 적응하기 위해 StructLM과 FollowRAG사용.
      • 1.2M개의 SFT 데이터셋을 재사용하여 훈련 중 모델의 일반 능력 저하 방지.
  • SFT 및 DPO 훈련 과정에서 모델의 helpfulness 점수가 감소하는 현상 관찰됨
    • 문제 해결: DPO 모델과 instruction 모델을 결합하여 helpfulness 점수 유지
  • 최종 성과: Kanana Essence 9.8B RAG는 GPT-4o의 그라운딩 성능의 91.4%를 달성하면서도, instruction 모델의 helpfulness 성능을 유지 (Figure 5 참조).

4.3 Function Calling

  • LLM이 외부 tool 및 데이터베이스와 상호작용하여 최신 정보를 얻는 능력.
  • 한국어 데이터셋korean-fc-corpus 생성 (영어 데이터셋을 한국어로 번역 및 맞춤형 기업 데이터셋 제작).
  • 두 단계 훈련:
    • 도메인 사전 학습: 여러 영어 기반 데이터셋을 사용하여 기능 호출의 기본적인 토큰 및 용어에 대해 학습.
    • SFT: korean-fc-corpus를 사용해 한국어 기능 호출에 특화된 학습.
  • 벤치마크FunctionChat-Bench를 사용하여 한국어 대화형 환경에서 모델 성능을 평가.
    • 단일 호출 정확도와 대화 정확도 측정.
  • 비교 평가: Kanana 8B FC 모델이 GPT 모델들(gpt-4-0125-preview, gpt-4o-2024-05-13)과 비교하여 경쟁력 있는 성능을 보임 (Table 12).

  • 결론 : 중형 LLM에 대해 작업별 미세 조정을 통해 더 효율적이고 비용 절감 가능한 접근법 제공.

 

5 Conclusion

  • Kanana 모델: 크기 {2.1B, 9.8B, 32.5B}의 LLM 시리즈로, 다른 오픈 모델들과 비교하여 비용 효율적인 훈련 절차를 강조.
  • 강력한 이중 언어 능력: Kanana 모델은 KMMLU, HAE-RAE, KoMT-Bench와 같은 한국어 벤치마크에서 최고 성능을 기록하며, 다양한 영어 벤치마크에서도 경쟁력 있는 성과를 보임.
  • 제한 사항: 작은 규모 모델에서의 전반적인 성능 부족, 특히 수학 분야에서의 한계.
  • 향후 계획:
    • 작은 모델 개선과 모든 모델의 수학 능력 향상을 위한 데이터 품질과 혼합 방법을 통한 개선.
    • 비용 효율적인 훈련을 위한 전략적 접근 방식(formulating scaling laws and other training methodologies) 탐색.
    • 이중 언어에서 다중 언어로 확장, 특히 덜 대표적인 언어에 대한 집중.
  • 목표: 성능과 효율성의 균형을 맞추고, 모델의 언어적 범위를 넓혀 나가는 것.

Kanana 모델 개발팀:

  • 앞으로도 계속해서 큰 언어 모델(Large Language Models, LLM) 분야에서 성과를 이루고자 함.
  • 특히, 성능과 효율성의 균형을 맞추고모델의 언어적 범위를 확장하는 데 초점을 맞추고 있음