모델의 응답을 뽑아 저장하기

모델이 한 번도 보지 못한 지시 110개를 내면 어떻게 답할까요?

시험 문제

남겨 둔 110개를 꺼냅니다

1편에서 따로 떼어 둔 테스트 세트입니다. 훈련에도, 훈련 도중 확인에도 쓰지 않았습니다. 외운 답으로는 풀 수 없습니다.

응답 받기

지시와 입력만 넣습니다

응답 자리를 비운 프롬프트(모델에 넣는 글)를 넣습니다. 모델은 훈련 때 본 대로 응답 이름표 '### Response:'부터 쓰고, 끝 표시가 나오면 멈춥니다.

끝 표시는 글이 끝났다는 뜻의 토큰이고, 안 나와도 256개에서 끊습니다. 모델의 답은 '그 차는 총알처럼 빠르다'입니다.

다듬기

응답만 잘라 냅니다

모델이 돌려주는 글에는 넣어 준 프롬프트가 앞에 그대로 붙어 있습니다. 프롬프트와 응답 이름표를 떼고 응답만 남깁니다.

코드는 읽기 쉽게 줄여 썼습니다. len은 글의 길이를 세고, replace는 글자를 찾아 바꿉니다.

전부

110개에 되풀이합니다

테스트 세트의 지시 110개에 하나씩 같은 일을 합니다. GPU로 1분 12초가 걸렸습니다.

GPU는 같은 계산을 한꺼번에 많이 하는 장치입니다. 컴퓨터의 기본 계산 장치인 CPU로는 8분 48초가 걸립니다.

저장 ①

모델 응답을 정답 옆에 적어 둡니다

데이터에 원래 있던 모범 응답은 이제 정답 구실을 합니다. 그 옆에 모델 응답 칸을 하나 더 붙여 파일로 저장합니다.

파일 이름은 instruction-data-with-response.json입니다. '응답을 붙인 지시 데이터'라는 뜻입니다.

저장 ②

모델도 파일로 남깁니다

미세 튜닝한 가중치를 파일로 저장합니다. 다음에 쓸 때는 훈련을 다시 하지 않고 이 파일을 불러옵니다.

다음 편

응답 110개가 모였습니다. 잘한 답인지는 어떻게 알까요?

6편정답과 다르면 틀린 걸까? 13강 목록