GenerationConfig — 생성 파라미터 제어

GenerationConfig

GenerationConfig는 generation 메서드의 동작을 제어하는 파라미터 모음이에요. 길이 제어, 샘플링 전략, 빔 설정, 로짓 프로세서 등 생성에 관한 모든 설정을 담아요.

길이 제어

  • max_new_tokens: 생성할 새 토큰 수 제한(권장).
  • min_new_tokens: 최소 생성 길이.
  • early_stopping: 빔 기반 방식의 조기 종료 조건.

샘플링·빔 제어

  • do_sample: 샘플링 사용 여부.
  • num_beams: 빔 수(>1이면 빔 서치).
  • temperature, top_k, top_p, repetition_penalty: 확률 분포 성형.
  • num_return_sequences: 반환 후보 수.

활용 흐름

  1. 모델 로드 시 기본 generation_config 확인.
  2. 과업에 맞는 값으로 GenerationConfig 인스턴스 구성.
  3. generate(..., generation_config=cfg)로 전달하거나, 기본 설정을 오버라이드.
from transformers import GenerationConfig
cfg = GenerationConfig(max_new_tokens=200, do_sample=True, top_p=0.9, temperature=0.7)
outputs = model.generate(**inputs, generation_config=cfg)

더 알아보기