Show GN: korean-llm-v4 출시

1 hour ago 1

이번에 v3보다 학습을 크게 업그레이드된 Korean-llm-v4를 공개합니다

v4를 만들면서 가장 크게 바꾼 건 모델 구조보다 학습 방식입니다.
이전에는 명령어 데이터셋을 중심으로 바로 학습해서, 대화 형식은 어느 정도 따라가더라도 기본적인 한국어 문장력이나 다양한 표현을 배우기에는 한계가 있었고 하나의 대화로 대화방법 + 문법 + 이해에 어려움이 있다보니 이제 일반 모델같이 만들기 위해 먼저 pretraining이후 sft학습을 하도록 세팅하였습니다.

처음부터 거대한 모델을 만드는 일은 생각보다 훨씬 긴 과정인 것 같습니다. 코드가 실행되는 것과 모델이 자연스럽게 말하는 건 완전히 다른 문제였고, 데이터 구성이나 검증 방식도 결과에 큰 영향을 준다는 걸 많이 느꼈습니다.

v4에서는 학습과 검증을 나누고, 긴 답변이 학습 중 잘리지 않도록 처리도 손봤습니다. 프리트레인과 대화형 학습이 이어지도록 만들었고, 중간 결과를 저장해서 나중에 가장 좋은 시점의 모델을 고를 수 있게 했습니다.

아직 학습을 더 진행하면서 확인해야 할 부분이 많지만, 이번 버전은 단순히 모델 크기만 키운 업데이트가 아니라 더 제대로 학습시키기 위한 기반을 만든 버전입니다. 이번에는 v3와 달리 AI가 다 짠게 아닌 제가 공부한 후 타이핑으로 학습구조를 바꾸며 만든 글입니다. '새로운 학습 구조'와 '더높은 성능을 목표'로 만든 새로운 코드입니다.

변경사항:

  • 한국어 프리트레인 데이터셋 기본 설정
  • train/validation 분리 및 validation loss 기록
  • 긴 SFT 예제에서 답변 토큰을 우선 보존
  • 질문 프롬프트 loss 마스킹
  • 프리트레인/SFT 체크포인트 분리 저장
  • 대형 데이터셋 스트리밍 옵션 지원
  • bitsandbytes 미설치 환경의 AdamW 폴백
  • CLI 옵션 수정

(예정) - 리드미 정리 (아직 정리되어있는 상태가 아닙니다.)

조금씩 더 학습해 보면서, 직접 만든 한국어 모델이 어느 정도까지 자연스러워질 수 있는지 계속 확인해 보려고 합니다. 앞으로 더 모델에 대해 공부하겠습니다 감사합니다.

Read Entire Article