🤖 AI/ML

Parameter

파라미터

모델이 학습하는 가중치와 편향. 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-21.5B2019년, 오픈소스
BERT-large340M인코더 모델
GPT-3175B2020년, API 전용
Llama 27B / 13B / 70B2023년, 오픈소스
Llama 3.18B / 70B / 405B2024년, 오픈소스
GPT-4~1.8T (추정)MoE 구조
Claude 3 Opus비공개Anthropic
Phi-3-mini3.8BMicrosoft SLM

🗣️ 실무에서 이렇게 말하세요

💬 회의에서
"7B 모델은 파라미터당 약 2바이트(FP16)가 필요하니 최소 14GB VRAM이 필요합니다. 4비트 양자화하면 3.5GB로 줄일 수 있습니다."
💬 면접에서
"파라미터는 학습 데이터로부터 배우는 값이고, 하이퍼파라미터는 학습 전에 사람이 설정하는 값입니다. learning rate, batch size 등이 하이퍼파라미터입니다."
💬 기술 토론에서
"Scaling Law에 따르면 파라미터 수, 학습 데이터 양, 컴퓨팅 예산이 모델 성능을 결정합니다. 단순히 파라미터만 늘리면 데이터 부족으로 과적합될 수 있습니다."

⚠️ 흔한 실수 & 주의사항

파라미터와 하이퍼파라미터 혼동

파라미터는 학습으로 결정되는 가중치이고, 하이퍼파라미터(learning rate 등)는 사람이 설정하는 값입니다. 면접에서 자주 묻는 개념입니다.

파라미터 수만으로 성능 판단

Phi-3(3.8B)가 Llama 2(7B)보다 일부 벤치마크에서 우수합니다. 데이터 품질, 학습 기법도 중요합니다.

올바른 방법

태스크에 적합한 모델 크기를 선택하세요. 작은 모델 + 파인튜닝이 큰 모델 + 프롬프팅보다 효율적인 경우가 많습니다.

🔗 관련 용어

📚 더 배우기