temperature·top_p 같은 샘플링 옵션, 이렇게 읽으면 덜 헷갈립니다

📌 3줄 요약

  1. temperature는 확률분포의 모양을, top_p·top_k는 후보 범위를 조절합니다.
  2. max tokens는 길이 지시가 아니라 생성을 끊는 상한선입니다.
  3. 옵션 지원 여부와 기본값은 모델마다 달라 해당 문서 확인이 필요합니다.
API나 플레이그라운드를 열면 temperature, top_p, max tokens 같은 슬라이더가 나옵니다. 이름은 비슷해 보여도 건드리는 지점이 서로 다릅니다. 언어모델은 매 순간 다음 토큰 후보에 확률을 매깁니다. temperature는 그 확률분포를 평평하게(값이 클수록) 또는 뾰족하게(값이 작을수록) 만드는 조절값입니다. 낮추면 상위 후보에 더 몰리고, 올리면 낮은 확률 후보도 선택될 여지가 커집니다. "창의성 수치"라기보다 분포를 얼마나 평탄화할지의 문제라고 보는 쪽이 오해가 적습니다. top_p는 후보를 자르는 방식입니다. 확률 높은 순으로 누적해 지정한 비율에 도달할 때까지만 후보로 남기고 나머지는 버립니다(뉴클리어스 샘플링). top_k는 개수로 자릅니다. 즉 temperature는 분포의 모양을, top_p·top_k는 후보 집합의 범위를 건드립니다. 두 가지를 동시에 크게 흔들면 효과가 겹쳐 해석이 어려워지므로, 제공사 문서들은 보통 둘 중 하나만 조정하라고 안내합니다. max tokens(최대 출력 토큰)는 길이 지시가 아니라 상한선입니다. 라벨·문서 표기 기준으로 이 값은 "여기서 생성을 끊는다"는 뜻이라, 모자라면 문장 중간에서 잘립니다. 짧게 받고 싶다면 프롬프트에서 분량을 말하고, max tokens는 안전장치로 쓰는 쪽이 일반적입니다. 입력 길이와 출력 상한을 합쳐 계산하는지 따로 보는지는 제공사마다 다르니 해당 API 문서를 확인하세요. stop(정지 문자열)은 특정 문자열이 나오면 생성을 멈추는 설정이고, seed는 같은 조건에서 결과를 비슷하게 맞추려는 옵션입니다. 다만 seed를 고정해도 완전히 같은 출력이 보장되지는 않는다고 안내하는 문서가 많습니다. 서버 구성·배치 처리 등 변수가 있기 때문입니다. 요즘은 추론 특화 모델처럼 temperature 조정을 받지 않거나 권장하지 않는 모델도 있습니다. 같은 이름의 옵션이라도 허용 범위와 기본값은 모델별로 다르니, 값을 옮기기 전에 해당 모델 문서의 기본값부터 보는 편이 안전합니다. 확인 체크리스트 - 쓰는 모델이 temperature·top_p를 실제로 지원하는지, 기본값은 얼마인지 - temperature와 top_p 중 하나만 조정하고 있는지 - max tokens가 상한선일 뿐이라 답변이 잘릴 여지는 없는지 - 입력·출력 토큰을 합산해 세는 방식인지 문서에서 확인했는지 - seed를 써도 재현이 보장되지 않을 수 있다는 점을 전제했는지 - 값을 바꿀 때 한 번에 하나씩만 바꿔 비교하고 있는지

🛠 정정 제안

댓글 0

첫 댓글로 팩트를 보태주세요.

닉네임 (처음 한 번만, 2자 이상)