트랜스포머·PEFT 2일 과정5장 · Decoder-only LLM과 학습 단계5 / 15← 이전목차다음 →MetaContents

5장. Decoder-only LLM과 학습 단계

규모를 키우자 생긴 일: Scaling Law

같은 요리법으로 음식을 만들어도, 재료를 넉넉히 쓰고 불을 오래 쓰면 맛이 깊어지는 요리가 있습니다. GPT-1(2018, 1.17억 개), GPT-2(2019, 15억 개), GPT-3(2020, 1,750억 개)는 모두 같은 Decoder-only 요리법으로, 재료(파라미터와 데이터)와 불(계산량)만 크게 늘린 모델입니다.

GPT-1 1.17억, GPT-2 15억, GPT-3 1,750억 개의 파라미터 수를 로그 눈금 막대로 비교한 그림

그림의 세로축은 로그 눈금입니다. 한 칸 올라갈 때마다 10배입니다. 그래서 GPT-1 막대가 거의 바닥에 붙어 있어도 GPT-3 의 수천 분의 1 이 아니라 약 1,500분의 1 입니다. 화살표의 "약 13배", "약 117배"가 이웃한 세대 사이의 배율입니다.

규모를 키우며 알게 된 세 가지

관찰뜻쉽게 말하면
Scaling Law(Kaplan 외, 2020)모델 크기, 데이터 양, 계산량을 늘리면 손실이 예측 가능한 비율로 꾸준히 줄어든다재료와 불을 늘리면 맛이 꾸준히 좋아진다
In-context Learning파인튜닝 없이 프롬프트에 예시 몇 개만 넣어도 새 작업을 한다(few-shot)보기 몇 개만 보여 주면 따라 하는 학생
Chinchilla 법칙(Hoffmann 외, 2022)같은 계산 예산이면 파라미터 1개당 약 20토큰의 데이터로 학습하는 편이 효율적이다냄비만 키우지 말고 재료도 그만큼 넣기

노트북은 최근 소형 모델이 Chinchilla 기준보다 훨씬 많은 토큰으로 학습해, 작은 크기로도 좋은 성능을 낸다고 덧붙입니다. 이 과정의 Qwen2.5-0.5B 가 그런 소형 모델입니다.

짧은 예시

Python
# 노트북의 세 모델 파라미터 수(단위: 억 개)
gpt = {"GPT-1": 1.17, "GPT-2": 15, "GPT-3": 1750}

# 세대가 바뀔 때 몇 배가 되었는지. :.2f = 소수점 둘째 자리
print(f"GPT-1 → GPT-2: {gpt['GPT-2'] / gpt['GPT-1']:.2f}배")   # 결과: 12.82배
print(f"GPT-2 → GPT-3: {gpt['GPT-3'] / gpt['GPT-2']:.2f}배")   # 결과: 116.67배
print(f"GPT-1 → GPT-3: {gpt['GPT-3'] / gpt['GPT-1']:.0f}배")   # 결과: 1496배

# Chinchilla 법칙: 파라미터 1개당 약 20토큰
qwen_params = 494_032_768          # 이 장의 실습에서 세는 Qwen2.5-0.5B 의 파라미터 수
tokens = qwen_params * 20
print(f"Qwen2.5-0.5B 의 Chinchilla 기준 데이터: {tokens:,} 토큰")
# 결과: Qwen2.5-0.5B 의 Chinchilla 기준 데이터: 9,880,655,360 토큰(약 99억)

이 코드가 뜻하는 것

요리 재료가 세대마다 몇 배로 늘었는지 나눗셈으로 확인했습니다. 15 ÷ 1.17 ≈ 12.82, 1750 ÷ 15 ≈ 116.67 이고, 둘을 곱하면 약 1,496배입니다. 그림의 "약 13배", "약 117배", 제목의 "약 1,500배"가 이 계산입니다. Chinchilla 기준으로는 0.5B 모델에 약 99억 토큰이면 알맞다는 뜻입니다.

줄하는 일쉽게 말하면
gpt['GPT-2'] / gpt['GPT-1']두 세대의 크기 비냄비가 몇 배 커졌나
qwen_params * 20파라미터 1개당 20토큰냄비 크기에 맞는 재료 양
f"{tokens:,}"세 자리마다 쉼표큰 수 읽기 쉽게

주의할 점

  • Scaling Law 는 "평균 손실이 꾸준히 준다"는 관찰입니다. 특정 작업(예: 우리 회사 말투)을 잘하게 된다는 보장은 아닙니다. 그 부분은 SFT 같은 추가 학습이 맡습니다.
  • 큰 모델은 메모리와 비용도 그만큼 큽니다. 이 과정이 0.5B 를 고른 까닭은 10GB 안팎의 GPU 한 장으로 2일차 실습을 모두 돌리기 위해서입니다.
← 이전 절5장 · 사전학습: 언어와 지식을 배우는 단계다음 절 →5장 · 최신 LLM 구조는 무엇이 달라졌나