Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[2024.08.30] Gemma-Ko, 오픈 언어모델에 한국어 입히기 @ 머신러닝부...

Beomi
August 27, 2024

[2024.08.30] Gemma-Ko, 오픈 언어모델에 한국어 입히기 @ 머신러닝부트캠프2024

Beomi

August 27, 2024
Tweet

More Decks by Beomi

Other Decks in Research

Transcript

  1. Gemma = 영어만 배운 작은 Gemini Gemini: 구글의 LLM/LMM Gemma:

    구글의 Gemini와 동일한 토크나이저를 가진, 영어로만 학습한 오픈 LM * 같은 토크나이저를 가졌지만 학습 데이터가 다르다!
  2. Gemma 2 vs Gemma 1 Gemma 1: 2024.02 릴리즈 …

    4개월 후 … Gemma 2: 2024.06 릴리즈! - 그 사이에는 - PaliGemma (멀티모달, 2024.05) - Recurrent Gemma (긴 시퀀스, 2024.04)
  3. Gemma-2 vs Gemma-1 - Online Knowledge Distillation - 27B 모델은

    13T Tokens 학습 - 9B 모델은 27B 모델의 Logits x 8T - 2B 모델은 27B 모델의 Logits x 2T
  4. Knowledge Distillation – Minitron case - Llama 3.1을 증류 -

    모델에서 일부만 선택 (모델 크기 축소) + Knowledge Distillation 학습 - Llama 3.1 8B → 4B
  5. Gemma vs Gemma-Mling Model Haerae (acc) KMMLU (em) Ko-Boolq (acc)

    Ko-Copa (acc) Ko-Hellaswag (acc-norm) Avg. gemma-7b-ko (80B) 60.59 39.35 64.60 83.60 61.60 61.95 gemma-7b-mling (60B) 65.72 41.95 86.25 83.70 63.40 68.20 의외로 괜찮은 한국어 벤치마크 성능 MMLU 61.76 KMMLU 42.75 Yi-Ko-DUS(9B)가 43.35 Yi-Ko-6B가 약 41
  6. 1. 한국어 문법을 잘 지킨다. 2. 한국인스럽게 말한다. 3. 한국

    문화를 잘 안다. 4. 한국어로 다양한 지식 답변을 잘 한다. 5. …
  7. Continued Pre-training의 목적 1. "한국을 보다 잘 아는 언어모델" 만들기

    → 모델이 한국을 잘 모르니까(배운 적이 없으니), 한국 데이터를 넣어주자. 2. 영어 모델에 저장된 지식을 "한국어로 자연스럽게 말하게" 만들기 → 좋은 영어 성능을 보이는 모델을 지식과 지능을 "한국어로" 말하게 하자. 현재 Gemma-Ko 학습의 방향: (1)번 앞으로 언어 특화 Continued Train의 방향: (2)번
  8. Gemma-Ko/Mling 학습은 어떻게? - TPU v4-256 (or v3-128) 환경, JAX

    + Flax - Gemma-EasyLM 깃헙 코드에 공개! QR/링크 → → https://github.com/Beomi/Gemma-EasyLM - 약 ~500GB 내외의 데이터로 학습
  9. 어떤 데이터를 사용하나요? AI Hub 데이터 모두 모으면 약 100GB

    모두의 말뭉치 모두 모으면 약 50GB 웹 사이트 커뮤니티 데이터, 블로그나 카페 등 수백GB 쇼핑몰 리뷰, 네이버 댓글 등 데이터 수십GB 네이버 뉴스 댓글 KcBERT 데이터 ~100GB ... 이렇게 모두 모아 텍스트만 찾아서 EleutherAI/DPS 로 Document 단위 중복제거 약 350GB+a 수준의 한국어 데이터셋
  10. 현실적으로 사용 가능한 컴퓨팅 리소스 - Google Colab – 한달에

    $50, A100 40G - Kaggle Notebooks – 무료, 사용량 제한적, TPU v3-8 VM - Runpod – A100 80G $2/hr → 현실적으로 A100 40G~80G 수준에서의 학습
  11. 적은 리소스로 풀 파인튜닝을 돌리고 싶어요 "LoRA도 써봤고, QLoRA도 써봤는데,

    LoRA 말고 Full Finetune을 해보고 싶어요." → QLoRA보다는 많이 쓰지만 그래도 더 적은 리소스를 쓰는 방법! → A100 40G(Colab)에서 Gemma-2-9B Full Finetune
  12. AdaLomo로 구글 코랩(A100)에서 Gemma-2-9B 풀파인튜닝 LOMO: LOw-Memory Optimization - LoRA

    급 메모리만 쓰는 작고 성능 좋은 옵티마이저 Colab URL →
  13. LLM 시대에 'AI' 서비스를 만드는 과정 1. LLM API (e.g.,

    Gemini pro, GPT4o, …)으로 체크 → 만약 LLM API로 불가능하면 서비스 자체를 재고려 2. LLM API 중에서 가벼운 모델로 바꾸기 + Prompt → 작은 모델에 더 긴 prompt 가격 vs 큰 모델 가격 3. 작은 모델에서는 안되고 큰 모델에서만 되면.. → 큰 모델에서 생성된 데이터셋으로 작은모델 파인튠 4. 작은 모델에서 가능하면… → 오픈 모델 중에서 큰 모델을 LoRA 학습 5. 오픈 모델 중 큰 모델에서 되면… → 같은 계열의 작은 모델에 데이터셋 넣어 파인튠 6. 도메인 지식이 부족하다고 느끼면… → 최대한 관련 지식의 정확한 질문답변 셋 학습 7. 그래도 부족하거나 / 데이터셋 생성이 어려우면.. → 이때 Continued Pretrain 준비