LLM 예측 가능성을 조절하는 주요 생성 옵션

🤖 LLM 예측 가능성을 조절하는 주요 생성 옵션

LLM(Large Language Model)은 우리가 입력한 문장을 그대로 계산하는 게 아니라,

“다음에 올 가장 그럴듯한 단어”를 확률적으로 예측(Sampling) 하면서 문장을 만듭니다.

즉, LLM의 출력은 결정론적(Deterministic) 이 아니라 확률적(Stochastic) 인 거죠.

이때 어떤 확률 분포를 기준으로 단어를 선택할지, 얼마나 창의적이게 할지,

혹은 얼마나 보수적으로 답변할지를 정하는 설정들이 바로 **“생성 옵션(Generation Parameters)”**입니다.

오늘은 그중에서도 모델의 예측 가능성(=일관성) 을 조절하는 핵심 옵션 12가지를 깊게 살펴볼게요.

🌡️ 1️⃣ Temperature — “창의성의 온도”

핵심 역할:

모델의 전반적인 무작위성을 조절하는 가장 대표적인 파라미터입니다.

temperature는 확률 분포의 기울기(sharpness) 를 바꿉니다.

낮은 온도에서는 모델이 가장 확률이 높은 단어만 선택하려 하고,

온도를 높이면 확률이 낮은 단어도 선택될 가능성이 커집니다.

  • 0.1 ~ 0.3 → 정형적이고 논리적인 답변
  • 0.7 ~ 1.0 → 다양하고 자연스러운 표현
  • 1.2 이상 → 창의적이지만 불안정하거나 엉뚱한 결과 가능

💡 활용 팁

  • 정보 중심(Q&A, 요약 등): 0.2~0.4
  • 아이디어 생성, 스토리텔링: 0.8~1.2

🎯 2️⃣ Top-p (Nucleus Sampling)

핵심 역할:

전체 단어 확률 분포에서 누적 확률이 p 이하인 단어만 남기고 나머지는 제거합니다.

즉, 확률이 높은 단어들로 이루어진 ‘핵심 영역(nucleus)’ 내에서만 선택을 하는 방식이에요.

이 덕분에 확률 꼬리 부분의 엉뚱한 단어가 선택되는 것을 방지할 수 있습니다.

  • top_p=0.3 → 모델이 안정적이고 예측 가능한 답변을 생성
  • top_p=0.9 → 다양성과 자연스러움이 높아짐

💬 비유하자면:

“온도(temperature)”가 전체 분위기를 조절하는 난방기,

“top_p”는 단어를 담는 그릇의 크기라고 생각하면 돼요.


🧩 3️⃣ Top-k — “후보 단어 개수 제한”

핵심 역할:

다음 단어를 예측할 때 확률이 높은 상위 k개의 단어만 후보로 남기고 선택합니다.

  • k가 작을수록 → 선택 폭이 좁아져 일관성 ↑
  • k가 클수록 → 다양한 단어가 나와 창의성 ↑

💡 예시

top_k=50은 “다음에 올 단어 후보 50개 중에서 선택”을 의미합니다.

이 방법은 특히 작은 모델이나 특정 문체를 유지해야 하는 작업에서 유용합니다.

📘 Top-p와 Top-k는 비슷하지만, Top-p는 확률 합으로, Top-k는 개수로 제한합니다.


📏 4️⃣ Max Tokens (또는 Max New Tokens)

핵심 역할:

한 번의 생성에서 모델이 출력할 수 있는 최대 길이를 정합니다.

너무 짧게 설정하면 문장이 중간에 끊기고,

너무 길면 불필요한 반복이 생기거나 주제가 흐려질 수 있습니다.

💡 추천 설정

  • 단답형 응답: 200~300
  • 요약문, 기사, 블로그 초안: 1000~2000
  • 긴 에세이나 소설형 응답: 3000~5000

이 옵션은 “출력의 완성도”뿐 아니라 비용응답 시간에도 직접적인 영향을 줍니다.


🔁 5️⃣ Repetition Penalty — “반복 억제”

핵심 역할:

모델이 같은 단어나 구문을 반복하지 않도록 점수를 낮추는 기능입니다.

  • 1.0 → 제약 없음
  • 1.2~1.8 → 반복 억제 강화

💡 예시:

블로그 요약 중 “AI는 매우 유용하다.”가 계속 반복된다면

repetition_penalty=1.5 정도로 조정하면 훨씬 자연스러워집니다.

📘 너무 높게 설정하면 모델이 단어를 회피하다가 어색한 문장을 만들 수도 있으니 주의!


🔡 6️⃣ Frequency Penalty — “단어 등장 빈도 제어”

핵심 역할:

이미 자주 등장한 단어일수록 점수를 깎아,

같은 단어가 반복되지 않게 조정합니다.

  • frequency_penalty=0.8 → 문장 내 어휘 다양성 증가
  • 낮을수록 → 일관성은 유지되지만 단어가 반복될 가능성 증가

💬 활용 예:

요약문, 인터뷰 스크립트 등 같은 단어가 자주 등장하는 문장에서 매우 유용합니다.


