AI VIDEO BRIEFING
LLM 파인튜닝 실전 가이드: 허깅페이스·파이토치·LoRA로 라마 3.2 튜닝하기
허깅페이스와 파이토치로 라마 3.2 1B 모델을 논문 분류 작업에 파인튜닝하는 전 과정을 정리했다. 토크나이저와 채팅 템플릿, 손실 계산과 마스킹, 그리고 LoRA로 소수 파라미터만 학습하는 방법까지 단계별로 짚는다.

핵심 메시지
쉽게 이해하기
이 영상은 라마 3.2 1B 인스트럭트 모델을 허깅페이스와 파이토치로 파인튜닝하는 전 과정을 실습으로 보여준다. 과제는 논문의 제목과 초록을 입력받아 그 논문의 카테고리를 예측하는 분류 작업으로, 발표자는 arXiv API로 최근 컴퓨터과학 논문 2,000편을 모아 학습 데이터로 만들었다.
먼저 토크나이저가 문장을 토큰으로 쪼개 정수 인덱스로 바꾸는 과정을 설명한다. 길이가 다른 문장을 하나의 텐서로 묶으려면 패딩이 필요하고, 이때 어텐션 마스크로 실제 토큰에는 1, 패딩에는 0을 지정해 모델이 패딩을 무시하도록 한다.
채팅 템플릿은 시스템·사용자·어시스턴트 역할이 담긴 대화를 모델이 학습한 문자열 형식으로 변환한다. 발표자는 파인튜닝 없이 프롬프트만으로 분류를 시도했을 때 정확도가 약 40%에 그친다는 점을 먼저 확인한다.
학습의 핵심은 언어 모델이 다음 토큰을 예측하도록, 입력 시퀀스와 한 칸 밀린 정답 시퀀스를 만들어 크로스 엔트로피 손실을 계산하고 역전파로 가중치를 갱신하는 것이다. 정답이 원래 모델의 예측과 멀수록 손실이 커지고 가중치는 더 크게 움직인다.
마지막으로 전체 파인튜닝의 단점(자원 소모, 치명적 망각)을 짚고, 원본 가중치는 얼리고 어텐션과 피드포워드 층에 작은 저순위 행렬만 끼워 넣는 LoRA를 소개한다. LoRA를 쓰면 10억 개 대신 600만 개 수준의 파라미터만 학습하고, 작업별 어댑터를 갈아 끼워 하나의 기본 모델을 재사용할 수 있다.
주요 인사이트
- 언어 모델은 접두 문장이 주어지면 다음 단어의 확률 분포를 계산해 가장 그럴듯한 토큰을 골라 이어 붙이는 방식으로 문장을 생성한다.
- 추론은 토큰을 하나씩 순차 생성해 병렬화가 어렵지만, 학습은 어텐션 기반 모델의 특성상 인과 관계를 병렬로 학습할 수 있다.
- 손실을 답변 토큰에만 집중시키려면 프롬프트에 해당하는 라벨을 -100으로 바꿔 마스킹하는 것이 라마 문서가 권장하는 방식이다.
- LoRA는 1024×1024 같은 큰 가중치 행렬 전체가 아니라 그 변화량을 저순위로 분해해 학습하므로, 여러 작업용 어댑터를 따로 만들어 필요할 때 갈아 끼울 수 있다.
- 적은 데이터로도 효과가 있다: 8개 예시로 과적합 검증을 마친 뒤 500개 예시 학습만으로 분류 정확도가 30%대에서 67%로 올랐다.
자주 묻는 질문
패딩 토큰과 어텐션 마스크는 왜 필요한가?
길이가 다른 문장들을 직사각형 텐서 하나로 묶으려면 짧은 쪽을 패딩으로 채워야 하는데, 어텐션 마스크로 실제 토큰에는 1, 패딩에는 0을 지정해 모델이 패딩에는 어텐션을 주지 않도록 한다.
전체 파인튜닝 대신 LoRA를 쓰는 이유는?
전체 가중치를 학습하면 계산 자원이 많이 들고 이전에 배운 것을 잊는 치명적 망각이 생길 수 있다. LoRA는 원본 가중치를 얼리고 소수의 저순위 파라미터만 학습해 효율적이며, 기본 모델을 그대로 재사용할 수 있다.
실습에서 파인튜닝의 효과는 얼마나 됐나?
학습하지 않은 1B 모델의 논문 분류 정확도는 약 40%였지만, 500개 예시로 파인튜닝한 뒤에는 67%까지 올랐고 발표자는 더 많은 데이터와 학습으로 80~90%도 가능할 것으로 봤다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