사전 훈련된 더 큰 모델 불러오기
스팸 분류에 쓴 것보다 세 배 가까이 큰 모델을 불러옵니다. 왜일까요?
고를 수 있는 모델
GPT-2는 네 가지 크기로 공개돼 있습니다
10강과 11강의 스팸 분류에는 가장 작은 124M을 썼습니다. 이번에는 그다음 크기인 355M을 씁니다.
M은 백만입니다. 355M은 모델 안에 든 숫자인 가중치가 약 3억 5,500만 개라는 뜻입니다. 층은 모델을 이루는 처리 단계를 쌓은 수입니다(7강).
무엇이 커지나
층이 두 배로 늘어납니다
블록을 12층에서 24층으로 쌓고, 토큰 하나를 나타내는 숫자도 늘립니다. 그래서 가중치가 세 배 가까이 됩니다.
토큰은 글을 잘게 자른 조각입니다. 모델은 토큰 하나를 숫자 여러 개로 바꿔서 다룹니다(3강).
큰 모델이 필요한 이유
지시 따르기는 더 어려운 일입니다
지시 따르기는 일의 종류가 여럿이고 답도 문장입니다. 가중치가 많을수록 더 복잡한 규칙을 담을 수 있는데, 124M으로는 이 일을 배우기에 모자랍니다.
코드에서는
바꾸는 것은 이름 한 줄입니다
쓸 모델의 이름만 바꿔 적으면 층 수와 숫자 개수가 그 크기에 맞게 정해집니다.
small은 작은 것, medium은 중간 것이라는 뜻입니다. CHOOSE_MODEL은 '고른 모델'이라는 뜻으로 붙인 이름입니다.
가중치 채우기
숫자는 내려받아 채웁니다
3억 5,500만 개를 직접 사전 훈련하지 않습니다. 오픈AI가 공개한 가중치를 내려받아 모델에 채웁니다. 9강에서 한 것과 같은 방법입니다.
사전 훈련은 많은 글로 다음 토큰 맞히기를 시킨 훈련입니다. 가중치가 든 파일의 크기는 1.42GB입니다.
불러온 직후
언어는 알지만 지시는 서툽니다
손실은 작을수록 좋은 숫자입니다. 훈련 세트와 검증 세트에서 재 보니 찍는 수준 10.82보다 훨씬 작습니다. 하지만 1편에서 본 것처럼 지시는 아직 따르지 못합니다.
손실은 모델이 정답 토큰을 얼마나 못 맞히는지 잰 값입니다(8강). 검증 세트는 확인용으로 남겨 둔 예제이고, 10.82는 토큰 50,257가지 가운데 아무거나 찍을 때의 손실입니다.
다음 편