데이터와 모델 준비
LoRA로 훈련하려면 데이터와 모델을 새로 준비해야 할까요?
같은 문자
정답이 붙은 문자를 셋으로 나눕니다
10강에서 만든 그대로입니다. 스팸과 정상 문자를 747통씩 맞추고, 섞은 다음 세 묶음으로 나눴습니다.
훈련 세트로 배우고, 검증 세트로 훈련 도중에 살피고, 테스트 세트로 마지막에 실력을 잽니다.
같은 묶음
120칸에 맞춰 여덟 통씩 묶습니다
토큰은 글을 잘게 나눈 조각입니다. 가장 긴 문자가 토큰 120개라서 모든 문자를 120칸으로 맞추고, 여덟 통씩 묶어 모델에 넣습니다.
훈련 세트는 여덟 통이 안 차는 마지막 5통을 빼서 130묶음입니다. 검증과 테스트 세트는 덜 찬 마지막 묶음도 셉니다. 10강과 같습니다.
같은 모델
훈련을 마친 GPT-2의 가중치로 시작합니다
오픈AI가 공개한 가장 작은 GPT-2의 가중치를 넣었습니다. 글을 이어 쓰게 하니 말이 되는 문장이 나옵니다.
10강에서 본 문장의 앞부분입니다. 이번에는 짧게만 쓰게 했습니다. 뜻은 '모든 노력은 당신을 앞으로 나아가게 합니다. 첫'입니다.
같은 끝부분
출력 층을 점수 2개짜리로 바꿉니다
GPT의 맨 끝 층은 토큰 50,257가지의 점수를 냅니다. 이것을 정상과 스팸, 점수 2개를 내는 층으로 바꿉니다.
11강에서 분류 헤드라고 부른 층입니다. 점수가 큰 쪽이 모델의 답입니다.
훈련 전에 재 보면
절반쯤 맞힙니다
맞힌 문자의 비율을 정확도라고 합니다. 스팸과 정상이 반반이라 한쪽으로만 찍어도 50%입니다. 스팸 가려내기는 아직 배우지 않았습니다.
세 세트를 통째로 넣어 잰 값입니다. 11강의 46.25%는 문자 80통만 넣어 잰 값이라 숫자가 조금 다릅니다.
가장 크게 달라지는 것
어느 숫자를 훈련하느냐입니다
11강에서는 뒤쪽 세 곳을 풀어 직접 고쳤습니다. 이번에는 전부 얼리고, 옆에 붙인 작은 표만 훈련합니다.
오른쪽의 노란 조각 하나는 블록 하나에 붙는 여섯 쌍을 묶어 그린 것입니다. 맨 위 조각은 출력 층에 붙는 한 쌍입니다.
다음 편