AI 해부교실 · Part 3 글자를 숫자로
32장 번호표의 한계
Q. 토큰마다 번호가 있는데, 그 번호를 그냥 모델에 넣으면 안 될까요?
- 토큰마다 번호가 있죠(29장). '나는'은 102052번, '에'는 3107번. 이 번호를 그대로 넣으면 어떨까요?
- 모델은 숫자를 곱하고 더해요(12장). 그러면 '나는'이 '에'보다 33배쯤 큰 값처럼 다뤄져요. 번호 크기엔 뜻이 없는데요.
- 그래서 번호 대신 자리로 표시해요. 단어 수만큼 칸을 만들고, 내 자리에만 1을 넣어요. 이게 원-핫 인코딩이에요.
- 이제 크기 차이는 없어요. 그런데 문제가 둘 있어요. 첫째, 너무 길어요. GPT-4o라면 약 20만 칸 중에 1이 딱 하나예요.
- 둘째, 모든 단어가 똑같이 남남이에요. 어떤 두 단어든 거리는 √2(8장), 내적은 0(9장)이에요.
- 강아지와 고양이가 닮았다는 걸 원-핫으로는 나타낼 수 없어요. 강아지와 버스만큼이나 멀거든요.
- 필요한 건 짧고, 뜻이 비슷하면 가까운 숫자 줄이에요. 그게 다음 장에서 만날 임베딩이에요.
한 장 요약
- 토큰 번호의 크기에는 뜻이 없어서 그대로 계산에 쓰면 안 된다.
- 원-핫: 단어 수만큼의 칸 중 내 자리에만 1. 크기 차이는 사라진다.
- 하지만 너무 길고(약 20만 칸), 모든 단어가 똑같이 멀다(거리 √2, 내적 0).