도움 없이 두면 생성 모델은 반복 루프로 흘러 — "I think that I think that I think that...". 모델이 일부 패턴이 흔한 텍스트로 학습됐고, 일단 고확률 연속 패턴에 맞는 조각 생성하면 자기 강화.
반복에 대한 세 접근
- Repetition penalty (CTRL 스타일): 이미 생성된 토큰의 logit을 penalty 인자(예: 1.2)로 나눔. 다시 뽑힐 가능성 줄임. 많은 오픈소스 toolchain의 기본.
- Frequency penalty (OpenAI): 이미 생성된 각 토큰 개수에 비례한 값 빼기. 여러 번 나타난 토큰일수록 강한 penalty.
- Presence penalty (OpenAI): 토큰이 한 번이라도 나타났으면 flat 값 빼기(개수 무관). 새 어휘 장려.
Stop 조건
생성 중단 시점 — (1) 모델이 end-of-sequence 토큰(EOS) 생산, (2) stop 문자열 매칭(예: <|im_end|> 같은 특정 role 마커), (3) 최대 토큰 수 도달, (4) 커스텀 logit processor 정지. chat에선 모델별 stop 토큰이 핵심 — Llama 3의 <|eot_id|>, Mistral의 </s>, GPT의 <|im_end|>.