온도와 탑-k를 함께
손잡이 두 개를 달면 글이 정말 달라질까요?
토큰 하나를 고르는 순서
네 단계를 거칩니다
모델이 점수표를 내놓을 때마다 이 순서로 토큰 하나를 고릅니다.
탑-k는 점수 상위 k개만 남기는 것이고, 온도는 점수를 나누는 수입니다. 3단계의 계산이 소프트맥스입니다.
되풀이
토큰을 붙일 때마다 처음부터 다시 합니다
토큰 하나를 붙이면 글이 달라지므로 점수표도 새로 나옵니다. 정한 개수를 다 쓸 때까지 되풀이합니다.
그림은 토큰 15개를 쓰게 한 경우입니다.
결과
같은 모델인데 다른 글이 나옵니다
위는 1편에서 본 결과이고, 아래는 상위 25개로 거른 뒤 온도 1.4로 뽑은 결과입니다. 되풀이가 사라졌습니다.
둘 다 1편에서 쓴, 소설을 두 번만 읽힌 모델입니다. 위는 토큰 25개, 아래는 15개를 쓰게 한 실습 결과입니다.
그런데
글은 여전히 어색합니다
고르는 방법은 모델이 매긴 점수 안에서만 고릅니다. 점수표가 서툴면 어떻게 골라도 좋은 글이 나오지 않습니다.
막대 모양은 예시입니다. 8강처럼 열 번 읽히면 소설을 외울 뿐이었습니다. 7편에서 훨씬 많은 글로 훈련한 숫자를 넣어 봅니다.
언제 멈추나
개수를 채우거나 끝 표시가 나오면 멈춥니다
글이 끝났다는 뜻의 특별한 토큰이 있습니다. 이것이 뽑히면 개수가 남아 있어도 거기서 멈춥니다.
이 토큰을 EoS라고 부릅니다. end of sequence, 곧 '글의 끝'을 줄인 말입니다. 아랫줄에서 멈춘 자리는 예시입니다.
값 고르기
하려는 일에 따라 다르게 돌립니다
답이 하나여야 하는 일은 온도와 k를 낮추고, 여러 가지를 보고 싶은 일은 높입니다. 정해진 값은 없어서 써 보면서 맞춥니다.
일의 종류는 예시입니다. 0으로는 나눌 수 없어서, 실습의 코드는 온도를 0으로 두면 뽑지 않고 1등만 고릅니다.
다음 편