제48회 · LLM과 함께 배우는 생각그림

다음 토큰 확률 그래프는 생성의 한순간을 어떻게 보여 줄까?

완성된 답변 뒤에서 한 번에 하나씩 계산되는 후보 분포를 펼치고, 확률과 실제 선택·문장 전체 확률을 구분합니다.

문장 전체가 아니라 다음 한 토큰의 후보를 그린다

“오늘 모임은 오후 세 시”까지 입력됐을 때 생성 모델은 어휘의 모든 토큰에 다음 위치의 점수인 로짓을 만든다. 소프트맥스가 이를 확률 분포로 바꾸고, 탐욕 선택이나 표본 추출 규칙이 한 토큰을 고른다. 선택된 토큰을 뒤에 붙인 뒤 다음 시점의 분포를 다시 계산한다.

확률 그래프는 특정 모델·버전·입력·생성 시점의 한 분포다. 완성 문장 전체에 대한 단일 확률이나 모델의 믿음 정도와 같지 않다. 이 글의 후보와 수치는 계산과 필터를 연습하도록 만든 교육용 자료이며 실제 상용 LLM의 실행 로그가 아니다.

생각그림 1 · 온도 1에서의 다음 토큰 후보 분포도표를 좌우로 움직여 전체 내용을 확인하세요.
49.5%입니다27.1%이다12.2%였어요6.7%같습니다4.5%끝
막대 합은 표시 전 어휘 전체에서 1입니다. 화면에는 상위 후보만 보일 수 있으므로 숨긴 확률 질량을 따로 적어야 합니다.

로짓은 확률이 아니며 차이만으로 순위를 만든다

로짓은 마지막 표현을 어휘 크기로 투영한 실수 점수다. 음수일 수도 있고 합이 1일 필요도 없다. 소프트맥스는 각 로짓의 지수를 전체 지수 합으로 나누어 0과 1 사이 값으로 만든다. 모든 후보에 같은 상수를 더해도 확률은 변하지 않는다.

큰 로짓 차이는 지수 계산을 거치며 확률 차이를 크게 만든다. 구현은 수치 안정성을 위해 최댓값을 뺀 뒤 계산할 수 있다. 그래프에는 원시 로짓과 최종 확률을 섞지 말고 단위와 처리 순서를 표시한다. “점수 2.2 = 확률 220%” 같은 변환은 잘못이다.

생각그림 2 · 로짓에서 확률로 바꾸는 계산
후보로짓 zexp(z)확률(교육용)
입니다2.29.0349.9%
이다1.64.9527.4%
였어요0.82.2312.3%
같습니다0.21.226.7%
끝-0.20.824.5%
표시는 반올림되므로 합이 정확히 100%와 조금 다를 수 있습니다. 계산은 반올림 전 값으로 합니다.

온도는 로짓 차이를 나누어 분포의 뾰족함을 바꾼다

온도 T를 적용할 때 로짓을 T로 나눈 뒤 소프트맥스를 계산한다. T가 1보다 작으면 차이가 커져 상위 후보에 확률이 더 몰리고, 1보다 크면 분포가 평평해진다. 온도 0을 그대로 나눌 수는 없으므로 구현에서는 탐욕 선택 같은 별도 동작으로 처리한다.

온도가 낮다고 항상 더 정확하거나 높다고 항상 더 창의적인 것은 아니다. 모델, 과제, 프롬프트, 반복 패널티, 후보 필터가 함께 결과를 바꾼다. 비교 그래프에서는 같은 로짓과 같은 시점에서 온도만 바꾸고, 확률 합과 순위 변화를 함께 본다.

생각그림 3 · 같은 로짓에 세 온도를 적용한 비교
온도상위 후보 확률분포 읽기
0.5약 70.6%상위 후보에 집중
1.0약 49.6%기준 분포
1.8약 36.0%후보 사이가 평평해짐
온도는 새로운 지식을 더하지 않고 주어진 로짓 차이를 재조정합니다.

top-k는 후보 개수, top-p는 누적 확률을 기준으로 자른다

top-k는 확률이 큰 k개 후보만 남긴다. k=3이면 세 후보 이외의 확률을 0으로 만들고 남은 값으로 다시 정규화한다. top-p는 큰 확률부터 더해 누적합이 p를 넘는 최소 후보 집합을 남긴다. 분포가 뾰족하면 적은 후보, 평평하면 더 많은 후보가 남을 수 있다.

필터 뒤 그래프에는 원래 확률과 재정규화한 선택 확률을 구분한다. 원래 12%였던 후보가 필터 뒤 18%가 되어도 모델 로짓이 바뀐 것은 아니다. 선택 가능한 집합이 줄어 남은 확률을 다시 나눈 결과다. 구현별 최소 토큰 수와 경계 포함 규칙도 확인한다.

