답 전체보다 다음 한 칸을 먼저 계산한다
제2회에서 문장은 토큰 번호의 줄로 바뀌었습니다. 이제 모델은 그 줄을 바탕으로 어휘표의 모든 토큰에 다음 자리의 점수를 매깁니다. 하나가 선택되면 그 토큰을 입력 뒤에 붙이고, 늘어난 문맥으로 다음 점수를 새로 계산합니다. 이처럼 앞에서 만든 결과를 다음 계산의 조건으로 다시 쓰는 방식을 자기회귀 생성이라고 합니다. 트랜스포머의 디코더도 이전 위치만 보도록 가린 뒤 다음 출력을 만듭니다.[1]
언어 모델은 지금까지의 토큰을 보고 다음에 올 토큰 후보를 계산합니다. 후보 하나를 고른 뒤 그 선택을 새 문맥에 넣어 다음 후보를 다시 계산합니다. 같은 출발점에서 답이 갈라지는 까닭은 이 반복 속에 있습니다.
제2회에서 문장은 토큰 번호의 줄로 바뀌었습니다. 이제 모델은 그 줄을 바탕으로 어휘표의 모든 토큰에 다음 자리의 점수를 매깁니다. 하나가 선택되면 그 토큰을 입력 뒤에 붙이고, 늘어난 문맥으로 다음 점수를 새로 계산합니다. 이처럼 앞에서 만든 결과를 다음 계산의 조건으로 다시 쓰는 방식을 자기회귀 생성이라고 합니다. 트랜스포머의 디코더도 이전 위치만 보도록 가린 뒤 다음 출력을 만듭니다.[1]
마지막 계산층은 어휘표의 각 토큰에 실수 점수를 냅니다. 이 값은 흔히 로짓이라고 부릅니다. 로짓은 합이 1일 필요도 없고 음수일 수도 있습니다. 중요한 것은 같은 자리에서 후보들이 받는 상대적인 크기입니다. 그다음 소프트맥스가 점수 차이를 0과 1 사이의 값으로 바꾸어 전체 합이 1인 분포를 만듭니다. 트랜스포머 논문도 디코더 출력을 선형 변환과 소프트맥스로 다음 토큰 확률에 바꾼다고 설명합니다.[1]
후보 확률은 지금까지의 문맥과 모델의 매개변수 아래에서 어떤 토큰이 이어지기 쉬운지를 나타냅니다. 이 값은 문장의 사실성을 검사한 정답률이나 모델의 확신도를 나타내지 않습니다. 그럴듯하지만 틀린 표현도 높은 점수를 받을 수 있고, 드물지만 정확한 전문어는 낮은 점수로 밀릴 수 있습니다. 따라서 다음 토큰 확률과 사실의 정확성은 서로 다른 질문입니다. GPT 계열 모델이 다음 토큰 예측으로 사전학습된다는 설명과, 출력이 완전히 신뢰할 수 없다는 한계도 함께 보아야 합니다.[2]
탐욕 선택은 매 단계에서 확률이 가장 높은 토큰 하나를 택합니다. 같은 모델·전체 입력·설정과 결정론적 계산이 유지되면 같은 길을 되풀이하기 쉽습니다. 샘플링은 후보마다 확률에 비례한 표를 넣고 한 장을 뽑는 것과 비슷합니다. 54% 후보가 자주 나오지만, 24% 후보도 선택될 수 있습니다. 디코딩 방식만 바꾸어도 같은 언어 모델에서 문장 다양성과 반복 양상이 크게 달라질 수 있다는 연구가 있습니다.[3]
온도는 소프트맥스에 넣기 전 로짓을 나누는 값입니다. 1보다 낮추면 점수 차이가 커져 상위 후보에 확률이 몰리고, 1보다 높이면 차이가 완만해져 낮은 후보도 선택될 여지가 커집니다. 이 글의 같은 로짓에서 ‘먼저’는 온도 0.5일 때 79.2%, 1일 때 54.1%, 1.5일 때 42.5%가 됩니다. 온도는 새 지식을 더하거나 지우지 않고 선택 분포의 모양을 바꿉니다. 서비스마다 허용 범위와 구현은 다를 수 있습니다.[4]
top-k는 확률이 높은 순서대로 k개 후보만 남긴 뒤, 그 안에서 확률을 다시 맞추어 뽑습니다. k가 1이면 탐욕 선택과 같아지고, k가 커질수록 더 많은 후보가 살아남습니다. 장점은 아주 낮은 꼬리 후보를 간단히 제외할 수 있다는 점입니다. 다만 어느 자리에서든 같은 개수를 남기므로, 한 후보가 압도적인 자리와 여러 후보가 비슷한 자리를 구분하지 못합니다. k는 단어 수가 아니라 토큰 후보의 개수입니다.[3]
top-p 또는 핵 샘플링은 높은 후보부터 누적 확률을 더해 기준 p에 도달하는 가장 작은 집합을 남깁니다. 이 글의 온도 1 분포에서 p가 0.8이면 54.1%와 24.3%만으로는 78.4%라서 세 번째 후보까지 포함합니다. 다음 자리에서 1등 후보가 85%라면 하나만 남을 수도 있습니다. 그래서 후보 수가 문맥마다 달라집니다. 홀츠먼 연구진은 낮은 신뢰도의 긴 꼬리를 잘라 내면서 다양성을 남기는 방법으로 핵 샘플링을 제안했습니다.[3]
첫 토큰으로 ‘먼저’를 고른 문맥과 ‘함께’를 고른 문맥은 서로 다른 입력이 됩니다. 다음 단계에서는 각 문맥에 맞는 후보 점수를 새로 계산합니다. 이 차이가 여러 차례 쌓이면 문장 구조와 예시, 결론도 달라질 수 있습니다. 샘플링에서 고른 토큰은 다음 계산의 입력에 추가되고, 그때마다 뒤의 후보 분포가 갱신됩니다.
이어지는 실습은 앞에서 사용한 다섯 로짓에 온도와 top-p를 적용하고, 브라우저 안의 의사난수로 다음 토큰을 뽑습니다. 실제 LLM이나 외부 API를 호출하지 않습니다. 온도를 바꾸면 전체 확률이 다시 계산되고, top-p는 누적 기준에 따라 후보를 남깁니다. 같은 시드와 같은 설정으로 ‘같은 조건 8번’을 누르면 같은 순서가 재현됩니다. 수학적 선택 절차를 직접 확인하는 교육용 모형입니다.
교육용 고정 로짓: 먼저 2.2 · 함께 1.4 · 다시 0.6 · 천천히 0.1 · 갑자기 −0.4
사용자가 마지막에 입력한 한 문장만 같다고 해서 모델이 받은 전체 입력이 같다는 뜻은 아닙니다. 서비스의 지침, 앞선 대화, 첨부 문서에서 찾은 구절, 도구가 돌려준 결과가 함께 문맥에 들어갈 수 있습니다. 모델 버전이나 제공자가 적용한 후속 설정도 달라질 수 있습니다. 이 요소가 하나만 바뀌어도 첫 후보 점수부터 달라집니다. 따라서 답을 비교할 때는 보이는 질문뿐 아니라 모델에 전달된 조건의 범위를 확인해야 합니다.
계약 조항 추출, 수치 계산, 정해진 형식 변환처럼 재현성과 검토가 중요한 일은 낮은 변동 설정, 명확한 출력 형식, 근거 자료와 검산 절차를 함께 두는 편이 좋습니다. 제목 후보나 관점 탐색처럼 여러 대안이 필요한 일은 더 넓은 후보 집합에서 여러 번 생성한 뒤 사람이 고를 수 있습니다. 온도를 낮추면 선택의 변동이 줄어듭니다. 사실성은 근거 대조와 검산으로 별도 확인합니다. 생성 설정과 내용 검수를 각각 설계해야 합니다.
두 답을 공정하게 비교하려면 질문 전문, 앞선 대화와 자료, 모델 이름과 버전, 생성 날짜, 온도·top-p 같은 설정, 도구 결과를 가능한 범위에서 함께 남겨야 합니다. 시드는 의사난수 순서를 맞추는 데 도움을 주지만, 소프트웨어 버전·장치·알고리즘이 달라지면 완전한 재현이 보장되지 않을 수 있습니다.[5] 다음 회에서는 이 후보 분포를 만들 수 있도록 모델이 그 많은 말의 규칙을 언제, 어떤 학습 과정에서 얻었는지를 살펴봅니다.