AI VIDEO BRIEFING

지시 미세조정(Instruction Fine-Tuning) 정리: 알파카 템플릿, 패딩 마스킹, LLM 심판 평가까지

베이스 모델을 지시 따르는 모델로 바꾸는 지시 미세조정 과정을 데이터셋 구조와 알파카 템플릿, 손실에서 제외하는 패딩 마스킹, 다른 LLM을 심판으로 세우는 평가 방식까지 스터디 발표 순서를 따라 차근차근 정리했다.

베이스 모델은 왜 말귀를 못 알아듣나: 지시 미세조정의 실제 작동 방식 영상 대표 이미지

핵심 메시지

  • 지시 미세조정은 기존 학습과 구조가 거의 같고, 결정적 차이는 입력 데이터에 '지시문'이 하나 더 붙는다는 점이다.
  • 데이터셋은 지시문·입력·출력 세 칸으로 구성되며 입력이 비어 있는 항목도 있어, 템플릿으로 하나의 문장 형태로 합쳐 넣는다.
  • 토큰 길이를 맞추려 넣은 패딩은 손실 계산에서 빼야 하므로, 채움 토큰을 다시 -100으로 바꿔 마스킹한다.
  • 생성된 문장의 품질은 손실값으로 잴 수 없어, 더 큰 모델에게 정답과 얼마나 비슷한지 0~100점으로 채점시키는 방식을 쓴다.
  • 발표자는 이 방식이 최신 흐름과는 거리가 있고, 실무에서는 로라 같은 어댑터를 붙이는 편이 낫다고 정리했다.

쉽게 이해하기

허깅페이스에서 모델 이름 뒤에 '베이스'와 '인스트럭트'가 나란히 붙어 있는 이유를 설명하는 자리였다. 베이스 모델은 앞말에 이어질 말을 만들어내는 데까지만 학습된 상태여서, '이 데이터를 분석해 줘' 같은 요청을 받아도 요청으로 알아듣지 못한다. 인스트럭트 모델은 지시문과 그에 맞는 답변 쌍으로 한 번 더 학습시켜, 시키는 대로 행동하도록 성격을 바꿔 놓은 결과물이다.

학습 데이터의 형태가 이 차이를 만든다. 이전 장까지는 입력과 출력 두 칸만 있으면 됐지만, 지시 미세조정용 데이터셋은 지시문·입력·출력 세 칸으로 이뤄진다. 항목에 따라 입력 칸이 비어 있고 지시문만 있는 경우도 있어서, 알파카 계열 템플릿에 맞춰 이들을 하나의 텍스트로 합친 다음 토크나이저에 넣는다. 발표자는 학습 데이터가 '입력 하나'에서 '지시문까지 포함한 입력'으로 바뀐 것이 핵심이라고 짚었다.

전처리에서 손이 가는 대목은 길이 맞추기였다. 모델이 받는 토큰 길이는 고정돼 있어 짧은 문장은 빈자리를 채워야 하는데, 우선 문장 종료 토큰에 해당하는 값으로 채운 뒤 실제 끝을 나타내는 하나만 남기고 나머지는 -100으로 다시 바꾼다. 교차 엔트로피 손실을 계산할 때 -100인 자리를 건너뛰게 해, 아무 의미 없는 채움값이 학습 신호를 오염시키지 않도록 하려는 장치다.

학습 자체는 일반적인 파이토치 코드와 다르지 않았다. 데이터셋과 데이터로더를 정의하고, 배치 단위로 나눠 GPU에 올리고, 예측과 정답의 교차 엔트로피를 줄이는 방향으로 AdamW가 가중치를 갱신한다. 이 책의 예제는 기존 가중치를 전부 갈아엎는 방식이라 발표자는 '엄밀히 말하면 미세조정이라기보다 새로 학습시킨 것에 가깝다'고 표현했다.