🆕 7️⃣ Presence Penalty — “새로운 주제 유도”

핵심 역할:

이미 한 번 등장한 단어를 또 사용할 가능성을 낮춥니다.

이 옵션은 “빈도”가 아니라 “존재 여부”를 기준으로 작동해,

새로운 주제나 아이디어를 도입하도록 모델을 유도합니다.

💡 활용 예:

  • 브레인스토밍, 글쓰기, 마케팅 카피 등에서 새 표현을 다양하게 생성
  • presence_penalty=0.5~1.0 권장

Frequency Penalty가 **“같은 말을 너무 자주 쓰지 말라”**면,

Presence Penalty는 **“이미 한 말은 다시 하지 말라”**입니다.


⛔ 8️⃣ Stop Sequence — “출력 중단 조건”

핵심 역할:

특정 문자열이 등장하면 모델이 출력을 멈추도록 설정합니다.

“stop”: [“\n\n”, “###”, “END”]

💬 활용 예:

  • 코드 블록, 표, 섹션 구분이 있는 글 생성 시
  • 대화형 모델에서 “User:”나 “Assistant:” 다음에 자동 중단

이 기능은 출력 형식을 예측 가능하게 고정하고,

불필요한 이어쓰기(looping)을 방지하는 데 매우 유용합니다.


🎲 9️⃣ Typical P (전형성 샘플링)

핵심 역할:

확률 분포의 “정보 엔트로피(Entropy)” 중심부 근처에서만 단어를 선택합니다.

쉽게 말해, “너무 평범한 단어”도, “너무 희귀한 단어”도 제외하고

자연스럽게 들리는 단어만 선택하도록 하는 방식이에요.

  • typical_p=0.9 → 자연스러운 균형
  • 낮을수록 → 더 일관되고 보수적인 결과

💬 이 옵션은 temperature와 top-p 사이의 중간 역할을 하며,

뉴스, 블로그, 자연스러운 문체 생성에 특히 강력합니다.


🧮 🔟 Mirostat Sampling — “지능형 온도 조절”

핵심 역할:

긴 문장에서도 무작위성을 동적으로 조정하여 일관성을 유지합니다.

일반적인 샘플링은 글이 길어질수록 점점 불안정해지지만,

Mirostat은 **“목표 엔트로피”**를 정해놓고 그 수준을 유지하면서

문장 길이와 상관없이 일정한 톤을 유지하도록 합니다.

옵션설명
mirostat=1 or 2동작 모드
mirostat_tau목표 퍼플렉시티(문장 다양도)
mirostat_eta조정 속도

💡 예시:

mirostat_tau=5.0, mirostat_eta=0.1 정도가 자연스러운 문장 생성에 적당합니다.


🧭 11️⃣ No-repeat N-gram — “문장 패턴 중복 방지”

핵심 역할:

같은 단어 조합(N-gram)이 반복되는 것을 막습니다.

예를 들어 no_repeat_ngram_size=3이면

“the end of the” 같은 3단어 조합이 다시 등장하지 않게 됩니다.

이 설정은 특히 요약, 번역, 긴 문서 생성에서

문장 패턴이 반복되는 문제를 예방하는 데 효과적입니다.


🎯 12️⃣ Seed — “결과 재현성 확보”

핵심 역할:

무작위 샘플링의 초기값(난수 시드)을 고정해 매번 같은 결과를 재현합니다.

“seed”: 42

💬 이 옵션은 모델 테스트나 비교 실험 시 필수입니다.

다만, 클라우드 환경에서는 서버 로드 밸런싱에 따라

시드가 완전히 동일하게 작동하지 않을 수도 있습니다.


💎 보너스 옵션 (모델별)

옵션역할지원 모델
Tail-free Sampling (tfs)확률 꼬리 자르기Mistral, Llama
Penalty AlphaTop-k + Top-p 조합HuggingFace
Beam Search여러 후보 경로 탐색번역, 요약
Length Penalty문장 길이 가중치Beam 기반 모델
Early Stopping조건 충족 시 중단대부분 모델

🧠 전체 요약표

옵션명역할낮을 때높을 때
Temperature무작위성 조절예측적창의적
Top-p / Top-k단어 후보 제한집중적다양성↑
Repetition Penalty반복 억제반복↑자연스러움↑
Frequency / Presence단어 다양성 제어일관성↑새로운 표현↑
Stop Sequence출력 구조 고정자유로움↑형식적 일관성↑
Typical / Mirostat샘플링 균형단조로움↑자연스러움↑
No-repeat N-gram문장 패턴 억제반복↑일관성↑
Seed결과 재현성불안정동일 결과

🪄 마무리

✨ “온도와 샘플링은 창의성을,

패널티와 스톱은 예측 가능성을,

시드는 재현성을 결정한다.”

LLM의 출력 품질은 결국 이 세 가지 축의 조화로 완성됩니다.

이 옵션들을 이해하고 조합할 줄 안다면,

ChatGPT 같은 AI의 결과를 **“우연”이 아닌 “의도된 스타일”**로 바꿀 수 있습니다. 🎯