챗GPT는 어떻게 공부했나.. 3단계 학습법
*이 글은 외부 필자인 성원용님의 기고입니다. 이전 글에서 챗GPT는 트랜스포머 구조의 인공신경망을 이용하고, 그 모델에 이용되는 파라미터(인공시냅스)의 개수가 1750억개라 하였습니다. (참조 - 챗GPT에서 G와 T는 무엇인가) 그런데 "구슬이 서 말이라도 꿰어야 보배"라는 속담처럼 인공신경망은 훈련을 제대로 시켜야만 쓸모가 있습니다. 그리고 모델의 사이즈가 크면 그것에 비례해서 훈련데이터의 크기도 커야 합니다. 오늘은 챗GPT의 훈련법을 관련 논문을 바탕으로 설명해 보겠습니다. 3단계 학습 가장 기본적인 인공신경망 훈련 방법은 감독학습 (supervised learning)인데, 이것은 인공신경망의 입력에 문제를 주고 출력에는 답을 준 후에 인공신경망이 그 답을 잘 맞히도록 훈련하는 방법입니다. 일례로 영한 번역기를 훈련한다면, 입력에 "I am going to school now"라는 텍스트를 주면서 출력에 "나는 지금 학교에 가고 있어"라는 답이 나오게 하는 것입니다. 이때 훈련 초기에는 답이 이렇게 안 나오니까, 정확한 답과 틀린 답의 차이 또는 오차를 이용하여 내부의 파라미터 값을 조금씩 바꿉니다. 즉 정확한 답이 안 나오면 내부 시냅스의 연결강도를 조금씩 바꾸는데, 당연히 이 오차가 줄어드는 방법으로 값을 바꾸어야 합니다. 이때 사용하는 알고리즘이 역전파(back propagation) 방법입니다. 내부의 1750억개 파라미터를 전부 다 제대로 바꾸려면 당연히 이 과정을 엄청 많이 수행해야 합니다. 모델의 크기가 매우 크지 않은 대부분의 인공신경망은 이렇게 문제와 정답을 쌍으로 주는 감독학습을 이용하여 훈련을 합니다. 이미지 인식, 글자 인식, 음성 인식, 번역 등 많은 응용은 현재 주로 감독학습을 이용하여 훈련이 되었습니다.