도구스개발

소프트맥스·온도·top-p 계산기

로짓 목록에 온도를 적용한 소프트맥스 확률과 엔트로피·퍼플렉시티를 냅니다. top-k·top-p를 걸면 몇 개가 살아남는지 세고, 최댓값을 빼지 않으면 왜 넘치는지도 보여 줍니다.

쉼표·공백·줄바꿈으로 구분 — 현재 7개

0이면 그리디(최댓값 하나), 1이면 그대로, 크면 균등분포에 가까워집니다

0이면 걸지 않음

1이면 걸지 않음

가장 높은 확률

48.9433%

엔트로피 1.8063비트 (최대 2.8074) · 퍼플렉시티 3.497 · 7개 남음

엔트로피1.806296 비트 / 최대 2.807355
퍼플렉시티 2^엔트로피3.4974
확률의 합 (1이어야 함)1
자른 뒤 남은 개수 · 원래 확률 합7개 / 7개 · 100%
최댓값을 빼지 않은 분모50.124404

확률 분포

순위자리로짓확률누적자른 뒤막대
1#03.248.9433%48.9433%48.9433%
2#12.832.8077%81.751%32.8077%
3#21.58.9411%90.6921%8.9411%
4#30.94.907%95.5991%4.907%
5#40.42.9762%98.5753%2.9762%
6#5-0.61.0949%99.6702%1.0949%
7#6-1.80.3298%100%0.3298%
소프트맥스는 모든 로짓에 같은 수를 더해도 값이 변하지 않습니다. 분자와 분모에 같은 eᶜ가 곱해져 약분되기 때문입니다. 이 성질 덕분에 «최댓값을 빼고» 계산할 수 있고, 그러면 가장 큰 지수가 exp(0) = 1이 되어 넘치지 않습니다. 로짓을 1000 근처로 올려 보면 빼지 않은 쪽이 어떻게 무너지는지 볼 수 있습니다.
온도는 로짓의 «차이»를 T배로 줄이거나 늘립니다. T가 작으면 차이가 벌어져 가장 큰 것으로 몰리고(엔트로피 ↓), 크면 차이가 눌려 균등분포에 가까워집니다(엔트로피 ↑). 지금 엔트로피는 1.806비트로 최대 2.807비트의 64.3%이고, 퍼플렉시티 3.5는 «실질적으로 3.5개 중에서 고르는 셈»이라는 뜻입니다.
top-p는 누적합이 p를 «넘긴 그 항목까지» 포함합니다. 그래야 남은 확률의 합이 p 이상이 되기 때문입니다. 개수로 자르는 top-k와 달리 몇 개가 남는지가 분포에 따라 저절로 달라져서, 분포가 뾰족하면 적게 납작하면 많이 남습니다. 지금은 7개가 남아 원래 확률의 100%를 덮고 있으며, 자른 뒤에는 남은 것들끼리 합이 1이 되도록 다시 나눴습니다.
로짓은 «아직 확률이 아닌 점수»입니다 — 크기 자체가 아니라 차이만 뜻을 갖습니다. 모든 로짓에 100을 더해도 결과가 같은 것이 그 증거이며, 그래서 로짓 하나만 보고 «이 값이 크니 확신이 높다»고 읽을 수 없습니다. 확신을 보려면 소프트맥스를 거친 확률이나 엔트로피를 봐야 합니다.

사용 방법

  1. 1로짓을 쉼표·공백으로 구분해 넣습니다.
  2. 2온도를 바꿔 가며 분포가 어떻게 뾰족해지고 납작해지는지 봅니다.
  3. 3top-k나 top-p를 걸면 몇 개가 살아남고 원래 확률의 몇 %를 덮는지 나옵니다.
  4. 4엔트로피와 퍼플렉시티로 «실질적으로 몇 개 중에서 고르는지»를 확인합니다.

자주 묻는 질문

넘치는 것을 막기 위해서입니다. exp(1000)은 배정도로 표현할 수 없어 Infinity가 되고 Infinity/Infinity는 NaN이라, 로짓이 조금만 커도 결과가 통째로 NaN이 됩니다. 소프트맥스는 모든 로짓에 같은 수를 더해도 값이 변하지 않으므로(분자·분모에 같은 eᶜ가 곱해져 약분됩니다) 최댓값을 빼면 가장 큰 지수가 exp(0) = 1이 되어 절대 넘치지 않습니다. 어느 라이브러리든 이렇게 되어 있으며, 이 계산기는 빼지 않은 분모도 함께 내서 어디서 무너지는지 보여 줍니다.

로짓을 T로 나누므로 로짓의 «차이»가 T배로 줄거나 늡니다. T가 작으면 차이가 벌어져 가장 큰 것으로 몰리고, 크면 차이가 눌려 균등분포에 가까워집니다. T → 0은 그리디 선택(최댓값 하나가 확률 1), T = 1은 그대로, T → ∞는 균등분포입니다. 엔트로피가 T에 대해 단조증가하는 것이 이것을 한 수로 말해 줍니다.

top-k는 확률 높은 것부터 «개수»로 자르고, top-p는 누적합이 p를 넘을 때까지 남깁니다. 개수로 자르면 분포가 납작할 때 좋은 후보를 버리고 뾰족할 때 쓸모없는 것을 남기는데, 누적으로 자르면 몇 개가 남는지가 분포에 따라 저절로 달라집니다. 이 계산기는 top-p를 걸었을 때 실제로 몇 개가 살아남는지를 함께 셉니다.

포함합니다. 그래야 남은 확률의 합이 p 이상이 되기 때문입니다. 확률이 0.6, 0.3, 0.1인 분포에 p = 0.8을 걸면 0.6만으로는 모자라므로 0.3까지 포함해 두 개가 남고 합이 0.9가 됩니다. 자른 뒤에는 남은 것들끼리 합이 1이 되도록 다시 나눕니다.

2^엔트로피이며 «실질적으로 몇 개 중에서 고르는가»로 읽습니다. 반반이면 2, 넷으로 고르게 갈리면 4이고, 한쪽으로 치우칠수록 개수보다 작아집니다. 확률 하나가 1이면 퍼플렉시티가 1이 되어 고를 것이 하나뿐이라는 뜻입니다.

그렇게 읽을 수 없습니다. 로짓은 크기 자체가 아니라 «차이»만 뜻을 갖습니다. 모든 로짓에 100을 더해도 소프트맥스 결과가 똑같은 것이 그 증거입니다. 확신을 보려면 소프트맥스를 거친 확률이나 엔트로피를 봐야 합니다.

전송되지 않습니다. 계산은 모두 브라우저 안에서 이루어지고 넣은 값은 이 기기에만 남습니다.

알아두면 좋은 점

  • 최댓값을 빼는 수치 안정 소프트맥스로 계산합니다. 빼지 않은 분모는 어디서 넘치는지 보여 주기 위해 함께 냅니다.
  • 온도 0은 0으로 나눌 수 없어 극한(그리디)으로 따로 처리합니다. 최댓값이 여럿이면 나눠 갖습니다.
  • top-p는 누적이 p를 넘긴 항목까지 포함합니다. 구현마다 이 처리가 갈리므로 다른 결과와 비교할 때 확인해야 합니다.
  • 로짓은 500개까지 계산합니다.
  • 특정 모델의 실제 샘플링 동작과는 다를 수 있습니다. 반복 페널티나 로짓 바이어스 같은 추가 처리는 다루지 않습니다.

함께 보면 좋은 도구

마지막 검증: 2026년 9월 2일 · 결과는 참고용 추정치입니다.