Training large language models — 대형 언어 모델 학습

From Systems analysis Wiki
Jump to navigation Jump to search

대형 언어 모델(LLM) 훈련은 수십억 개의 매개변수를 가진 신경망이 방대한 텍스트 데이터를 바탕으로 인간의 언어를 이해하고 생성하도록 학습하는 복잡하고 자원 집약적인 과정이다. 이 과정은 GPT, BERT, Claude, Gemini와 같은 현대적 LLM을 만드는 데 있어 핵심적인 토대가 된다.

학습의 이론적 기초

Transformer 아키텍처와 attention 메커니즘

현대의 LLM은 거의 전적으로 Transformer 아키텍처를 기반으로 하며, 이를 통해 긴 텍스트 시퀀스를 효율적으로 처리할 수 있다. 핵심 구성 요소는 self-attention 메커니즘으로, 모델이 전체 시퀀스의 맥락 안에서 각 단어의 중요도를 가중치로 반영할 수 있게 해준다. 이를 통해 장거리 의존 관계를 포착하고 데이터를 병렬로 처리할 수 있어, 순환 신경망(RNN)에 비해 학습 속도가 크게 향상된다.

핵심 과제: 다음 token 예측

대부분의 LLM(특히 GPT와 같은 생성 모델)이 학습하는 근본적인 과제는 언어 모델링이다. 모델은 이전의 모든 token을 기반으로 시퀀스에서 다음 token(단어 또는 단어의 일부)을 예측하는 법을 학습한다. 형식적으로, 모델은 연쇄 법칙에 따른 분해를 통해 시퀀스 P(X)의 확률을 최대화한다:

P(X)=t=1TP(xt|x1,,xt1)

학습에는 크로스 엔트로피 손실 함수가 사용되며, 이는 모델이 예측한 확률 분포와 실제 다음 token 사이의 차이를 측정한다.

학습 단계

LLM의 학습 과정은 일반적으로 두 가지 주요 단계로 구성된다.

1. 사전 학습 (Pre-training)

이 단계는 가장 대규모이며 계산 비용이 높은 단계로, 모델이 언어와 세계에 대한 기초 지식을 습득하는 과정이다.

  • 데이터: 모델은 수조 개의 token에 달할 수 있는 방대한 비레이블 텍스트 코퍼스로 학습된다. 데이터 출처에는 웹 페이지(예: Common Crawl), 위키백과, 디지털 도서관(Google Books), 코드 저장소(GitHub) 등이 포함된다.
  • 목적: 범용적인 언어 표현을 형성하는 것이다. 모델은 문법, 구문, 사실 정보, 심지어 일부 논리적 추론 요소까지 학습한다.
  • 과정: 이는 self-supervised learning으로, 정답(올바른 다음 token)이 데이터 자체에서 추출된다. 학습은 수천 개의 GPU 또는 TPU 클러스터에서 수 주에서 수 개월에 걸쳐 진행될 수 있다.

2. Fine-tuning과 정렬 (Alignment)

사전 학습 이후에는 '미완성' 모델을 특정 작업에 맞게 적응시키고 인간의 기대에 부합하도록 조정해야 한다.

  • Supervised Fine-tuning: 모델은 소규모이지만 고품질의 레이블 데이터셋(예: '지시-응답' 쌍)으로 추가 학습되어 지시를 따르는 능력을 갖추게 된다.
  • 인간 피드백 기반 강화 학습 (RLHF): 정렬을 위한 핵심 방법론이다. 이 과정은 여러 단계로 구성된다:
    1. 사람 어노테이터들이 동일한 요청에 대한 모델의 여러 응답을 최선에서 최악 순으로 순위를 매긴다.
    2. 이 데이터를 바탕으로 보상 모델(reward model)이 학습되며, 어떤 응답을 인간이 선호할지 예측하는 법을 배운다.
    3. 기본 LLM은 보상 모델을 신호 원천으로 삼아 강화 알고리즘(예: PPO)을 통해 추가 학습되어 더 유용하고, 정직하며, 안전한 응답을 생성하게 된다.

