NL-265, RedWhale: An Adapted Korean LLM Through Efficient Continual Pretraining, Preprint 2024
◼ Comment
- continual pretraining으로 한국어 모델을 만드는 시도를 한 것이다
- SOLAR기반에다가 한국어데이터를 추가적으로 학습한건데
- 한국어 데이터는 오픈된 데이터를 모아다가 전처리하여 품질좋은걸로 선별했다고함
- 다양한 필터링 기법들을 썼다고 보여주고 (자세히는 아니지만)
- 꽤 많이 필터링된거 같다
- 해당 데이터로 토크나이저도 새로 만든다
- 해당하는 임베딩도 학습하는게 첫 번째 학습 단계인데, 어떻게 초기화할지 다양한 실험을 하였다.
- 랜덤초기화, 토큰임베딩 평균 등 어떻게 하냐에 따라 성능이 조금씩 달라지고 가장 좋았던건 Token Decomposition for Embedding and LM Head라고한다
- 이는 새로운 토큰을 기존 토크나이저로 쪼갠 결과의 토큰임베딩의 평균을 초기화로 가져가고
- 더불어서 LM Head도 이 방법대로 초기화를 시키는 것이라고 함
- 위에서 첫번째 단계 학습하고 2단계 학습이 남았는데 2번째는 아래와 같음
- 2. Transformer Block 적응 단계에서는 Embedding과 LM Head의 변경사항을 반영하기 위해, 사전학습된 Transformer Block을 조정하였다.
- 이 블록들은 모델의 핵심 구조로서 주의(attention) 메커니즘과 복잡한 연산을 수행한다.
- 모든 레이어를 동시에 학습하는 대신, 일부 레이어를 고정시키고 나머지를 순차적으로 학습하는 방식이 적용되었다.
- 구체적으로는 홀수 번째 레이어(1, 3, 5 등)를 먼저 학습하고, 이후 짝수 번째 레이어(0, 2, 4 등)를 학습하는 방식으로 진행되었다.
- 이러한 방식은 적은 GPU 메모리로도 학습이 가능하며, 모델 각 부위가 데이터의 다른 측면을 학습하게 만들어 전체 모델의 다양성과 일반화 능력을 높일 수 있다.
- GPU 부족 때문에 그런것 같음. 모델의 일반화 능력을 높일 수 있다고 하는데.. 실험이 있는것은 아니여서 과연..?
- 아니면 왜 이렇게 굳이 하는지는 와닿지는 않음
- 3번째 학습단계는 아래와 같음
- 3. 마지막으로 모델 통합 단계에서는 앞서 통합된 Embedding, LM Head, 그리고 조정된 Transformer Blocks를 하나로 묶어 전체적으로 재학습하였다.
- 이 단계는 전체 모델의 성능을 극대화하고 구성 요소 간의 상호작용을 조정하기 위한 과정이다.
- 전체 레이어를 대상으로 미세조정을 진행하여 각 부분이 조화를 이루도록 하였고, LoRA와 같은 파라미터 효율적 기법을 적용하여 최종적으로 모델의 학습 효율과 일관성을 향상시켰다.
- 마지막 학습은 Instruction fine-tuning이라 보면 됨
- 이렇게 학습된 모델을 평가하는게 상당히 부실하다고 느꼈다
- llm 논문을 많이 본 것은 아니지만, 평가하는 과정이 아쉽게 느껴졌다
- 벤치마크도 부족하고 실험도 부족한 느낌이다
- 그래도 이렇게 한국어 llm을 만드는 시도를 테크리포트 느낌으로 공개한게 좋은거 같다
- 관련 논문이 거의 없다시피해서;;
ABSTRACT
자연어처리(NLP) 분야는 대형 언어 모델(LLM)의 발전과 함께 괄목할 만한 진전을 이루어왔습니다. 그러나 대부분의 연구는 영어에 집중되어 있으며, 한국어와 같은 저자원 언어는 종종 간과되고 있습니다. 이러한 간과는 한국어의 비알파벳 기반 토큰 구조의 특수성과 LLM 학습에 필요한 막대한 메모리 및 계산 자원으로 인해 발생하는 메모리 한계 및 OOM(Out-Of-Memory) 오류 등의 문제를 초래합니다.
이러한 문제를 해결하기 위해, 우리는 한국어 처리에 특화된 모델인 RedWhale을 소개합니다. RedWhale은 효율적인 지속적 사전학습(continual pretraining) 방식을 기반으로 개발되었으며, 포괄적인 한국어 코퍼스 전처리 파이프라인, 특수 설계된 토크나이저, 최적화된 모델 초기화 기법, 다단계 사전학습 전략 등을 포함합니다. 이러한 혁신 요소들은 학습 시간과 계산 비용을 줄이면서도 높은 정확도와 이해력을 유지할 수 있도록 돕습니다.
또한, RedWhale은 언어 간 공통된 언어적 유사성을 활용하는 **교차언어 전이학습(cross-lingual transfer learning)**을 통해 영어 모델을 기반으로 한국어 처리 성능을 강화합니다. 실험 결과, RedWhale은 한국어 NLP 벤치마크인 **KoBEST(Korean Balanced Evaluation of Significant Tasks)**를 포함한 다양한 평가에서 다른 주요 모델들을 능가하는 성능을 보였으며, 한국어 텍스트의 이해 및 생성 측면에서 탁월한 결과를 나타냈습니다.
더불어, RedWhale은 97억 토큰에 대해 사전학습을 진행한 후에도 수렴(convergence) 징후를 보이지 않아, 추가 학습을 통해 더 높은 성능 향상의 가능성을 내포하고 있습니다. 이 연구는 특히 한국어 NLP 역량 향상을 통해 언어적 격차를 해소하는 데 중요한 진전을 이룬 것으로 평가됩니다.
1 Introduction
자연어처리(NLP) 분야의 최근 발전은 대형 언어 모델(LLM)의 개발과 활용을 통해 크게 가속화되었습니다. 이러한 모델들은 텍스트의 이해 및 생성 능력을 크게 향상시켜 다국어에 걸친 인공지능 일반화(AGI) 실현에 한 걸음 더 다가가고 있습니다. 그러나 대부분의 LLM 개발은 영어에 집중되어 있어, 한국어와 같은 비영어권 언어에 대한 다국어 처리 역량은 현저히 부족한 실정입니다.
이러한 문제를 해결하기 위해, 본 연구에서는 한국어에 특화된 LLM인 RedWhale을 소개합니다. RedWhale은 고도화된 한국어 코퍼스 전처리 파이프라인, 한국어 전용 토크나이저, 효율적인 모델 초기화 기법, 연속적 다단계 사전학습 전략 등 여러 가지 혁신을 통합한 모델입니다. 이러한 요소들은 한국어 텍스트의 이해 및 생성 능력을 크게 향상시키며, 비용 효율적인 방법으로 한국어 NLP 성능을 개선하여 고급 언어 기술의 접근성과 효과를 높입니다.
RedWhale의 개발은 Mistral 7B(Jiang et al., 2023)의 grouped-query attention과 sliding window attention 기법, 그리고 LLaMA2(Touvron et al., 2023)의 향상된 성능과 효율성에서 영감을 받았습니다. 중국어에 특화된 Efficient and Effective Text Encoding for Chinese LLaMA and Alpaca(Cui et al., 2024), 한국어 어휘 확장을 시도한 EEVE-Korean(Kim et al., 2024), 그리고 LLaMA-2-Ko의 어휘 확장과 한국어 코퍼스 기반의 적응, SOLAR 10.7B의 depth up-scaling 방식은 비영어권 언어를 위한 포괄적이고 효율적인 LLM 개발의 흐름을 반영합니다.
일반적으로 LLM 개발은 **사전학습(pretraining)**과 **모델 정렬(model alignment, 또는 사후학습)**의 두 단계를 거칩니다.
-
사전학습은 대규모 데이터에 기반하여 언어의 일반적 패턴과 구조, 표현을 학습하며 모델에 기본적인 언어 이해력을 부여합니다.
-
그 후 모델 정렬 단계에서는 특정 과제나 윤리적 기준에 맞추어 모델을 세부 조정하게 됩니다.
본 연구에서는 기존 사전학습 과정에 언어 적응(language adaptation) 단계를 추가하였습니다. 구체적으로, 영어 기반의 사전학습 모델을 시작점으로 하여 한국어에 특화된 추가 사전학습을 수행함으로써, 한국어에 최적화된 모델을 구축하였습니다. 이 과정은 다양한 한국어 다운스트림 작업에 이상적인 초기화를 제공합니다.
**지속적 사전학습(continual pretraining)**에서는 다음 두 가지 문제를 반드시 고려해야 합니다:
-
파국적 망각(catastrophic forgetting) 방지
-
**지식 전이(knowledge transfer)**를 통한 최종 과제 성능 향상
RedWhale의 목표는 특히 한국어 처리 성능 향상에 초점을 맞추고 있으며, 이에 따라 사전학습의 효과는 Causal Language Modeling(CLM) 지표로, 그리고 최종 성능은 **KoBEST(Kim et al., 2022)**와 같은 고급 한국어 과제를 통해 평가하였습니다.
📌 본 연구의 주요 기여는 다음의 네 단계로 요약됩니다:
-
한국어 코퍼스 품질 향상
-
노이즈 제거와 일관성 확보를 통해 고품질 데이터를 선별하여 전처리함으로써, 학습 효율성과 정확도를 높이고 계산 비용을 절감했습니다.
-
-
효율적인 한국어 토크나이저 개발
-
SentencePiece 기반의 토크나이저를 한국어 코퍼스에 맞춰 학습하고, 기존 모델의 불필요한 토큰을 제거한 후 결합하여 보다 정교하고 효율적인 토크나이저를 구현했습니다.
-
-
모델 가중치의 효과적인 초기화
-
특히 Embedding 및 LM Head의 초기화를 최적화하여, 기존 사전학습 가중치를 최대한 활용하고 새롭게 추가된 한국어 토큰에 대해 정밀한 가중치 계산을 수행함으로써 학습 비용을 크게 절감했습니다.
-
-
포괄적인 다단계 사전학습 전략 도입
-
하드웨어 제약을 고려한 4단계 학습 전략을 적용하였습니다.
-
Embedding 및 LM Head 학습
-
Transformer 블록(레이어) 순차 조정
-
LoRA(Hu et al., 2021)를 통한 전체 모델 정렬
-
사전학습 후, 일반적인 instruction tuning 및 금융 QA 태스크를 통한 정렬 평가
-
-
이 연구는 한국어를 포함한 비영어권 언어에 특화된 효율적인 LLM 개발의 구체적 방법론을 제시하며, 언어 장벽을 극복하고 보다 포용적인 AI 시스템 구축에 기여하는 중요한 진전을 이룹니다.
2 관련 연구
이 장에서는 RedWhale 모델 개발의 기반이 되는 선행 연구들을 정리합니다. 먼저, LLaMA2(Touvron et al., 2023), Mistral(Jiang et al., 2023) 등 주요 대형 언어 모델(LLM)들과 그 파생 모델들을 살펴보며 시작합니다. 특히, 중국어에 맞춰 지속적 사전학습을 수행한 중국어 LLaMA2 변형 모델(Cui et al., 2024)은 중국어 텍스트에 대한 이해와 생성 능력이 향상된 것을 보여주며 주목을 받았습니다.
또한, 한국어에 맞춰 LLaMA2를 조정한 초기 시도인 open-llama-2-ko-7b 모델은 LLaMA2의 한국어 적응 가능성을 보여주는 사례로, 언어 특화 모델 개발에 대한 가능성을 제시합니다. 이와 함께, EEVE 모델(Kim et al., 2024)은 SOLAR 모델(Kim et al., 2023)을 한국어에 맞춰 조정하기 위한 정교하고 복잡한 기술을 적용하고 있습니다. 하지만 이러한 방식은 일부 지속적 사전학습 환경에서는 지나치게 복잡할 수 있다는 한계도 존재합니다.
보다 넓은 맥락에서, GPT-4(OpenAI, 2024), Gemini(2024), Claude(Anthropic, 2023), PaLM(Anil et al., 2023), HyperCLOVA X(Yoo et al., 2024)와 같은 대형 기술 기업들의 독점 LLM 모델들도 언급됩니다. 이들은 수천억 개의 파라미터를 가지고 있으며, 대규모 텍스트 데이터 기반의 학습을 통해 강력한 성능을 발휘합니다.
또한, LLM의 빠른 발전 속도를 반영하여, Han et al. (2021), Liu et al. (2021), Zhao et al. (2023), Zhou et al. (2023), Yıldız et al. (2024) 등의 주요 서베이 논문들은 이러한 변화와 기술 발전을 포괄적으로 정리하고 있습니다.
**지속적 사전학습(continual pretraining)**에 관한 연구도 활발히 진행되고 있으며, Yıldız et al. (2024), Ke et al. (2023), Xie et al. (2023a) 등의 연구가 이를 대표합니다.
- Continual pre-training of language models, 2023.
- Efficient continual pre-training for building domain specific large language models, 2023a.
- Investigating continual pretraining in large language models: Insights and implications, 2024.
- 위 3개 논문도 한번 읽어보면 좋긴할듯
우리의 학습 과정에서는 FlashAttention(Dao et al., 2022)을 활용하였습니다. 이는 I/O 최적화 알고리즘과 타일링을 통해 GPU의 메모리 사용과 학습 속도를 개선하는 기술입니다. 아울러, **Scaled Dot-Product Attention(SDPA)**을 구현한 Sohn et al. (2024)의 연구를 반영하여, 일정한 중간 메모리 사용량으로 최대 처리량을 달성하는 혁신적인 attention 방식도 적용하였습니다.
이러한 선행 연구들을 통해 한국어 특화 LLM 개발에 대한 필요성과 동기를 명확히 하고, 효율적이고 효과적인 접근의 중요성을 강조합니다.
2.1 주요 대형 언어 모델
LLaMA 2
LLaMA 2의 등장은 LLM 분야에서 중요한 진보를 의미합니다. 70억부터 700억 개의 파라미터로 구성된 다양한 버전으로 제공되며, 전작보다 큰 발전을 이뤘습니다.
주요 특징은 다음과 같습니다:
-
사전학습 데이터 40% 증가
-
문맥 길이 2배 확장
-
Grouped-Query Attention(GQA) 도입
LLaMA 2는 7B, 13B, 70B 버전이 존재하며, LLaMA 2-Chat은 기존의 오픈소스 대화형 모델들보다 **도움성(helpfulness)**과 안전성(safety) 측면에서 우수한 성능을 보입니다. 이는 ChatGPT, Gemini, Claude 같은 독점 모델에 필적하는 경쟁력을 갖춘 모델로 평가됩니다. LLaMA 2의 등장은 개방성, 안전성, 커뮤니티 주도 개선을 강조하는 AI 모델 개발의 새로운 기준을 제시합니다.
Mistral 7B
Mistral 7B는 LLaMA 2를 기반으로 하며, 70억 개의 파라미터를 가진 모델로서, 다음과 같은 성과를 보여줍니다:
-
130억 파라미터의 LLaMA 2 모델보다 전 영역에서 우수한 성능
-
340억 파라미터의 LLaMA 1 모델보다 추론, 수학, 코드 생성에서 높은 성과
기술적으로는 다음 두 가지 혁신을 포함합니다:
-
Grouped-Query Attention(GQA)
-
Sliding Window Attention(SWA)
이 두 기법을 통해 추론 속도 향상과 긴 문장 처리 효율성이 대폭 향상되었으며, 실시간 애플리케이션에도 적합한 구조를 제공합니다.
특히 Mistral 7B – Instruct는 사용자 지시를 잘 따르는 성능을 보여주며, 기존 벤치마크를 능가하는 결과를 기록했습니다. Apache 2.0 라이선스 하에 공개되어, 사용자 맞춤형 튜닝과 배포가 용이한 점도 장점으로 꼽힙니다.
이러한 발전은 고성능, 저비용, 실용성을 갖춘 언어 모델 개발의 중요한 방향성을 제시합니다.
2.2 파생 모델
SOLAR 10.7B
SOLAR 10.7B는 Kim et al. (2023)에 의해 제안된 모델로, LLaMA 2와 Mistral을 기반으로 한 107억 파라미터 규모의 모델입니다. 이 모델은 다양한 NLP 과제에서 뛰어난 성능을 보이며, 특히 **DUS(Depth Upscaling)**이라는 새로운 확장 기법을 통해 성능을 향상시켰습니다.
기존의 MoE(Mixture of Experts) 방식(Cai et al., 2024)과 달리, DUS는 모델의 깊이를 중심으로 한 확장을 강조하며, 훈련 및 추론 시 복잡한 구조 변경 없이도 효율적으로 확장이 가능한 특징을 갖고 있습니다.
또한 SOLAR 10.7B-Instruct라는 변형 모델은 복잡한 명령어 수행에 특화되어 있으며, Mistral-8x7B-Instruct와 같은 유사 모델보다 우수한 성능을 보였습니다.
이 모델은 Mistral 7B의 가중치를 LLaMA 2 아키텍처 상에서 초기화하는 방식으로 개발되어, Mistral의 강력한 성능과 LLaMA 2 생태계의 광범위한 지원을 모두 활용하고자 하였습니다. 다만, 아키텍처 변경으로 인해 Mistral의 핵심 기술(GQA, SWA 등)의 일부가 상실될 수 있다는 점도 존재합니다.
중국어 LLaMA 2 (Chinese LLaMA2)
Chinese LLaMA2(Cui et al., 2024)는 LLaMA2의 중국어 이해 및 생성 능력을 향상시키기 위해 지속적 사전학습을 수행한 사례입니다.
-
LLaMA 어휘에 중국어 토큰 20,000개를 추가
-
중국어 데이터 기반의 2차 사전학습, 중국어 지시문 데이터셋으로 파인튜닝
이러한 방법을 통해 모델의 중국어 처리 능력이 현저히 향상되었으며, 더 큰 모델들과 경쟁할 수 있는 성능을 보여줍니다.
사전학습 모델 및 학습 스크립트는 GitHub에 공개되어, 다른 언어로의 LLaMA 적응을 위한 기반 자료로 널리 활용될 수 있습니다. 이는 본 연구의 한국어 모델 개발 전략에 중요한 참고 사례로 작용합니다.
Open-LLaMA-2-Ko
Open-LLaMA-2-Ko는 LLaMA 2를 기반으로 한 지속적 사전학습을 통해 한국어에 특화된 초기 시도입니다.
-
LLaMA 2에 강화된 어휘집을 통합
-
공개된 한국어 코퍼스(AI Hub, Modu Corpus, 한국어 위키백과 등)를 활용
-
주로 7B 및 13B 파라미터 버전에 초점
이 모델은 이전 LLaMA-2-Ko 시리즈와 달리, 공공 데이터만을 사용하여 한국어 표현력을 높이고, 모델 접근성과 재현성을 강조하는 점이 특징입니다.
EEVE
EEVE(Efficient and Effective Vocabulary Expansion) 모델(Kim et al., 2024)은 한국어와 영어 모두에서 향상된 이해력을 보이는 모델로, 기존의 영어 중심 LLM들이 비영어권 언어에서 보이는 성능 저하 문제를 해결하고자 합니다.
-
임베딩 토큰 확장 시 파라미터 프리징 및 서브워드 초기화 전략 사용
-
대규모 학습 없이도 어휘 확장 가능 (단 20억 토큰으로도 의미 있는 성능 향상 달성)
-
2024년 1월 기준, EEVE-Korean-10.8B-v1.0은 Hugging Face의 Open Ko-LLM Leaderboard에서 한국어 사전학습 모델 1위를 기록
-
영어 처리 능력도 유지하면서 한국어에서 탁월한 성능을 달성
EEVE는 최신 영어 중심 LLM 위에 구축되었으며, 한국어에 최적화됨으로써 비영어권 언어의 성능 격차 해소 및 연산 효율 개선에 기여합니다. 그러나, SOLAR 모델을 한국어로 적응시키기 위한 이 모델의 복잡한 절차는 일부 실용적인 지속 사전학습 환경에서는 과도한 복잡성을 야기할 수 있습니다.
✅ 본 연구의 의의
기초 연구로부터의 다양한 통찰을 바탕으로, 본 연구는 한국어에 특화된 효율적이고 고성능인 LLM을 구축하는 것을 목표로 합니다.
-
훈련 비용을 최소화하면서도
-
정확도와 이해력을 유지하는 것을 핵심 가치로 삼습니다.
특히, 중국어 LLaMA2 사례에서 보듯이 지속적 사전학습과 어휘 확장만으로도 의미 있는 성능 향상이 가능하다는 점에서 본 연구는 큰 영감을 받았습니다.
또한, Open-LLaMA-2-Ko의 공개 코퍼스 기반 접근은 재현 가능하고 접근성 높은 모델 개발의 가능성을 제시하였으며, EEVE의 소규모 토큰으로도 성능 향상이 가능한 기법은 비용-효율 측면에서 중요한 전략으로 반영되었습니다.
🔄 확장성 있는 접근 방식
가장 중요한 점은, 본 연구에서 제안하는 학습 프로세스는 향후 등장할 새로운 기반 모델들에도 적용 가능한 유연하고 강건한 구조라는 것입니다.
이를 통해 최신 LLM 기술의 발전을 지속적으로 통합하며, 다양한 언어와 환경에서도 효율적인 언어 모델 훈련이 가능한 확장 가능한 솔루션을 제시합니다.
3 제안 방법
본 연구는 한국어에 특화된 지속적 사전학습을 위한 혁신적인 접근 방식을 제안하며, 네 단계로 구성된 포괄적인 학습 절차를 도입합니다(도표 1 참조).
이 과정은 (1) 한국어 코퍼스 품질 향상, (2) 한국어 전용 토크나이저 효율적 구성, (3) 모델 가중치 초기화 최적화, (4) 효율적인 다단계 모델 학습으로 구성됩니다. 각 단계는 고품질 언어 모델을 비용 효율적으로 구축하기 위한 세밀한 설계로 이루어져 있으며, 이후 절에서는 각 단계에서 사용된 기법과 전략을 자세히 설명합니다.
3.1 한국어 코퍼스 품질 향상
이 단계에서는 공개된 한국어 데이터를 바탕으로 수집된 코퍼스를 정제하는 데 집중하였습니다. 목표는 전체 코퍼스의 용량을 줄이면서도 품질을 높이는 것으로, 이는 모델 학습 시 계산 자원 효율성과 성능 향상 모두에 중요한 역할을 합니다(Engstrom et al., 2024; Xie et al., 2023b; Penedo et al., 2024).
주요 전처리 과정은 다음과 같습니다:
-
무작위 샘플링(random selection):
AI Hub 및 웹에서 크롤링한 데이터를 포함한 대규모 병합 코퍼스에서, 대표성을 유지하면서도 크기를 줄이기 위해 무작위로 데이터를 선택하였습니다. 이를 통해 계산 자원을 효율적으로 사용할 수 있었습니다. -
규칙 기반 필터링(rule-based filtering):
텍스트의 일관성과 품질을 향상시키기 위해 노이즈가 있는 데이터를 제거하는 규칙 기반 필터링을 적용하였습니다. -
중복 제거(deduplication):
n-그램 기반 필터링 기법을 사용하여 유사하거나 중복된 문장을 식별하고 제거함으로써, 모델이 반복된 패턴에 과적합되는 것을 방지했습니다. -
펄플렉서티 기반 필터링(perplexity-based filtering):
문서의 일관성과 품질을 정량적으로 평가하기 위해, 언어 모델의 예측 정확도를 나타내는 펄플렉서티(perplexity)를 기준으로 문서를 평가하였습니다. 이 기법은 고정밀(high precision) 기준이지만 회수율(recall)이 낮아, 일부 양질의 문서가 누락될 수 있는 대신, 선택된 문서의 품질은 매우 높습니다.
3.2 한국어 토크나이저 효율적 구성
두 번째 단계는 한국어 텍스트를 효과적으로 처리할 수 있는 토크나이저를 구성하는 것입니다. 전체 과정은 도표 2에 제시되어 있으며, 다음과 같은 절차로 이루어졌습니다:
-
SentencePiece 모델 학습:
Google의 SentencePiece 도구를 사용하여 새롭게 수집한 한국어 코퍼스를 기반으로 SPM(SentencePiece Model)을 학습하였습니다. -
규칙 기반 토큰 필터링:
학습된 SPM 모델과 기존 SPM 모델 모두에 규칙 기반 필터링을 적용하였습니다. 이는 특히 한국어 문자 처리에 최적화된 방식입니다. -
하이브리드 토크나이저 구성:
정제된 SPM 모델을 기존 SPM 모델과 병합하여 하이브리드 토크나이저를 생성하였습니다. 이 하이브리드 토크나이저는 기존 영어 및 다국어 텍스트 처리 능력을 유지하면서도, 한국어에 특화된 처리를 강화합니다. -
코퍼스 기반 최적화:
초기 단계에서 정제된 코퍼스를 기반으로 추가적인 샘플링이나 문장 길이 제한 없이 모델을 학습하였고, 입력 복잡성과 모델 복잡성 간의 균형을 고려하여 어휘 크기를 결정하였습니다. 일반적으로 어휘 수가 많을수록 입력 토큰 수가 줄어들어 입력 복잡성이 감소하지만, 임베딩 및 LM 헤드의 차원이 커져 모델 복잡성은 증가합니다. -
한국어 전용 토큰 추가:
사전 정의된 한국어 서브워드 조각을 직접 SPM에 추가하여 토크나이저의 한국어 표현 능력을 강화하였습니다. -
불필요한 토큰 제거 및 정제:
훈련된 SPM에서 불필요하거나 품질이 낮은 토큰을 제거하고, 빈도가 높은 고품질 토큰 중심으로 정제하였습니다. 이 기준은 수작업 기반 정의에 따라 설정되었습니다. -
최종 병합 및 검증:
정제된 두 SPM 모델을 병합하여 최종 토크나이저를 완성하였으며, 이 과정은 반복적인 학습과 분석을 통해 수행되었습니다. 이를 통해 프로젝트에 적합한 어휘 구성을 확보하였습니다.
이와 같은 한국어 중심의 정교한 전처리 및 토크나이저 설계는, 한국어 LLM의 성능을 극대화하는 데 핵심적인 기반을 제공합니다.
3.3 모델 가중치 초기화 최적화
모델 초기화 단계에서는 이전 단계에서 생성된 한국어 전용 토큰 임베딩을 기존 기반 모델에 통합하는 작업을 수행하였습니다. 이를 위해, 모델의 Embedding(E) 계층과 LM Head(H) 계층을 확장하여 새로운 한국어 토큰들을 수용하면서, 기존 모델의 아키텍처는 유지하도록 구성하였습니다. 핵심 목표는 사전학습 가중치를 최대한 활용하여 추가 학습 비용을 최소화하는 것입니다.
본 연구에서는 총 5가지 초기화 방법을 실험적으로 적용하였으며, 각각의 방식은 도표 3에 요약되어 있습니다.
1. 랜덤 초기화 (Random Initialization)
Hugging Face의 랜덤 초기화 기법을 사용하여, 사전학습되지 않은 신규 토큰에 대해 무작위로 가중치를 생성합니다.
-
장점: 특정 토큰에 대한 사전 정보가 없을 경우, 중립적인 시작점을 제공
-
단점: 사전학습된 정보를 활용하지 않음
-
의의: 다른 기법과 비교하기 위한 기본 베이스라인
2. 임베딩 평균 기반 초기화 (Averaging with Embedding)
기존 사전학습 토큰들의 임베딩 가중치를 평균 내어, 신규 토큰의 초기 임베딩을 설정합니다.
-
기존 임베딩의 분포를 분석하여 평균과 공분산을 계산
-
평균과 공분산에 기반한 다변량 정규분포 샘플링을 통해 신규 토큰의 초기값 생성
-
사전학습된 분포에 정렬된 형태로 새로운 임베딩을 생성하므로, 수렴 속도 향상 가능
이 방식은 **Dobler & de Melo(2023)**의 연구를 기반으로 한 향상된 기법을 따릅니다. 여기서는 **두 토크나이저 간의 중복 토큰을 기준(anchor)**으로 삼고, 새로운 토큰을 가중 평균으로 표현하여 초기화하는 방법을 제안합니다.
이는 관련없는 모든 토큰들의 평균으로 초기화하는 것으로, 토큰 전체 분포의 중점? 느낌으로 시작한다. 랜덤초기화보다는 나을 가능성이 높긴함
3. 토큰 분해 기반 임베딩 초기화 (Token Decomposition with Embedding)
신규 토큰을 **의미 있는 서브 토큰(예: 형태소, 문자 n-gram 등)**으로 분해한 뒤,
이 서브 토큰들의 임베딩 평균값으로 신규 토큰을 초기화합니다.
-
각 신규 토큰을 사전학습된 서브 토큰으로 분해
-
해당 서브 토큰들의 임베딩을 조회한 뒤 평균
-
언어의 구성적(compositional) 특성을 활용하는 방식으로, Welch et al.(2020) 및 **Kim et al.(2024)**의 방법론에 기반
4. 임베딩 및 LM Head 평균 기반 초기화 (Averaging with Embedding and LM Head)
단순한 임베딩 평균 초기화를 확장한 기법으로,
Embedding 계층과 LM Head 계층의 가중치 모두를 평균하여 초기화합니다.
-
임베딩과 LM Head 간 **정렬(alignment)**을 개선
-
결과적으로, 새로운 토큰이 양쪽 계층 모두에서 일관되게 처리되도록 유도
-
모델의 출력 품질 향상 가능성 있음
5. 토큰 분해 기반 임베딩 및 LM Head 초기화
(Token Decomposition for Embedding and LM Head)
이 방법은 3번 방식(토큰 분해)을 확장하여, Embedding과 LM Head 모두에 분해된 토큰 정보를 반영하는 방식입니다.
-
신규 토큰을 서브 토큰으로 분해
-
두 계층에서 각 서브 토큰의 가중치를 평균하여 초기화
-
최대한의 사전학습 정보 활용을 목표로 함
-
특히 LM Head까지 포함함으로써, 출력 정밀도도 함께 고려
적용상의 고려 사항
본 연구에서 사용하는 입력 모델은 영어 기반이며, 이를 한국어로 맞춤화하는 과정을 거칩니다. 이 경우, 토큰 분해 기반 방식은 한국어의 복잡한 어휘 구조나 서브 토큰 분해의 어려움으로 인해 한계가 있을 수 있습니다.
따라서, 이러한 방식이 모든 상황에서 평균 기반 초기화보다 우수한 성능을 보장하지는 않음을 감안하였습니다.
평가 계획
본 연구에서는 위의 5가지 초기화 전략을 체계적으로 실험하고, 정량적 성능 비교 평가를 통해 가장 적합한 초기화 방법을 도출할 예정입니다.
이를 통해, 한국어 신규 토큰의 통합 효과를 극대화하고, 전체 모델의 성능 및 학습 효율성을 향상시키는 것이 궁극적인 목표입니다.
3.4 효율적인 다단계 모델 학습
대형 언어 모델(LLM)을 학습하는 과정에서는 두 가지 주요한 문제에 직면하게 된다. 첫째는 메모리 한계로 인해 자주 발생하는 OOM(Out-Of-Memory) 오류이며, 둘째는 효과적인 학습을 위해 요구되는 막대한 연산 자원이다. 최근에는 이러한 문제를 해결하기 위한 다양한 기술들이 제안되고 있다.
- 첫 번째로, 메모리 사용량을 줄이고 계산 효율을 높이기 위한 학습 최적화 기법들이 개발되었다. 대표적인 예로는 FlashAttention2, SPDA, Unsloth와 같은 백엔드 성능 개선 기술이 있다.
- 두 번째로, 모델 가중치의 메모리 사용량을 줄이기 위한 기술로는 QLoRA, LST, QST 등이 있으며, 옵티마이저 상태의 메모리 요구량을 줄이기 위한 GaLore, BitsAndBytes의 8-bit 옵티마이저 등이 있다.
- 세 번째로, 파라미터 효율성을 높이기 위한 전략인 LoRA는 전체 모델이 아닌 일부 파라미터만 학습하여 메모리 및 연산 자원을 절감한다. 다만, 이 방법은 전체 가중치 학습이 아닌 파인튜닝에 보다 적합하다.
- 마지막으로, 자원이 제한된 환경에서는 전체 학습 과정을 여러 단계로 나누는 방식이 효과적으로 사용되어 왔다.
이러한 선행 연구들을 바탕으로, 본 연구에서는 하드웨어 제약에 대응하고 전체 학습 시간을 줄이기 위해 점진적인 단계별 적응 학습 방식을 도입하였다. 제안된 방법은 총 세 단계로 구성된다.
- 첫 번째는 Embedding 및 LM Head와 같은 신규 모듈을 큰 학습률로 빠르게 학습시키는 단계,
- 두 번째는 사전학습된 Transformer Blocks를 작은 학습률로 조정하는 단계,
- 세 번째는 전체 모델을 통합하고 LoRA를 적용하여 성능과 효율을 높이는 단계이다.
학습 과정에서는 FlashAttention2와 SPDA를 함께 활용하여 메모리 사용을 최소화하고 처리 속도를 향상시켰으며, 이들 기법은 유사한 성능을 보여주었다. 단계별로 점진적인 학습을 적용하고, 학습 가속화 기술들을 병행함으로써, 모델 성능을 유지하면서 OOM 오류의 발생을 효과적으로 방지할 수 있었다.
본 연구에 사용된 모델은 LLaMA 및 Mistral 기반 모델과 유사한 Transformer 기반의 CLM(인과 언어 모델)이며, Embedding, Transformer Blocks, LM Head의 세 구성 요소로 이루어진다. 초기화 단계에서는 Embedding과 LM Head를 한국어 전용 토크나이저에 맞춰 조정하였으며, Transformer Blocks는 기존 사전학습된 모델에서 그대로 가져왔다.
학습 전략은 다음과 같은 세 단계로 구성된다.
- 첫 단계에서는 훈련되지 않은 Embedding 및 LM Head를 우선 학습시켜 신규 구성 요소를 빠르게 통합하였다.
- 두 번째 단계에서는 대부분의 가중치를 포함하고 있는 Transformer Blocks를 조정하였다.
- 마지막 단계에서는 전체 모델을 통합 학습하여 모든 구성 요소 간의 정렬을 완성하였다.
1. Embedding 적응 단계에서는 한국어 토큰이 포함된 Embedding Layer와 LM Head를 우선적으로 학습하였다.
- Embedding Layer는 입력된 텍스트를 수치 벡터로 변환하는 역할을 하며, 새로 추가된 한국어 토큰을 모델의 잠재 공간에 정확히 표현할 수 있도록 초기화 및 학습이 필요하였다.
- 동시에, 출력값을 생성하는 LM Head는 기존 사전학습된 구성요소와의 일관된 출력을 위해 학습되었다.
- 이 단계는 새로운 구성요소가 조기에 안정적으로 통합되도록 하여, 한국어 텍스트 생성 및 처리가 가능한 기반을 마련하였다.
2. Transformer Block 적응 단계에서는 Embedding과 LM Head의 변경사항을 반영하기 위해, 사전학습된 Transformer Block을 조정하였다.
- 이 블록들은 모델의 핵심 구조로서 주의(attention) 메커니즘과 복잡한 연산을 수행한다.
- 모든 레이어를 동시에 학습하는 대신, 일부 레이어를 고정시키고 나머지를 순차적으로 학습하는 방식이 적용되었다.
- 구체적으로는 홀수 번째 레이어(1, 3, 5 등)를 먼저 학습하고, 이후 짝수 번째 레이어(0, 2, 4 등)를 학습하는 방식으로 진행되었다.
- 이러한 방식은 적은 GPU 메모리로도 학습이 가능하며, 모델 각 부위가 데이터의 다른 측면을 학습하게 만들어 전체 모델의 다양성과 일반화 능력을 높일 수 있다.
- GPU 부족 때문에 그런것인가?
3. 마지막으로 모델 통합 단계에서는 앞서 통합된 Embedding, LM Head, 그리고 조정된 Transformer Blocks를 하나로 묶어 전체적으로 재학습하였다.
- 이 단계는 전체 모델의 성능을 극대화하고 구성 요소 간의 상호작용을 조정하기 위한 과정이다.
- 전체 레이어를 대상으로 미세조정을 진행하여 각 부분이 조화를 이루도록 하였고, LoRA와 같은 파라미터 효율적 기법을 적용하여 최종적으로 모델의 학습 효율과 일관성을 향상시켰다.
3.5 평가
본 연구에서는 모델 개발의 모든 과정—초기화, 단계적 사전학습, 과제별 파인튜닝—에 걸쳐 지속적인 평가를 수행하였다.
사전학습 평가
사전학습 단계에서는 CLM(Causal Language Modeling) 목적에 기반한 핵심 지표들을 통해 모델의 학습 상태를 평가하였다.
주요 평가 지표는 다음과 같다:
-
학습 손실값 (Training Loss)
-
검증 손실값 (Evaluation Loss)
-
다음 토큰 예측 정확도 (Evaluation Accuracy)
이러한 지표들은 모델이 효과적으로 학습되고 있는지를 조기에 진단할 수 있게 해주며, 초기화 및 사전학습 단계의 효과성을 검증하는 데 유용하다.
이 지표들을 실시간으로 모니터링함으로써 학습 과정에서 발생할 수 있는 이상을 조기에 탐지하고 대응할 수 있다.
근데 원래 이런 지표로 평가하나? KMMLU이런거로는 안하나 싶음
한국어 일반 과제 평가
사전학습 이후, 모델의 일반 한국어 처리 능력은 kollm-conversations 데이터셋을 활용한 파인튜닝을 통해 평가되었다.
이후, KoBEST 벤치마크의 4개 태스크를 기반으로 정량적 성능 평가를 수행하였다.
-
사용된 KoBEST 과제:
-
BoolQ (판단 기반 질의응답)
-
COPA (인과 관계 추론)
-
HellaSwag (문맥 기반 상식 추론)
-
SentiNeg (감성 분류)
-
kollm-conversations는 Hugging Face와 GitHub에서 공개된 다양한 한국어 대화 데이터를 통합하여 구성된 공개용 Supervised Fine-Tuning(SFT) 데이터셋이다.
KoBEST는 한국어 언어학 전문가들에 의해 개발된 벤치마크로, 한국어 모델의 언어 이해 수준을 정밀하게 비교·분석할 수 있는 기반을 제공한다.
이를 통해 본 모델이 기존 공개 모델들과의 직접적인 성능 비교가 가능해지며, 한국어 처리 성능의 우수성을 확인할 수 있다.
금융 QA 평가
모델의 금융 분야 활용 가능성을 검증하기 위해, 상업적 응용을 목적으로 구성된 금융 QA 데이터셋을 활용하였다.
이 데이터셋은 ChatGPT의 도움을 받아 생성되었으며, 고품질을 위해 정교하게 후처리되었다.
-
문맥 추출형 QA 데이터
-
질문 유형: 요약, 정보 추출, 의미 인식 등 복합적 과제 포함
-
데이터 구성:
-
QA-1: 학습 샘플 5,210개 / 테스트 샘플 50개
-
QA-2: 학습 샘플 6,123개 / 테스트 샘플 70개
-
**정량 평가에는 Accuracy Confidence Metric (ACM)**이 사용되었으며, 이는 다음 세 가지로 응답을 분류한다:
-
정답: 정밀하게 일치하거나 높은 확신이 있는 경우
-
부분 정답: 일부 정보 일치 또는 중간 확신
-
오답: 정보 불일치 혹은 낮은 확신
ACM은 단순 정확도뿐 아니라 모델의 신뢰 수준까지 함께 고려하여, 금융 문서에 대한 정밀한 처리 능력과 추론 능력을 다각도로 평가할 수 있도록 설계되었다.
결론
본 연구에서 적용한 평가 방법론은 모델 개발의 전 과정을 아우르는 다층적이고 연속적인 평가 체계로 구성되어 있다.
-
사전학습 단계: 학습 손실, 검증 손실, 정확도 등의 지표를 통해 모델의 초기 학습 상태를 지속적으로 점검
-
일반 한국어 과제: kollm-conversations 기반 파인튜닝 후, KoBEST 과제를 통해 언어 처리 능력 정량화 및 기존 모델들과의 비교
-
금융 도메인 과제: 금융 QA 데이터셋과 ACM 지표를 활용하여 전문 분야에서의 적용 가능성 평가
이러한 다면적 평가 전략을 통해 본 모델은 일반 언어 과제뿐 아니라 도메인 특화 응용까지 준비된 모델로, 실용성과 확장성을 모두 갖추었음을 입증하였다.
4 실험 결과
4.1 코퍼스
한국어 코퍼스의 전처리 파이프라인은 텍스트의 품질과 일관성을 확보하여 학습 효율성과 모델 성능을 높이기 위한 여러 단계로 구성되었다. 주요 전처리 과정에는 무작위 샘플링, 규칙 기반 필터링, n-그램 기반 중복 제거, 펄플렉서티(perplexity) 기반 필터링이 포함된다.
표 1은 본 연구의 기반이 되는 AI HUB 데이터와 웹 크롤링 데이터로부터 수집된 한국어 코퍼스에 대한 개요를 보여준다.
초기 원시 데이터는 총 121.6GB였으나, 전처리 과정을 거친 후에는 43.9GB로 축소되었으며, 이는 고품질 텍스트만을 남겨 효과적인 언어 모델 학습을 가능하게 한다.
정제된 코퍼스는 훈련 세트와 평가 세트로 분할되었다(표 2 참조).
-
훈련 세트는 약 3,460만 개 문서, 총 97억 개 토큰(커스텀 한국어 토크나이저 기준)을 포함하고 있으며, 입력 컨텍스트 길이 4,096 토큰 기준 약 240만 개 샘플로 구성된다.
이 방대한 데이터셋은 모델이 다양한 문맥을 학습하게 해주며, 강건한 언어 모델 개발에 필수적이다. -
평가 세트는 총 1,000개 문서, 430만 개 토큰, 1,045개 샘플로 구성되어 있으며, 다음 토큰 예측(CLMP) 과제에 대한 모델의 손실과 정확도를 평가하는 데 사용된다. 이 무작위 테스트 세트는 모델의 일반화 능력과 학습 전반의 성능을 정밀하게 측정할 수 있도록 설계되었다.
아직 전처리 전/후 데이터가 모델 학습에 미치는 영향을 수치적으로 비교한 정식 평가는 진행되지 않았지만, 데이터 샘플의 일관성과 품질을 향상시키는 방식이 계산 효율성 증가와 학습 품질 향상으로 이어질 가능성이 높다고 가정한다.
특히, 노이즈가 많은 데이터나 일관성 없는 샘플을 제거함으로써 학습 데이터 크기를 줄이면, 연산 자원 소모를 감소시켜 계산 비용 절감과 동시에 학습 품질 개선에도 기여할 수 있다.
4.2 토크나이저
도표 1에 나타난 바와 같이, 본 연구에서는 **영어 중심의 SOLAR 모델(Kim et al., 2023)**을 기반 모델로 사용하였다.
한국어 데이터를 효과적으로 처리하기 위해, SentencePiece 모델을 학습하고, 필요한 토큰을 추가 및 제거한 후, 이를 기존 토크나이저와 결합하여 새로운 하이브리드 토크나이저를 구성하였다.
본 연구의 핵심 목표 중 하나는 **최적의 어휘 크기(vocabulary size)**를 결정하는 것이며, 이를 위해 8,000~40,000개 범위에서 실험을 진행하였다.
토크나이저를 평가하기 위해 사용한 두 가지 주요 지표는 다음과 같다:
-
입력 복잡도 비율 (Ratio of Input Complexity)
→ 새 토크나이저로 생성된 토큰 수 ÷ 기존 토크나이저로 생성된 토큰 수
→ 낮을수록 입력 복잡도가 줄어들어, 모델이 더 빠르게 데이터를 처리하고 더 긴 문장을 처리할 수 있다. -
임베딩 복잡도 비율 (Ratio of Embedding Complexity)
→ 새 임베딩 모델의 파라미터 수 ÷ 기존 모델의 임베딩 파라미터 수
→ 낮을수록 메모리 사용량과 계산 비용이 줄어드는 효율적인 모델을 의미한다.
이 두 지표 사이의 균형을 고려해 실험을 진행한 결과, 한국어 코퍼스에 대해 어휘 크기 20,000개가 최적이라는 결과를 얻었다.
도표 5는 최종 토크나이저 구성을 보여준다. 이 토크나이저는 기존 영어 기반 토크나이저와 새롭게 학습된 한국어 토크나이저를 결합해 만들어졌으며, 중복되는 토큰 수는 2,928개로 매우 적었다.
→ 이는 새 토크나이저가 한국어 데이터 처리에 강점을 지닌 구조임을 시사한다.
동시에, 새롭게 추가된 토큰에 대해 기존 모델로부터 전이 가능한 지식이 적기 때문에, 충분한 학습이 필요함도 함께 나타낸다.
도표 6은 100만 개의 한국어 문서로 테스트한 세 모델(기존 SOLAR, EEVE, 본 연구 모델)의 토큰 빈도 분포 히스토그램을 보여준다.
-
SOLAR 모델은 Token ID 0~32K 범위에 걸쳐 고르게 분포하며, 일부는 30K 근처에 급등 현상이 나타난다. 이는 일부 한국어 문자 기반 토큰 또는 드문 토큰들이 자주 사용되었음을 의미한다.
-
EEVE와 본 연구의 토크나이저는 30K~40K(EEVE), 30K~45K(본 모델) 범위에서 빈도가 집중되어 있다. 이는 한국어 전용 토큰이 효과적으로 사용되고 있음을 보여주는 지표이다.
이러한 분석 결과는 기존 영어 중심 모델을 그대로 사용하는 것보다, 한국어 전용 토큰을 명시적으로 추가하는 방식이 훨씬 효과적임을 입증한다.
단, 새롭게 추가된 토큰이 학습되지 않은 상태이므로, 이들에 대해 충분한 초기화 및 추가 학습이 반드시 필요하다. 이는 다음 절인 4.3 가중치 초기화 전략에서 구체적으로 다룬다.
4.3 초기화
표 3에 제시된 초기화 방법에 대한 실험 결과는, 다양한 토큰 임베딩 초기화 접근법을 종합적으로 비교한 것이다. 비교된 방법은 다음과 같다:
-
무작위 초기화(Random Initialization)
-
임베딩 평균 초기화(Averaging with Embedding, E)
-
토큰 분해 기반 임베딩 초기화(Token Decomposition with Embedding, E)
-
임베딩 및 LM 헤드 평균 초기화(Averaging with Embedding and LM Head, E, H)
-
토큰 분해 기반 임베딩 및 LM 헤드 초기화(Token Decomposition for Embedding and LM Head, E, H)
각 방법의 성능은 Loss, Accuracy, 그리고 BoolQ (BQ), COPA (CP), HellaSwag (HS), SentiNeg (SN) 과제에서의 지표를 통해 평가되었다.
-
Random Initialization은 기준선(baseline) 역할을 한다.
평가 손실은 17.5061로 가장 높지는 않았으나,
정확도(0.0036) 및 각 과제 성능(BQ: 0.5021, CP: 0.4730, HS: 0.2380, SN: 0.5063)은 전반적으로 낮아, 사전학습 지식의 부재로 인해 제한적인 성능을 보였다. -
**Averaging with Embedding (E)**은 모든 사전학습 토큰 임베딩의 평균을 사용한다.
손실은 오히려 높아졌지만 (18.8953), 정확도(0.0039) 및 일부 과제 성능(CP: 0.4750, HS: 0.2460)은 소폭 개선되었다. -
**Token Decomposition with Embedding (E)**은 새로운 토큰을 서브 토큰으로 분해해 임베딩 평균을 계산한다.
손실(18.2258), 정확도(0.0043), CP(0.4690), SN(0.5063) 등에서 소폭 향상을 보였으나, 전반적으로 baseline과 유사한 수준이다. -
**Averaging with Embedding and LM Head (E, H)**는 임베딩과 LM 헤드의 가중치를 함께 고려한다.
손실(10.6275)은 크게 감소하고, 정확도(0.0736)도 상당히 향상되었다.
모델 내부 구성 간 정렬이 개선되어 초기화 품질이 향상된 것으로 보인다.
다만, 과제별 성능(BQ: 0.5021, CP: 0.4700, HS: 0.2540)은 여전히 제한적이다. -
**Token Decomposition for Embedding and LM Head (E, H)**는 가장 우수한 결과를 보였다.
손실(11.0905)은 낮고, 정확도(0.0930)는 가장 높았다.
모든 과제에서도 최고의 성능(BQ: 0.5021, CP: 0.4860, HS: 0.2600, SN: 0.5264)을 달성했다.
서브토큰 구조와 사전학습된 LM 헤드 가중치를 함께 활용함으로써 초기화 품질을 극대화한 것으로 해석된다.
근데 생각보다 다운스트림 테스크에서 성능향상이 크다고 보기는 어려운거 같은데? 이 정도면 차이 많이나는것인가?
요약하자면, Token Decomposition for Embedding and LM Head (E, H)
방식이 가장 효과적인 초기화 전략으로 확인되었다.
해당 방식은 전반적인 성능 지표와 과제별 성능 모두에서 뛰어난 결과를 보이며, 서브토큰 정보와 사전학습된 LM 헤드 지식을 함께 활용하여 모델 학습의 최적 출발점을 제공한다.
4.4 학습
하이퍼파라미터 설정
모델 학습에는 기본 Torch AdamW 옵티마이저를 사용하였으며, Cosine learning rate 스케줄러와 warmup 비율 0.03이 적용되었다.
각 학습 단계는 1 에폭(epoch) 단위로 설정되었으며, 성능이 수렴할 경우 early stopping을 적용하였다.
표 4에는 실험에 사용된 하이퍼파라미터가 상세히 정리되어 있다.
특히 중요한 하이퍼파라미터는 learning rate이며, 구성요소별로 다음과 같이 설정되었다:
-
Embedding 및 LM Head:
사전학습되지 않은 가중치를 포함하므로, 상대적으로 높은 learning rate (100µ) 적용 -
Transformer Blocks:
사전학습된 상태로 가져왔기 때문에, 낮은 learning rate (15µ) 적용 -
전체 모델 학습(LoRA 적용 시):
LoRA 초기화 모듈이 최적으로 적응할 수 있도록, 높은 learning rate (100µ) 사용
이러한 세밀한 학습률 조정은 각 구성요소와 학습 단계별로 최대 성능을 달성하기 위한 핵심 전략이었다.
제거 실험(Ablation Study)
학습 파이프라인의 초기 단계는 Embedding과 LM Head 학습이다.
-
Embedding: E (사전학습된 가중치), E′ (초기화된 신규 가중치)
-
LM Head: H (사전학습), H′ (초기화된 신규 가중치)
이러한 구조를 기반으로, Embedding과 LM Head의 효과적인 학습 전략을 검증하기 위해 두 가지 실험을 수행하였다.
-
Ex1: 전체 Embedding 및 LM Head 가중치(E, E′, H, H′)를 처음부터 함께 학습
-
Ex2: 단계적 학습
-
임베딩 및 LM 헤드의 증분 학습. 새로 초기화된 가중치(E′, H′)를 먼저 학습한 후, 전체 가중치 세트(E, E′, H, H′)를 학습합니다. 이 실험에서는 임베딩 및 언어 모델(LM) 헤드의 학습을 두 단계로 나누었습니다. 먼저, 학습되지 않은 토큰만 학습했습니다.
이 초기 단계 이후, 전체 임베딩 및 LM 헤드를 함께 학습했습니다. 이 접근법은 전체 임베딩 및 LM을 학습하기 전에, 초기화된 모델을 최소한의 학습 단계로 빠르게 적응시키는 효과를 테스트하는 것을 목표로 했습니다.
이 방법은 EEVE 연구인 Kim et al. [2024]에서도 언급되었습니다.
모델 성능
도표 7은 실험 결과를 시각적으로 보여준다. 전체적으로 Ex1이 Ex2보다 손실 감소와 정확도 향상 면에서 더 우수한 학습 및 평가 결과를 나타냈다.
구체적으로, Ex1은 더 낮은 학습 손실과 평가 손실을 보였으며, 이는 모델 성능 및 수렴도(convergence)의 향상을 의미한다.
또한 도표 8에 나타난 바와 같이, Ex1의 평가 정확도는 더 높은 값에서 안정화되어, 더 나은 일반화 능력을 보여준다.
다만, **초기 학습 단계(0~1440 step)**에서는 Ex2의 손실 감소 속도가 더 빠르게 나타난다.
이것은 Ex2가 초기화된 가중치(E′, H′)만을 학습함으로써 손실이 빠르게 줄어들기 때문이다.
그러나 Embedding 및 LM Head 학습의 주된 목적은 전체 어휘 임베딩 표현을 최적화하는 것이다.
Ex2에서처럼 일부 토큰만 업데이트하는 방식은 토큰 간의 관계, 상관성, 문맥적 표현을 고려하지 못하고, **국소 최적(local optimum)**에 빠질 수 있다.
따라서 **초기부터 전체 구성요소(E, E′, H, H′)를 함께 학습하는 전략(Ex1)**이 일반적으로 더 바람직하다고 판단된다.
이를 뒷받침하기 위해 KoBEST 벤치마크를 통해 추가 지표 평가도 수행되었으며,
도표 9에서 볼 수 있듯이 Ex1의 성능 지표들이 더 높은 수준에서 안정화되는 결과를 확인할 수 있다.
걍 첨부터 다 학습하는 EX1이 더 좋다는 것. 뭐 EX2가 완전히 EEVE와 똑같은건 아님
메모리 및 연산 요구량
이와 관련하여, Ex2는 Ex1에 비해 메모리 및 연산 효율성 면에서 일부 최적화 효과를 보이긴 했지만, 그 차이는 크지 않았다.
구체적으로, Ex2의 초기 학습 단계에서는 초기화된 가중치(E′, H′)만 업데이트되기 때문에,
**학습해야 할 파라미터 수는 약 1억 4천만 개(전체의 약 1.29%)**에 불과하다.
이는 메모리 사용량과 연산 요구량을 줄이는 데 도움을 준다.
반면, Ex1은 학습 전 과정에 걸쳐 약 3억 7천만 개(전체의 약 3.41%)의 파라미터를 학습하므로 상대적으로 높은 자원을 요구한다.
그러나 주목할 점은 Ex2의 초기 학습 단계는 약 1,440 step 정도로 매우 짧고, 이후 성능 향상은 제한적이었다는 것이다.
또한 Ex2가 이후 전체 구성요소를 학습하면서 업데이트하는 파라미터 수도 결국 3억 7천만 개로 증가하게 되므로,
전체 학습 과정에서 Ex1과 Ex2 간 자원 소모 차이는 LLM 기준에서 보면 크지 않다.
도표 10에서는 Embedding 및 LM Head 학습 단계에서 Ex1과 Ex2의 학습 가능 파라미터 수를 비교해 보여준다.
요약
모델 성능, 메모리 사용량, 연산 효율 등을 종합적으로 고려한 실험 결과는,
초기부터 Embedding과 LM Head 전체(E, E′, H, H′)를 학습하는 Ex1 방식이 최적의 접근 방식임을 뒷받침한다.
따라서 EEVE에서 제안한 복잡한 초기화 및 학습 전략은 일부 실용적인 지속 사전학습 환경에서는 반드시 필요하지 않을 수도 있다는 결론을 도출할 수 있다.
4.5 주요 결과
학습 비용
모델 학습은 Nvidia H100 GPU 한 대를 사용하여 수행되었으며, 총 498 GPU 시간이 소요되었다.
H100 GPU는 이론적으로 BF16 기반 학습 성능 989 TFLOPS를 제공하며, sparsity는 고려하지 않았다.
모델 FLOPS 활용률(MFU)을 약 **40%**로 가정하고, 이는 하드웨어 FLOPS 활용률(HFU)과 동일하다고 간주했을 때,
**총 계산 비용은 약 700 ZFLOPS(제타 FLOPS)**로 추산된다.
학습 과정은 앞서 4.4절에서 설명한 것처럼 4단계로 나뉘어 진행되었으며, 실험 설계의 복잡성으로 인해 학습 시간에 대한 세부 분석은 진행되지 않았다.
그럼에도 불구하고, 본 연구는 다음과 같은 효율화 요소를 통해 학습 시간과 비용 절감 가능성을 제시한다:
-
데이터 필터링을 통해 학습 데이터의 크기를 줄이면서도 일반화 능력을 유지
-
한국어에 특화된 토크나이저 개발을 통해 입력 복잡도를 낮추고 연산 비용 절감
-
최적화된 초기화 전략으로 목표 함수에 더 가까운 출발점 제공 → 학습 비용 감소
-
단계적 학습 전략으로 메모리 제약 완화 및 효율적인 학습 실행
이러한 구성요소들이 결합된 파이프라인은 비용 효율적이며 고품질의 모델 구축을 가능하게 하며,
확장 가능한 학습 프로세스 설계에도 기여한다.
사전학습 모델의 성능
도표 11은 Ex1 기반으로 전체 학습 과정에서의 학습 손실 및 평가 손실을 보여준다.
-
파란 실선: 학습 손실 → 지속적인 감소
-
파란 점선: 평가 손실 → 일관된 하락 추세
-
회색 선: 정확도 지표 → 꾸준한 상승
→ 이는 모델이 인과 언어 모델링(CLM) 과제에서 효과적으로 학습되고 있음을 의미한다.
도표 12에서는 학습 단계별 KoBEST 성능 지표가 제시된다.
-
Ex1 평균 정확도(굵은 파란 선)는 전반적으로 상승하는 추세
-
BoolQ, COPA, HellaSwag, SentiNeg 등 개별 과제 성능도 점진적으로 향상
이 결과는 모델이 고급 한국어 언어 과제를 일반화하여 잘 수행할 수 있는 능력을 갖추었음을 보여준다.
또한, 9.7억 토큰의 사전학습을 마친 후에도 모델은 수렴(convergence) 징후 없이 성능이 계속 향상되는 경향을 보여,
추가 학습을 통한 성능 향상 가능성도 확인되었다.
일반 과제 비교
표 5는 본 모델과 여러 기준(reference) 모델 간의 성능 비교를 제시한다.
-
CLM 지표(손실, 다음 토큰 예측 정확도 등)는 주로 학습 과정을 모니터링하기 위한 것이며,
토큰 어휘의 차이로 인해 모델 간 직접 비교에는 적합하지 않음. -
반면, KoBEST 지표는 고급 한국어 언어 지식이 필요한 과제에 대한 성능을 비교하는 데 적합하다.
실험 결과, 우리 모델은 EEVE(Kim et al., 2024)를 포함한 다른 고성능 모델들보다 더 나은 성능을 보였다.
-
사전학습 모델 기준: 0.36% 향상
-
파인튜닝 모델 기준: 1.41% 향상
특히, **SOLAR 기반 모델(Kim et al., 2023)**과 비교 시,
-
사전학습 기준 KoBEST 점수: 50.23% → 66.72%
-
파인튜닝 기준 KoBEST 점수: **62.29% → 80.83%**로 향상됨
이 결과는 영어 기반 모델을 한국어에 성공적으로 적응시킨 성능 향상을 명확히 보여준다.
금융 과제 비교
도표 13과 14는 한국어 금융 QA 과제에서 본 모델과 다른 기준 모델의 성능을 비교한 결과이다.
-
Llama3 모델은 한국어에 적응된 초기 시도 모델이며,
-
우리 모델과 EEVE 모델은 성능과 효율을 모두 고려한 고도화된 적응 모델이다.
결과적으로,
-
QA-1 과제에서는 EEVE 모델과 비슷한 성능을 보였고,
-
QA-2 과제에서는 우리 모델이 소폭 더 우수한 성능을 기록했다.
두 모델 모두 Llama3 모델보다는 확연히 우수한 성능을 나타냈다.
핵심 시사점
이 실험 결과는 다음 세 가지 중요한 결론을 도출할 수 있다:
-
**언어 특화 적응(language-specific adaptation)**의 중요성
→ Llama3 대비 우리 모델과 EEVE 모델의 성능 우위는 적응 전략의 효과를 입증 -
세부 과제 성능 차이
→ 특히 QA-2처럼 복잡한 금융 질의에 대해, 지속 사전학습 최적화가 다운스트림 성능 향상에 기여함 -
도메인 특화 적응의 필요성
→ 금융과 같은 특수 분야에서는 일반 모델만으로는 한계가 있으며,
→ 별도의 도메인 파인튜닝 단계가 필수적이라는 것을 보여줌
요약하자면, 본 연구의 모델은 효율적인 구조와 전략을 통해 고품질의 한국어 이해 및 생성 능력을 확보했으며,
일반 과제뿐 아니라 금융과 같은 특화 영역에서도 우수한 성능을 보였다는 점에서 중요한 실질적 기여를 한다.
5 논의 (Discussion)
본 연구에서 제안한 방법론은 특히 언어 적응(context of language adaptation)의 맥락에서 “지속적 사전학습(Continual Pretraining)” 또는 “추가 사전학습(Further Pretraining)” 범주에 해당한다.
이 접근법은 초기 사전학습과 도메인 특화 적응/정렬(Alignment) 사이를 연결하는 중간 단계로서 중요한 역할을 하며,
영어 중심의 언어 모델을 한국어 같은 새로운 언어 혹은 특정 도메인에 효율적으로 적응시키는 데 사용된다.
그 과정에서 학습량과 연산 자원은 상대적으로 적게 소모된다.
제한된 자원에서의 실현 가능성
본 연구의 접근 방식은 다음과 같은 요소들 덕분에 학습량과 연산 자원이 제한된 상황에서도 효과적인 언어 적응이 가능함을 입증하였다:
-
코퍼스 필터링:
데이터 필터링 전략을 통해 데이터셋 크기를 줄이고, 이에 따라 필요한 학습 스텝 수도 감소 -
토크나이저 조정:
짧은 입력 길이에 최적화된 토크나이저를 사용하여 학습 스텝을 줄이고 학습 속도 향상 -
모델 초기화:
최적화에 가까운 초기 상태에서 시작함으로써 수렴에 필요한 학습 스텝을 줄임 -
학습 전략:
단계적 학습 방식과 **전이 학습(transfer learning)**의 결합-
새로운 구성 요소는 높은 학습률로 빠르게 적응
-
기존 구성 요소는 낮은 학습률로 미세 조정
-
LoRA 등의 파라미터 효율적 기법으로 전체 구성요소를 통합
-
-
메모리 제한 고려:
각 모델 구성 요소를 순차적으로 학습함으로써 메모리 부담을 분산
→ OOM 오류를 방지하며, 제한된 하드웨어 환경에서도 현실적인 학습 가능
방법론의 효율성
본 접근 방식은 표준 학습 방법에 비해 GPU 시간과 전체 학습 비용 면에서 효율적이며,
비용이 많이 드는 H100 80GB GPU 없이도 A6000(48GB), A5000(24GB) 등으로도 충분히 학습 가능하다는 점에서
하드웨어 유연성과 비용 효율성 측면에서 뛰어남을 보여준다.
모델 효율성
본 연구에서 개발한 모델인 RedWhale은 다음과 같은 효율성 향상을 실현하였다:
-
더 빠른 처리 속도와 긴 문서 처리 능력
→ 한국어에 최적화된 토크나이저 덕분 -
다운스트림 과제의 파인튜닝 비용 절감
→ 보다 최적화된 초기 상태 제공 -
소규모 비용으로 추가 커스터마이징 가능
→ 적은 자원으로 다양한 목적에 맞춰 확장 가능
또한 KoBEST 벤치마크 및 금융 과제를 통해 모델 품질이 입증되었으며,
간접적인 효율성 지표로서 **Token Ratio (TR)**도 활용되었다.
-
TR = 새 토크나이저로 생성된 토큰 수 ÷ 기존 토크나이저로 생성된 토큰 수
-
TR이 낮을수록 효율성이 높다는 의미
→ 동일한 입력에 대해 더 적은 토큰 생성 → 입력 감소, 긴 문장 처리, 빠른 처리 가능
실제로 본 연구에서 개발한 한국어 토크나이저는 평균 TR = 0.57을 기록하였고,
5개의 데이터셋(사전학습 평가셋 + KoBEST 4개 과제)에서 약 50%의 토큰 수 감소를 실현하였다.
이는 Transformer 구조의 복잡도가 토큰 길이에 따라 제곱으로 증가한다는 점을 고려할 때,
동일한 하드웨어에서 4배 이상의 입력 길이 처리가 가능해졌고, 학습 및 추론 속도도 대폭 개선되었다.
활용 장점
이 접근법은 하드웨어 제약이나 예산 한계가 큰 환경에서 특히 강점을 보인다.
OOM 오류나 지나치게 긴 학습 시간으로 인해 기존 학습이 어려웠던 환경에서도 실현 가능한 대안이 된다.
반대로, 고성능 하드웨어가 사용 가능하고 예산이 충분하다면, LLaMA(Touvron et al., 2023)나 Mistral(Jiang et al., 2023) 등의
기존 방식으로 직접 학습하는 방법이 더 적합할 수도 있다.
방법론적 혁신
본 방법론은 완전히 새로운 기술은 아니지만, 기존 기술들을 전략적으로 개선 및 통합한 방식으로 다음과 같은 차별화된 특징을 갖는다:
-
코퍼스 전처리: 기존 기법을 기반으로 하되, 실제 적용에서 최적의 결과를 내기 위한 분석 및 평가 수행
-
토크나이저:
-
불필요한 토큰 제거
-
어휘 크기 최적화
→ 보다 정확하고 효율적인 토큰화 가능
-
-
초기화 전략:
-
입력 임베딩뿐만 아니라 출력(LM Head, unembedding)까지 초기화 범위 확장
-
다양한 초기화 방법 실험 → 최적 전략 도출
-
-
학습 전략:
-
중국 모델 적응(Cui et al., 2024)과 한국어 적응(Kim et al., 2024)의 장점 결합
-
한국어 방식의 비효율적 단계 제거 및 중국 방식의 성능 강화 요소 채택
-
특히,
-
미학습 모듈을 빠르게 적응시키고
-
레이어를 홀수/짝수 단위로 50%씩 분할 학습 후
-
LoRA로 전체 통합하는 전략은 기존 문헌에서 널리 언급되지 않은 새로운 접근 방식이다.
-
-

