4.2 일관성 확보를 위한 모델 하이퍼파라미터(Hyperparameter) 정밀 제어
API를 통해 대형 언어 모델(LLM)과 상호작용할 때, 개발자가 던지는 프롬프트 텍스트 이면에는 모델의 확률적 두뇌를 통제할 수 있는 일련의 ’다이얼(Dial)’들이 존재한다. 이를 **하이퍼파라미터(Hyperparameter)**라 부른다.
결정론적이고 검증 가능한 오라클(Oracle) 파이프라인을 지향하는 소프트웨어 엔지니어에게, 이 하이퍼파라미터들은 창의성을 극대화하기 위한 도구가 아니라 언어 모델의 상상력과 창의성을 인위적으로 거세(Castration)하여 기계적인 일관성을 추출해내는 재갈로서 작용해야 한다.
1. Temperature: 무작위성(Randomness)의 지배자
LLM은 본질적으로 다음 토큰(Next Token)의 확률 분포를 예측하는 수학적 엔진이다. Temperature 매개변수는 이 확률 분포의 평탄도(Flatness)를 조정하여 샘플링 범위를 결정한다.
- Temperature = 1.0 이상 (창의적 설정): 확률 분포를 평탄하게 만들어, 통계적으로 다소 가능성이 낮은 토큰(단어)들도 선택될 기회를 부여한다. 모델은 시를 쓰거나 아이디어를 브레인스토밍하는 등 ‘창의적이고 다양한’ 결과를 내지만, 멱등성(Idempotency)은 완전히 파괴된다.
- Temperature = 0.0 (결정론적 설정 - Greedy Decoding): 분포를 무시하고 무조건 확률 값이 가장 높은 단 1개의 토큰만을 탐욕적(Greedy)으로 선택한다. 개발자가 동일한 프롬프트를 100번 던지면, 모델은 (하드웨어 레벨의 극미한 난수를 제외하고) 100번 완벽하게 동일한 텍스트를 반환한다.
AI 오라클 시스템 단락에서는 어떤 예외도 없이 Temperature를 0.0으로 하드코딩(Hardcoding)하라. 코드 생성 판별, 데이터 추출, 구조화된 JSON 응답 요구 등 결정론적 잣대가 필요한 모든 테스트와 평가 작업에서 무작위성은 가장 큰 적이다.
2. Top-P (Nucleus Sampling): 통계적 꼬리(Tail) 잘라내기
Temperature가 전체 분포의 윤곽을 찌그러뜨린다면, Top-P (또는 Nucleus Sampling)는 누적 확률 질량(Cumulative Probability Mass)을 기준으로 샘플링할 후보 토큰의 ‘풀(Pool)’ 자체를 가위로 잘라내는 역할을 한다.
- Top-P 동작 원리: 확률이 높은 순서대로 토큰들을 정렬한 뒤, 확률의 합이 설정한 p값(예: 0.9)에 도달할 때까지만 후보군으로 인정하고, 나머지 꼬리 부분(Tail)에 있는 생뚱맞은 단어(10%)들을 계산에서 원천 배제한다.
- 오라클 관점에서의 제어법:
Temperature=0.0으로 설정하면 단 하나의 토큰만 선택(Greedy)하므로 사실상top_p설정은 무의미해진다. 그러나 시스템 제약상Temperature를 완전히 0으로 낮추지 못하고 미세하게나마 창의성이 요구되는 하이브리드 구간에서는, 어휘의 다양성을 억제하여 위험한 환각(Hallucination) 토큰의 발생을 막기 위해Top-P값을 0.1~0.3 수준으로 극도로 낮게 고정하라.
주의(Caution): OpenAI 등 대부분의 문서에서는
Temperature와Top-p중 하나만(Mutually Exclusive) 조작할 것을 권장한다. 둘을 동시에 변경하면 확률 분포 왜곡이 이중으로 발생하여 모델의 예측 가능성을 모니터링하기가 기하급수적으로 어려워진다.
3. Frequency Penalty와 Presence Penalty: 서술의 강제성 통제
LLM은 본질적으로 통계 시스템이므로, 자신이 조금 전 방금 내뱉은 단어나 프롬프트에 자주 등장한 단어를 관성적으로 반복하려는 경향(Repetition Bias)이 있다.
- Frequency Penalty: 생성된 텍스트 내에서 빈도수(Frequency)가 높아질수록 해당 토큰이 다시 선택될 확률을 수학적으로 차감시킨다. 즉, 모델이 똑같은 단어를 앵무새처럼 계속 반복하는 무한 루프 에러를 소프트웨어적으로 방어한다.
- Presence Penalty: 단어의 출현 빈도와 무관하게, 아직 언급되지 ‘않은’ 새로운 토큰들의 확률 가중치를 전반적으로 펌핑(Pumping)하여 모델이 새로운 주제나 어휘를 억지로라도 꺼내도록 유도한다.
오라클 환경에서는 모델이 자의적으로 새로운 주제를 상상하여 꺼내면(Presence Penalty 상향) 룰 기반 파싱 스크립트가 붕괴한다. 오히려 지시받은 엄격한 금칙어와 필수 용어를 100% 충실히 반복하도록 만들기 위해, 일반적으로 이 두 페널티 값을 **0으로 설정(억제 해제)**하는 것이 정합성 테스트 시에는 유리하다.
결론적으로, 신뢰할 수 있는 자동화 파이프라인을 위한 하이퍼파라미터의 절대 원칙은 기계적 무미건조함의 극대화라는 점을 기억하라.