메모리와 더 큰 모델
숫자 1억 6,300만 개를 담으려면 공간이 얼마나 필요할까요?
메모리
621.83MB를 차지합니다
파라미터 하나를 적는 칸의 크기가 4바이트입니다. 그런 칸이 163,009,536개면 621.83MB입니다. 개인 컴퓨터로도 다룰 수 있는 크기입니다.
바이트는 컴퓨터가 정보를 담는 단위입니다. 이 모델은 숫자 하나를 적는 칸으로 4바이트를 씁니다. 1MB(메가바이트)는 1,048,576바이트입니다.
블록 하나 속
피드 포워드가 어텐션의 두 배
블록 하나에서 피드 포워드는 4,722,432개, 어텐션은 2,360,064개입니다. 피드 포워드가 가운데를 4배로 넓히느라 표가 크기 때문입니다.
쿼리, 키, 값, 합치기는 어텐션 안에 있는 표 네 개의 이름입니다. 네모의 넓이가 파라미터 수이고, 따로 더하는 숫자가 조금 있어 정확히 두 배는 아닙니다.
더 큰 모델
숫자 세 개만 바꿉니다
임베딩 차원, 층 수, 헤드 수만 키우면 더 큰 GPT-2가 됩니다. 부품도, 잇는 순서도 그대로입니다.
임베딩 차원은 토큰 하나를 나타내는 숫자의 개수이고, 헤드는 블록 안에서 함께 도는 어텐션 하나하나입니다. small이 지금까지 만든 모델입니다.
세어 보면
가장 큰 것은 16억 개가 넘습니다
가장 작은 모델이 163,009,536개, 가장 큰 XL이 1,637,792,000개입니다. 열 배쯤 차이가 납니다.
6강에서 본 수는 3억 4,500만, 7억 6,200만, 15억 4,200만이었습니다. 이 코드로 직접 세면 표를 묶어도 그보다 조금 많습니다.
다음 편