2장 GPT의 기반 기술, Transformer란 무엇인가?
원 논문에서 Transformer는 기계번역 모델로 제안되었고, 모델 성능을 검증하기 위해,
영어-독일어 쌍 데이터셋
영어-프랑스어 쌍 데이터셋
를 사용해 실험을 사용했습니다.
사용한 데이터는 기계번역 전문 학회인 Workshop on Machine Translation(WMT) 2014의 데이터이며,
영어-독일어: 약 450만 문장 쌍
영어-프랑스어: 약 3,600만 문장 쌍
으로 구성된 데이터셋입니다.
구체적인 데이터 예시는 다음과 같습니다. (독일어-영어 쌍)
de: Ich hoffe, daß dort in Ihrem Sinne entschieden wird.
en: It will, I hope, be examined in a positive light.
영어-독일어 모델에 대해서는 총 37,000토큰의 어휘(vocabulary)를 BPE로 구축했고, 영어-프랑스어 모델에 대해서는 32,000토큰의 어휘를 WordPiece로 구축했습니다.
배치 사이즈는 한 배치 안에
소스 언어(번역 전) 토큰수
타깃 언어(번역 후) 토큰수
가 각각 약 25,000토큰 정도 포함되도록 조정했습니다. 요금 기준으로 보면 꽤 "작고 깔끔한" 토큰 수이지만, 당시에는 GPU메모리상 이것도 적은 편은 아니었습니다.
학습에는 NVIDIA P100 GPU 8개를 사용했으며,
베이스 모델(base model)은 약 12시간
더 큰 모델(big model)은 약 3.5일
정도의 학습 시간을 사용했습니다.
논문이 발표된 당시 기준으로 보면, 이 계산량은 절대 가볍지 않았습니다. 하지만, 지금 한국에서 대규모 한국어 LLM을 A100/H100 수십~수백장으로 학습하는 감각에서 보면, 이 정도는 솔직히 "귀여운 수준"의 계산량입니다.
최적화(optimization)에는 Adam을 사용했고, 하이퍼파라미터는 다음과 같이 설정했습니다.
β₁ = 0.9
β₂ = 0.98
ε = 10⁻⁹
학습률 rate는 학습 스텝수 n_step에 대해 다음과 같이 정의합니다.
여기서,
nwarmup은 학습 초반에 학습률을 점진적으로 올려주기 위한 워밍업 스템수이며, 값은 4,000으로 설정했습니다.
즉,
초반에는 step에 비례해서 학습률이 선형으로 증가하다가,
이후부터는 step⁻⁰·⁵에 따라 점차 감소하는 전형적인 Transformer 학습률 스케줄입니다.
연습문제2-8
지금 바로 작가의 멤버십 구독자가 되어
멤버십 특별 연재 콘텐츠를 모두 만나 보세요.
오직 멤버십 구독자만 볼 수 있는,
이 작가의 특별 연재 콘텐츠