※ 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. ※

오늘은 파인튜닝 전체 과정 중, 가장 중요하다고 할 수 있는 전처리 로직을 파헤쳐봤습니다.
실제 모델 학습에 들어가기 전, 데이터가 어떻게 input_ids, attention_mask, labels로 바뀌는지를 자세히 공부해 볼 수 있는 시간이었어요.
LLM은 단순히 텍스트를 입력받아 학습하는 것이 아닙니다.
모든 학습의 출발점은 텍스트를 정수로 인코딩하고, 손실 계산에 포함할 영역만 지정하는 전처리 과정이라고합니다.
이번 강의를 통해 그 핵심인 collate_fn 함수와 attention_mask, 그리고 labels의 의미를 완벽히 이해할 수 있도록 했습니다.
💡 학습 전처리의 핵심
✔️ collate_fn()이란?
collate_fn() 함수는 자연어 처리 모델 학습을 위해 데이터를 전처리하는 역할을 수행하는 커스텀 함수.
🧩 주요 기능 요약
강사님이 제공해준 커스텀 함수인만큼 포스팅에 올리기는 어려울 것 같아 그 기능을 정리해봤습니다.
- chat_template를 적용해 라마 스타일 텍스트 생성
- 텍스트를 tokenizer로 정수 인코딩
- input_ids 생성
- labels: 오직 assistant의 응답 부분만 원래 토큰 ID로, 나머지는 -100으로 처리
- attention_mask: 실제 토큰은 1, 패딩은 0
- 최대 길이에 맞춰 패딩 처리
🎯 attention_mask 완전 정복
🧠 배치를 알아보자!
배치란, 모델이 한 번에 학습하는 데이터 묶음을 뜻합니다.
배치 학습은 학습 속도와 안정성을 높여줍니다.
하지만 LLM을 학습할 때, 신경망의 내부 연산은 고정된 크기의 입력을 요구합니다.
아래 처럼, 서로 다른 길이를 가진 샘플이 주어진다고 할 때, 모든 샘플의 문장길이를 맞춰줄 필요가 있겠습니다.
이때 활용되는 것이 padding과 attention_mask 입니다.
[101, 102, 103] # 길이 3
[101, 102, 103, 104, 105] # 길이 5
🛡️ padding과 attention_mask 역할
위에서 짧게 언급했던 것 처럼,
신경망의 내부 연산은 고정된 크기의 입력을 요구합니다.
이 문제를 해결하기 위해 '패딩'을 사용하여 모든 샘플의 길이를 배치 내 가장 긴 샘플에 맞춥니다.
위 예시의 경우, 아래와 같이 0값을 패딩으로 넣어 길이를 맞춰줄 수 있죠.
[101, 102, 103, 0, 0] # 길이 5
[101, 102, 103, 104, 105] # 길이 5
자, 이렇게 되면 모델은 어떤 토큰이 실제 내용이고 어떤 토큰이 의미 없는 패딩인지 구분해야 합니다.
이를 위해 '어텐션 마스크'를 사용하게 되죠.
패딩 영역은 학습에 영향을 주지 않도록 attention을 차단
[1, 1, 1, 0, 0] # 0 ~ 2 값 유효
[1, 1, 1, 1, 1] # 0 ~ 4 값 유효
위 처럼, 트랜스포머 모델의 어텐션 메커니즘은 이 마스크를 사용하여 패딩 토큰을 무시하고 실제 의미 있는 토큰에만 집중합니다.
이렇게 하면 패딩된 부분이 모델의 예측이나 학습에 영향을 미치지 않게 됩니다.
📌 labels는 왜 -100으로 채울까?
transformers에서는 학습에 사용되는 손실 함수를 내부적으로 딥러닝 패키지 PyTorch의 CrossEntropyLoss를 사용합니다.
PyTorch에서 CrossEntropyLoss는 -100 값을 가진 부분은 손실 계산에서 무시하도록 설계되어 있다고 해요.
즉, labels는 모델이 실제로 생성해야 할 출력 부분만을 포함하고, 나머지 부분은 -100으로 채워져 손실 계산에서 제외시키는 데 그 역할이 있다고 할 수 있습니다!
🤔 오늘의 배운 점과 고민 포인트
📘 배운 점
- input_ids와 labels, attention_mask의 역할과 사용되는 이유
- 왜 labels에 -100 값이 들어가게 되는지에 대한 이해
- LLM 학습 과정 중 전처리 과정의 전반적인 흐름 이해
💭 고민 포인트
- padding 값과 attention_mask에는 0, 1 값만 들어가는 것인지에 대한 궁금증
① 오늘자 날짜, 공부 시작, 종료 시각 포함 사진 각 1장


② 1개 클립 수강 인증 사진 1장 / 학습 인증 사진 1장


③ 챌린지 대상 강의 완강률 캡쳐 사진 1장

https://fastcampus.info/4n8ztzq
(~6/20) 50일의 기적 AI 환급반💫 | 패스트캠퍼스
초간단 미션! 하루 20분 공부하고 수강료 전액 환급에 AI 스킬 장착까지!
fastcampus.co.kr
'패스트캠퍼스환급챌린지' 카테고리의 다른 글
| 패스트캠퍼스 환급챌린지 29일차 : 파인튜닝과 RAG로 완성하는 맞춤형 LLM 서비스 개발 강의 후기 (2) | 2025.07.29 |
|---|---|
| 패스트캠퍼스 환급챌린지 28일차 : 파인튜닝과 RAG로 완성하는 맞춤형 LLM 서비스 개발 강의 후기 (3) | 2025.07.28 |
| 패스트캠퍼스 환급챌린지 26일차 : 파인튜닝과 RAG로 완성하는 맞춤형 LLM 서비스 개발 강의 후기 (3) | 2025.07.26 |
| 패스트캠퍼스 환급챌린지 25일차 : 파인튜닝과 RAG로 완성하는 맞춤형 LLM 서비스 개발 강의 후기 (1) | 2025.07.25 |
| 패스트캠퍼스 환급챌린지 24일차 : 파인튜닝과 RAG로 완성하는 맞춤형 LLM 서비스 개발 강의 후기 (3) | 2025.07.24 |