지시 데이터로 미세 튜닝하기

지시를 따르는 법은 어떻게 가르칠까요?

훈련 방법

가르치는 방법은 그대로입니다

8강의 사전 훈련과 똑같이 자리마다 다음 토큰을 맞히게 합니다. 응답도 이렇게 한 토큰씩 맞힙니다.

토큰은 글을 잘게 자른 조각이고, 그림에서는 단어 하나를 토큰 하나로 그렸습니다. '### Response:'는 여기부터 응답이라는 이름표입니다.

배우는 것

935개가 모두 같은 모양입니다

어느 글이든 '### Response:' 뒤에는 지시에 맞는 응답이 오고, 응답 뒤에는 끝 표시가 옵니다. 이 모양을 맞히다 보면 지시에 답하게 됩니다.

끝 표시는 글이 끝났음을 알리는 토큰이고, <|endoftext|>라고 씁니다.

사전 훈련과 견주면

달라진 것은 읽는 글뿐입니다

맞히는 것도, 재는 것도, 고치는 것도 같습니다. 그래서 8강에서 쓴 훈련 코드를 그대로 다시 씁니다.

훈련의 단위

한 걸음에 하는 일

예제 8개를 한 묶음으로 넣고, 손실을 재고, 손실이 줄어드는 쪽, 곧 답을 덜 틀리는 쪽으로 가중치를 조금 고칩니다.

손실은 정답 토큰을 얼마나 못 맞혔는지 잰 숫자입니다. 묶음을 배치, 걸음을 스텝이라고도 합니다. 한 번에 고치는 폭인 학습률은 0.00005입니다.

얼마나 하나

116걸음이 1 에포크입니다

에포크는 훈련 세트를 처음부터 끝까지 한 번 다 쓰는 것입니다. 935개를 8개씩 묶으면 116묶음이라 116걸음이 1 에포크이고, 2 에포크 동안 232걸음을 갑니다.

남는 7개는 그 에포크에서 쓰지 않습니다. 2 에포크에서 멈추는 이유는 4편에서 봅니다.

고치는 범위

이번에는 전부 고칩니다

11강의 분류에서는 끝부분만 훈련하고 나머지는 잠갔습니다. 이번에는 문장을 새로 써내야 하는 일이라, 잠그는 곳 없이 3억 5,500만 개를 모두 고칩니다.

출력 층은 모델 맨 위에서 답을 내는 층입니다.

다음 편

준비는 끝났습니다. 232걸음을 걸어 봅니다

4편232걸음 뒤, 손실은? 13강 목록