이 두 단계 접근법(pre-training + fine-tuning/alignment)은 강력하면서도 제어 가능한 언어 모델을 만들 수 있게 해주는 업계 표준이 되었다.

실용적 측면

데이터: 수집, 규모 및 준비

데이터의 품질과 규모는 LLM 성공의 결정적인 요소이다.

  • 수집: 주제, 문체, 언어에 걸쳐 폭넓은 범위를 확보하기 위해 다양한 출처를 활용한다.
  • 정제 및 필터링: 중복 제거, 저품질 또는 유해 콘텐츠 필터링, 출처 균형 조정을 포함하는 매우 중요한 단계로, 모델이 특정 인터넷 언어에 과적합되지 않도록 한다.
  • 토큰화: 텍스트는 BPE나 SentencePiece와 같은 알고리즘을 사용하여 token(단어 또는 하위 단어)으로 분할된다. 토크나이저와 어휘 크기의 선택은 모델의 효율성과 품질에 직접적인 영향을 미친다.

분산 학습과 컴퓨팅 자원

수천억 개 또는 수조 개의 매개변수를 가진 모델을 학습시키려면 막대한 컴퓨팅 자원과 분산 학습 기법이 필요하다.

  • 하드웨어: 고속 네트워크(예: InfiniBand)로 연결된 수천 개의 GPU(예: NVIDIA A100/H100) 또는 TPU(Google)로 구성된 슈퍼컴퓨터가 사용된다.
  • 병렬 처리: 연산 분산을 위해 복잡한 병렬 처리 방식이 활용된다:
    • Data Parallelism: 각 GPU에 있는 모델 복사본이 각자의 데이터 부분을 처리한다.
    • Model Parallelism: 모델 자체가 여러 부분으로 나뉘어 서로 다른 GPU에 배치된다. 텐서 병렬(행렬 분할)과 파이프라인 병렬(레이어 분할)을 포함한다.
    • ZeRO (Zero Redundancy Optimizer): Microsoft DeepSpeed가 개발한 기술로, 매개변수, 그래디언트, 옵티마이저 상태의 중복을 제거하여 훨씬 더 큰 모델을 학습할 수 있게 한다.
  • 프레임워크: 이러한 복잡한 방식을 구현하기 위해 DeepSpeed, Megatron-LM, Hugging Face Accelerate와 같은 전문 프레임워크가 사용된다.

접근법의 역사적 발전

  • 1980~1990년대: n-gram 기반의 통계적 언어 모델.
  • 2001~2010년대: RNN과 LSTM 기반의 신경망 언어 모델 등장으로 장기 의존 관계를 보다 잘 포착하게 됨.
  • 2017년: 「Attention Is All You Need」 논문 발표와 함께 병렬 학습을 가능하게 한 Transformer 아키텍처 등장.
  • 2018~2019년: 사전 학습된 최초의 Transformer인 GPT-1과 BERT 등장으로 'pre-training + fine-tuning' 패러다임이 확립됨.
  • 2020년: GPT-3 출시로 규모의 비약적 발전과 few-shot 능력의 출현이 이루어짐.
  • 2022년: ChatGPT 출시와 함께 유용하고 안전한 AI 어시스턴트 구축을 위한 핵심 방법론으로 RLHF가 대중화됨.
  • 2023년~현재: 멀티모달 모델(GPT-4, Gemini)의 시대, 컨텍스트 윈도우 확장 경쟁 및 에이전트 기능 발전.

참고 문헌

  • Vaswani, A. et al. (2017). Attention Is All You Need. NIPS.
  • Devlin, J. et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. NAACL.
  • Brown, T. et al. (2020). Language Models are Few-Shot Learners. NIPS.
  • Ouyang, L. et al. (2022). Training language models to follow instructions with human feedback. arXiv:2203.02155.

외부 링크

  • LLM 입문 — Hugging Face 강좌