Parameter
파라미터
모델이 학습하는 가중치와 편향. GPT-4는 수조 개 파라미터.
파라미터
모델이 학습하는 가중치와 편향. GPT-4는 수조 개 파라미터.
파라미터(Parameter)는 머신러닝 모델이 학습 과정에서 데이터로부터 배우는 가중치(weight)와 편향(bias) 값들입니다. 모델의 예측 능력은 이 파라미터 값들에 의해 결정되며, 학습이란 곧 최적의 파라미터 값을 찾는 과정입니다.
딥러닝의 발전과 함께 모델의 파라미터 수는 급격히 증가했습니다. 2012년 AlexNet은 6,000만 개, 2018년 BERT는 3.4억 개, 2020년 GPT-3는 1,750억 개, 2023년 GPT-4는 추정 1.8조 개의 파라미터를 가지고 있습니다.
파라미터는 모델 아키텍처에 따라 결정됩니다. Transformer 기반 LLM에서 파라미터 수는 주로 임베딩 차원(d_model), 레이어 수(n_layers), 헤드 수(n_heads), 어휘 크기(vocab_size)에 의해 결정됩니다. 대략적으로 12 * n_layers * d_model^2 개의 파라미터를 가집니다.
실무에서 파라미터 수는 모델의 용량, 학습 시간, 추론 비용, 필요한 GPU 메모리를 결정하는 핵심 지표입니다. 일반적으로 파라미터가 많을수록 성능이 좋지만, 더 많은 데이터와 컴퓨팅 자원이 필요합니다.
# 모델 파라미터 확인 및 분석
import torch
import torch.nn as nn
from transformers import AutoModel
# 1. 간단한 신경망 파라미터 예제
class SimpleNN(nn.Module):
def __init__(self, input_dim=784, hidden_dim=256, output_dim=10):
super().__init__()
self.fc1 = nn.Linear(input_dim, hidden_dim) # 가중치 + 편향
self.fc2 = nn.Linear(hidden_dim, output_dim)
def forward(self, x):
return self.fc2(torch.relu(self.fc1(x)))
model = SimpleNN()
# 파라미터 수 계산
def count_parameters(model):
total = sum(p.numel() for p in model.parameters())
trainable = sum(p.numel() for p in model.parameters() if p.requires_grad)
return total, trainable
total, trainable = count_parameters(model)
print(f"Total: {total:,}, Trainable: {trainable:,}")
# 출력: Total: 203,530, Trainable: 203,530
# fc1: 784*256 + 256 = 200,960
# fc2: 256*10 + 10 = 2,570
# 2. LLM 파라미터 확인
llm = AutoModel.from_pretrained("bert-base-uncased")
total_llm, _ = count_parameters(llm)
print(f"BERT-base parameters: {total_llm / 1e6:.1f}M")
# 출력: BERT-base parameters: 109.5M
# 3. 레이어별 파라미터 분포
print("\n레이어별 파라미터:")
for name, param in model.named_parameters():
print(f" {name}: {param.shape} = {param.numel():,}")
# 4. 학습 가능 여부 제어 (파인튜닝 시)
for param in llm.encoder.layer[:10].parameters():
param.requires_grad = False # 하위 10개 레이어 동결
_, trainable_after = count_parameters(llm)
print(f"동결 후 학습 가능: {trainable_after/1e6:.1f}M")
2025년 1월 기준 주요 AI 모델들의 파라미터 수
| 모델 | 파라미터 | 비고 |
|---|---|---|
| GPT-2 | 1.5B | 2019년, 오픈소스 |
| BERT-large | 340M | 인코더 모델 |
| GPT-3 | 175B | 2020년, API 전용 |
| Llama 2 | 7B / 13B / 70B | 2023년, 오픈소스 |
| Llama 3.1 | 8B / 70B / 405B | 2024년, 오픈소스 |
| GPT-4 | ~1.8T (추정) | MoE 구조 |
| Claude 3 Opus | 비공개 | Anthropic |
| Phi-3-mini | 3.8B | Microsoft SLM |
"7B 모델은 파라미터당 약 2바이트(FP16)가 필요하니 최소 14GB VRAM이 필요합니다. 4비트 양자화하면 3.5GB로 줄일 수 있습니다."
"파라미터는 학습 데이터로부터 배우는 값이고, 하이퍼파라미터는 학습 전에 사람이 설정하는 값입니다. learning rate, batch size 등이 하이퍼파라미터입니다."
"Scaling Law에 따르면 파라미터 수, 학습 데이터 양, 컴퓨팅 예산이 모델 성능을 결정합니다. 단순히 파라미터만 늘리면 데이터 부족으로 과적합될 수 있습니다."
파라미터는 학습으로 결정되는 가중치이고, 하이퍼파라미터(learning rate 등)는 사람이 설정하는 값입니다. 면접에서 자주 묻는 개념입니다.
Phi-3(3.8B)가 Llama 2(7B)보다 일부 벤치마크에서 우수합니다. 데이터 품질, 학습 기법도 중요합니다.
태스크에 적합한 모델 크기를 선택하세요. 작은 모델 + 파인튜닝이 큰 모델 + 프롬프팅보다 효율적인 경우가 많습니다.