생각그림 4 · 두 후보 필터의 기준 비교
방법설정남는 집합확인할 것
top-kk=3상위 3개동률 처리
top-pp=0.80누적 80%를 넘는 최소 집합경계 후보 포함
둘 다k=10,p=.9두 조건을 순서대로 적용처리 순서
필터 없음전체 어휘0 아닌 모든 후보희귀 후보 꼬리
후보 필터는 분포를 읽기 쉽게 하는 그림 장치가 아니라 실제 선택 절차를 바꾸는 생성 설정입니다.

표본 추출과 탐욕 선택은 같은 분포에서 다른 결과를 낸다

탐욕 선택은 매 시점 가장 확률이 큰 토큰을 고른다. 표본 추출은 남은 분포에 따라 무작위로 하나를 뽑으므로 두 번째나 세 번째 후보도 나올 수 있다. 난수 시드가 다르면 같은 입력·설정에서도 다른 문장이 생성될 수 있다.

한 번 선택된 토큰은 다음 시점의 입력을 바꾸므로 이후 분포도 달라진다. 첫 토큰 확률이 높은 경로가 문장 전체에서 가장 높은 확률 경로라고 보장되지 않는다. 빔 탐색은 여러 부분 문장을 유지하지만 길이 보정·종료 조건 등 별도 설정이 필요하다.

생각그림 5 · 한 시점의 분포와 생성 절차를 분리한다
탐욕 선택매 시점 최댓값
표본 추출분포에 따라 무작위 선택
빔 탐색여러 부분 문장 점수 유지
주의한 시점 1위 ≠ 전체 문장 최적
확률 그래프는 후보 분포이고, 어떤 막대가 실제로 선택되는지는 디코딩 규칙까지 알아야 합니다.

긴 꼬리를 숨기면 확률 질량을 함께 표시한다

어휘가 수만 개면 상위 10개만 그려야 읽기 쉽다. 하지만 상위 10개 합이 62%라면 화면 밖 후보가 38%를 가진다. “기타 38%” 막대를 두거나 상위 후보 합·숨긴 후보 수를 캡션에 적는다. 상위 막대만 다시 100%로 보이게 만들면 원래 분포가 과장된다.

토큰 표기도 원문 문자열과 다를 수 있다. 앞 공백, 서브워드 표시, 바이트 조각, 특수 토큰을 시각적으로 정리하더라도 원시 토큰 ID와 표시 변환을 제공한다. 같은 글자처럼 보여도 서로 다른 토큰 ID일 수 있고, 하나의 단어가 여러 생성 단계로 나뉠 수 있다.

생각그림 6 · 상위 후보와 숨긴 꼬리를 함께 읽는다
화면 항목표시 예
상위 5개 합82.4%
기타 확률 질량17.6%
숨긴 후보 수50,000개 중 49,995개
원시 토큰ID·공백 표시 포함
표시 문자열독자용 변환 규칙
기타 질량은 개별 후보가 작아도 전체로는 클 수 있으므로 생략하지 않습니다.

LLM 요청문에는 한 생성 시점의 원자료를 준다

완성 문장만 주고 토큰 확률을 추정하게 하면 실제 모델의 분포를 복원할 수 없다. 모델 실행에서 기록한 토큰 ID, 문자열, 로짓 또는 확률, 온도, 필터, 선택 방법, 난수 시드, 생성 시점을 제공해야 한다. 기록이 없으면 준비된 가상 예시라고 명확히 표시한다.

그래프 제작 전에 소프트맥스를 다시 계산해 합을 검산하고, top-k·top-p 적용 전후 후보 집합과 재정규화를 표로 비교하게 한다. 실제 선택 토큰은 별도 표시하되 최고 확률 막대와 같다고 가정하지 않는다. 로그에 없는 후보를 그럴듯하게 채우지 않도록 금지한다.

생각그림 7 · 다음 토큰 그래프의 입력과 검산 순서
모델·입력·시점 고정
로짓·토큰 ID 수집
소프트맥스 검산
필터 전후 분리
선택 토큰 표시
실행 로그가 없으면 확률 그래프는 만들 수 없고 교육용 가정 분포만 만들 수 있습니다.

수정 전후는 확률과 선택을 분리하는 데서 갈린다

수정 전 그림은 상위 다섯 막대를 합계 100%로 다시 그린 뒤 “모델은 50% 확신으로 ‘입니다’를 생각했다”라고 적었다. 기타 후보 질량, 온도, 필터, 실제 선택 방식이 빠졌고 한 시점의 분포를 완성 문장 전체의 신뢰도로 해석했다.