요약하자면, 이 연구는 저자원 환경에서도 고성능 한국어 LLM을 구축할 수 있는 실용적이고 효율적인 방법론을 제안하며,
언어 적응과 도메인 확장 모두에 있어 새로운 기준을 제시하는 중요한 사례가 된다.
한계점 및 도전 과제
코퍼스 필터링의 한계
본 연구는 데이터를 신중히 선별 및 정제함으로써, 각 샘플의 일관성과 품질을 향상시켜 계산 효율성과 모델 성능을 높일 수 있다는 가설에 기반하여 코퍼스 필터링 기법을 적용하였다.
일부 샘플 기반의 정성 평가를 통해 결과의 품질을 확인하였지만, 최종 결과에 대한 정량적 평가는 아직 완료되지 않았다.
이 과정에서 다음과 같은 두 가지 주요 문제점이 발생할 수 있다:
-
고품질(high-quality) 데이터만을 사용할 경우,
랜덤하게 선택된 데이터와 비교해도 실제 성능이 향상되지 않거나, 데이터의 다양성과 분포 범위를 유지하지 못할 수 있다. -
부적절한 필터링 방식은 모델 품질을 오히려 저하시킬 수 있다.
예를 들어, 펄플렉서티 기반 필터링은 일반적으로 정밀도는 높지만 재현율은 낮기 때문에,
명확하고 유의미한 문서들이 다수 누락될 수 있는 위험이 존재한다.
이러한 문제를 해결하기 위해서는, 기존 방식 외에도 다양한 필터링 전략을 고려하고 비교 분석하는 과정이 필수적이다.
검토가 필요한 추가적인 필터링 방식은 다음과 같다:
-
랜덤 필터링: 일반화 성능을 극대화하기 위한 무작위 샘플링
-
문서 길이 기반 필터링: 긴 문서가 짧거나 중간 길이 문서보다 더 우수할 수 있다는 가정에 기반
-
펄플렉서티 기반 필터링: 낮은, 중간, 높은 수준의 perplexity를 모두 실험해 비교
-
다양성 기반 필터링: Type-Token Ratio(TTR), 클러스터링 등을 활용한 다양성 평가
-
알려진 샘플 vs. 미지 샘플 비교: 사전 정보의 유무가 모델 성능에 미치는 영향 분석
또한, 노이즈가 섞인 대규모 데이터를 통해 일반화 능력을 향상시킬 수 있다는 사전학습 이론도 존재하므로,
필터링의 필요성과 효과에 대한 본질적인 질문을 제기할 필요가 있다.
이에 따라, 향후 연구에서는 다음 두 가지 핵심 질문을 중심으로 분석을 진행할 예정이다:
-
필터링은 실제로 학습 샘플 수를 줄이면서도 모델 성능을 향상시킬 수 있는가?
-
그렇다면 어떤 필터링 방식이 가장 효과적이고 적절한가?
단계적 학습 전략의 한계
본 연구에서 사용한 3단계 학습 전략은 다음과 같은 구조를 따른다:
-
**새로운 구성요소(Embedding 및 LM Head)**를 높은 학습률로 빠르게 적응
-
**기존 구성요소(Transformer Blocks)**는 낮은 학습률로 미세조정
-
모든 구성요소를 LoRA를 활용하여 통합 학습
또한, Transformer Block 학습 단계에서는 홀수 레이어(1, 3, 5) → 짝수 레이어(0, 2, 4) 순으로 분할 학습을 수행하였다.
이 방식은 다음과 같은 두 가지 장점을 가진다고 가정한다:
-
GPU 메모리가 제한된 환경에서도 학습 가능
-
모델 각 부분이 데이터의 서로 다른 특성을 학습할 수 있도록 유도
하지만, 이 방식의 실제 효과는 아직 다른 전략들과 비교 실험되지 않았기 때문에 검증되지 않은 상태다.
예를 들어, 레이어를 하위(0L/2) → 상위(L/2L) 순으로 학습하는 방식과의 성능 비교가 이뤄지지 않았다.
즉, 현재 방식이 반드시 최적의 방식이라고 보장할 수는 없다.
성능 평가의 한계
본 연구와 유사한 실험 결과가 부족하여, 비용-효율성(cost-effectiveness)에 대한 정량적 비교가 어렵다는 점이 한계로 남는다.
KoBEST와 금융 QA 과제에서 모델 성능이 우수하다는 사실은 확인되었으나,
대형 언어 모델의 성능을 폭넓게 평가할 수 있는 보편적인 기준 자체가 부족하다는 점도 도전 과제 중 하나다.
따라서, 본 연구에서 제안한 모델 및 방법론의 우수성을 보다 확실하게 입증하기 위해서는,
보다 다양한 평가 환경과 태스크, 벤치마크를 통한 추가적인 검증이 필요하다.
6 결론
본 연구에서는 RedWhale이라는 모델을 제안하며, 영어 기반 LLM을 한국어에 효율적으로 적응시키기 위한 지속적 사전학습(Continual Pretraining) 방법론을 소개하였다.
한국어의 비알파벳 기반 토큰 구조와 대형 언어 모델 학습 시 요구되는 높은 계산 자원이라는 고유한 과제에 대응하기 위해, 본 연구는 다음과 같은 핵심 기여를 통합하였다:
-
정교한 전처리 파이프라인을 통해 한국어 코퍼스의 품질을 크게 향상시키고, 고품질 데이터 확보와 계산량 절감을 동시에 달성함
-
한국어에 최적화된 고급 토크나이저를 개발하여, 입력 복잡도와 임베딩 복잡도 사이의 균형을 최적화하고 효율성을 높임
-
특히 Embedding과 Language Model Head 구성요소에 대해 최적 초기화 전략을 적용함으로써 학습 비용과 연산 부담을 최소화함
-
4단계 학습 전략을 도입하여 하드웨어 제약을 극복하고, LoRA 및 인스트럭션 튜닝을 통해 모델 정렬과 과제별 성능을 정교하게 조율함
실험 결과, RedWhale은 KoBEST와 같은 주요 한국어 NLP 벤치마크에서 기존의 선도 모델들을 능가하는 성능을 보였다.
특히, 9.7억 토큰 규모의 사전학습을 마친 후에도 수렴(convergence) 현상이 나타나지 않아, 추가 학습을 통한 성능 향상 가능성이 높음을 시사한다.
RedWhale은 한국어 처리 능력에 있어 의미 있는 발전을 이루었으며,
한국어와 같은 저자원 언어 또는 특정 도메인 특화 모델을 비용 효율적으로 구축하는 방법론에 대한 실질적 통찰을 제공한다.
Reference
댓글
댓글 쓰기