AI 해부교실 · Part 5 어텐션 완전 정복
51장 미래를 훔쳐보지 마
Q. 다음 단어를 맞혀야 하는데, 그 단어를 미리 볼 수 있다면 공부가 될까요?
- GPT는 다음 단어를 맞히는 모델이에요(1장). 그런데 47장의 점수표에서 '나는'은 뒤에 올 단어들까지 보고 있어요.
- 학습할 때는 문장 전체를 한꺼번에 넣어요. 뒷단어를 볼 수 있으면 정답을 미리 훔쳐보는 셈이라 공부가 안 돼요.
- 그래서 가림막을 내려요. 각 단어는 자기 자신과 앞 단어만 볼 수 있어요. 대각선 위쪽 칸을 모두 가려요.
- 가린 칸의 점수는 −∞, 끝없이 작은 수로 바꿔요. e의 −∞제곱은 0이라서, 소프트맥스를 하면 그 칸은 0%가 돼요.
- 줄마다 다시 소프트맥스를 하면, '나는'은 자기만 100%, '오늘'은 '나는' 97.2%, 자기 2.8%를 봐요.
- '간다' 줄은 원래 볼 단어가 모두 앞에 있어서 그대로예요. 49장에서 섞은 (2.25, 1.52)도 그대로고요.
- 이 삼각형 가림막 덕분에 모든 자리를 한 번에 학습하면서도 미래는 못 봐요. 이걸 인과 마스크(causal mask)라고 해요.
- 글을 만들 때도 마찬가지예요. 한 단어씩 써 내려가니까(2장), 아직 쓰지 않은 미래는 볼 수가 없죠.
한 장 요약
- 학습 때 뒷단어를 보면 정답을 훔쳐보는 셈. 그래서 미래 칸을 가린다.
- 가린 칸의 점수를 −∞로 바꾸면, 소프트맥스 뒤 비율이 0%가 된다.
- 각 단어는 자신과 앞 단어만 본다: 인과 마스크(causal mask). 마지막 단어 줄은 그대로.