수정 후에는 “시점 17의 다음 토큰 분포, 온도 1.0, 필터 전”이라고 제목을 바꾸고 상위 5개 합과 기타 질량을 표시했다. 표본 추출로 실제 선택된 토큰을 윤곽선으로 표시하고, 확률을 사실 정확도나 인간적 확신으로 번역하지 않았다.

생각그림 8 · 확신 그림을 생성 분포 기록으로 고친다
수정 전상위 막대만 100%로 재정규화
수정 전확률=사실 확신
수정 후시점·온도·필터·기타 질량
수정 후분포와 실제 선택을 분리
정확한 제목과 분모를 적으면 확률 막대가 말할 수 있는 범위가 선명해집니다.

공개 전에는 계산·필터·상호작용을 실제로 시험한다

준비된 로짓으로 소프트맥스를 독립 계산하고 확률 합이 반올림 전 1인지 확인한다. 온도 0.5·1·1.8에서 상위 확률이 예상 방향으로 변하는지, top-k와 top-p 경계 후보가 정확히 포함되는지 시험한다. 표본 추출은 고정 시드에서 재현되는지 기록한다.

모바일에서는 후보 이름과 값이 겹치지 않게 막대를 가로 배치하거나 내부 스크롤을 쓴다. 키보드로 온도와 필터를 바꾸고 aria-live 결과가 읽히는지 확인한다. 마지막으로 한 시점의 분포, 디코딩 규칙, 전체 문장 품질을 한 문장에 섞지 않았는지 검토한다.

생각그림 9 · 토큰 확률 그래프 공개 전 검사표
검사통과 기준실패 시 수정
소프트맥스전체 확률 합 1로짓·정규화 재계산
온도낮을수록 같은 로짓에서 집중T 적용 위치 점검
top-k/p경계 후보·재정규화 일치필터 순서 수정
표시기타 질량·원시 토큰 제공분모·라벨 보완
접근성키보드·숫자·라이브 결과대체 조작 추가
확률 그래프는 수식 검산과 실제 생성 설정이 모두 맞을 때 한 시점의 기록으로 읽을 수 있습니다.

복사해서 쓸 수 있는 LLM 요청문

아래 요청문은 교육용 예시다. 원문을 함께 제공하고, 모델이 빈칸을 추측하지 않도록 금지 조건을 넣었다. 결과를 받으면 원문 문장과 노드·선의 대응을 사람이 다시 확인한다.

다음 생성 시점의 로짓을 토큰 확률 그래프로 정리해 줘.
1. 모델·버전·입력·생성 시점·토큰화·어휘 크기를 먼저 적는다.
2. 원시 토큰 ID·표시 문자열·로짓을 보존하고 소프트맥스로 전체 확률 합을 검산한다.
3. 온도 적용 전후를 분리하고 T=0은 나눗셈이 아니라 별도 선택 규칙으로 처리한다.
4. top-k와 top-p 적용 전 분포, 남은 후보 집합, 재정규화 후 선택 확률을 나란히 적는다.
5. 상위 후보만 그리면 합과 기타 확률 질량·숨긴 후보 수를 표시한다.
6. 실제 선택 토큰과 최고 확률 토큰을 구분한다.
7. 한 시점 확률을 문장 전체 확률, 사실 정확도, 인간적 확신으로 해석하지 않는다.
8. 로그에 없는 값은 추정하지 말고 교육용 값이면 그렇게 표시한다.

[토큰 ID·문자열·로짓·생성 설정] …
생각그림 10 · 요청문에서 결과와 검토까지
원문 붙이기
도표 목적 명시
추정 금지
문장별 대조
요청문은 도표를 자동으로 진실로 만들지 않습니다. 원문과 결과를 왕복해 확인하는 절차가 핵심입니다.

직접 실습하고 결과를 읽기

이 실습은 브라우저 안에 준비한 교육용 자료만 사용한다. 외부 LLM을 호출하거나 실제 기관 자료를 조회하지 않는다. 입력을 바꾸어 결과가 어떻게 달라지는지 보고, 설명과 맞지 않는 결과가 나오면 어떤 정보가 빠졌는지 적어 본다.

온도와 필터를 바꾸어 상위 확률과 남는 후보를 비교하세요.

자료와 출처

아래 자료는 이번 글의 정의와 표기법을 확인하는 데 사용했다. 생각그림과 사례 문장은 원자료를 복제하지 않고 이 글의 교육 목적에 맞게 새로 구성했다.