온도와 탑-k를 함께

손잡이 두 개를 달면 글이 정말 달라질까요?

토큰 하나를 고르는 순서

네 단계를 거칩니다

모델이 점수표를 내놓을 때마다 이 순서로 토큰 하나를 고릅니다.

탑-k는 점수 상위 k개만 남기는 것이고, 온도는 점수를 나누는 수입니다. 3단계의 계산이 소프트맥스입니다.

되풀이

토큰을 붙일 때마다 처음부터 다시 합니다

토큰 하나를 붙이면 글이 달라지므로 점수표도 새로 나옵니다. 정한 개수를 다 쓸 때까지 되풀이합니다.

그림은 토큰 15개를 쓰게 한 경우입니다.

결과

같은 모델인데 다른 글이 나옵니다

위는 1편에서 본 결과이고, 아래는 상위 25개로 거른 뒤 온도 1.4로 뽑은 결과입니다. 되풀이가 사라졌습니다.

둘 다 1편에서 쓴, 소설을 두 번만 읽힌 모델입니다. 위는 토큰 25개, 아래는 15개를 쓰게 한 실습 결과입니다.

그런데

글은 여전히 어색합니다

고르는 방법은 모델이 매긴 점수 안에서만 고릅니다. 점수표가 서툴면 어떻게 골라도 좋은 글이 나오지 않습니다.

막대 모양은 예시입니다. 8강처럼 열 번 읽히면 소설을 외울 뿐이었습니다. 7편에서 훨씬 많은 글로 훈련한 숫자를 넣어 봅니다.

언제 멈추나

개수를 채우거나 끝 표시가 나오면 멈춥니다

글이 끝났다는 뜻의 특별한 토큰이 있습니다. 이것이 뽑히면 개수가 남아 있어도 거기서 멈춥니다.

이 토큰을 EoS라고 부릅니다. end of sequence, 곧 '글의 끝'을 줄인 말입니다. 아랫줄에서 멈춘 자리는 예시입니다.

값 고르기

하려는 일에 따라 다르게 돌립니다

답이 하나여야 하는 일은 온도와 k를 낮추고, 여러 가지를 보고 싶은 일은 높입니다. 정해진 값은 없어서 써 보면서 맞춥니다.

일의 종류는 예시입니다. 0으로는 나눌 수 없어서, 실습의 코드는 온도를 0으로 두면 뽑지 않고 1등만 고릅니다.

다음 편

애써 훈련한 모델, 프로그램을 끄면 어떻게 될까요?

6편끄면 사라질까? 9강 목록