마지막 단계인 평가에서 성격이 달라진다. 손실값은 로짓 수준의 비교일 뿐 생성된 문장이 자연스러운지는 말해 주지 않기 때문에, 예제는 로컬에 띄운 더 큰 모델에 API로 접속해 모델 답변과 정답이 얼마나 비슷한지 점수를 매기게 했다. 실습 결과 평균 50점이 나왔고, 이 정도면 사실상 무작위에 가까워 학습이 제대로 되지 않은 것으로 봐야 한다는 해석이 뒤따랐다.

주요 인사이트

  • 왜 학습 중에는 큰 모델의 채점 점수를 손실 함수로 쓰지 않느냐는 질문이 나왔고, 답은 미분 가능성이었다. 역전파를 하려면 기울기를 따라갈 수 있는 함수여야 하는데 심판 모델이 뱉는 점수는 그냥 상수라 가중치를 어느 방향으로 움직여야 할지 알려 주지 못한다.
  • 손실이 낮다고 의미가 맞는 답이라고 단정할 수 없다는 지적도 있었다. 같은 뜻을 다른 문장으로 쓸 수 있는 자연어 특성상 수치가 작다는 것과 정답에 가깝다는 것은 별개이며, 그래서 생성 결과 평가만 따로 떼어 다른 모델에 맡긴다.
  • 데이터 증류가 퍼진 뒤로는 평가 구조 자체가 달라질 수 있다는 이야기가 이어졌다. 큰 모델에게 학습용 정답 세트를 만들게 한 다음 그 데이터로 학습시키면 심판을 따로 둘 이유가 줄고, 대신 생성 결과가 학습한 내용과 일치하는지 코사인 유사도 같은 다른 검증이 필요해진다.
  • 같은 원리가 이미지로도 확장된다. 지시문과 답변을 맞추는 대신 이미지와 텍스트를 정렬시키는 비주얼 인스트럭션 학습이 비전 언어 모델의 훈련 방식이며, 접근하는 뼈대는 이번 장과 크게 다르지 않다는 설명이 나왔다.
  • 실무 조언은 분명했다. 밑바닥부터 전체 가중치를 건드리는 방식은 원리를 이해하는 참고용이고, 실제로는 어댑터 층을 얹어 기존 가중치를 보존하는 쪽이 낫다는 것이다.

자주 묻는 질문

베이스 모델과 인스트럭트 모델은 무엇이 다른가?

베이스 모델은 앞의 텍스트에 이어질 말을 예측하는 수준까지 학습된 모델이다. 인스트럭트 모델은 여기에 지시문과 그에 대한 답변으로 이뤄진 데이터를 한 번 더 학습시켜, 사용자가 무언가를 시키면 그에 맞는 행동을 하도록 조정한 모델이다.

패딩 자리를 왜 -100으로 바꾸나?

토큰 길이를 맞추려고 채워 넣은 자리는 실제 정답이 아니기 때문이다. 교차 엔트로피 손실을 계산할 때 -100으로 표시된 위치는 건너뛰도록 해서, 의미 없는 채움값이 학습에 반영되지 않게 한다. 다만 문장이 실제로 끝나는 지점의 종료 토큰 하나는 남긴다.

생성한 답변은 어떻게 채점했나?

테스트 세트로 만든 답변을 파일에 저장한 뒤, 로컬에 올린 더 큰 모델에 API로 보내 정답과 얼마나 비슷한지 0에서 100 사이 점수를 달라고 요청했다. 돌아온 답변에서 점수를 추출해 평균을 냈고, 이번 실습에서는 50점이 나왔다.

이 방식이 지금도 권장되는 방법인가?

발표자는 아니라고 봤다. 밑바닥부터 구현하는 책의 특성상 최신 기법이 반영돼 있지 않고, 실제 파인 튜닝에서는 기존 가중치를 유지한 채 어댑터 층을 더하는 방식이 더 나을 수 있다며 여러 방법을 직접 시도해 볼 것을 권했다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식