[LLM] 슬라이딩 윈도우로 데이터 샘플링Tech/LLM2025. 12. 27. 19:42
Table of Contents
LLM을 훈련할 때 가장 중요한 것은 모델이 긴 텍스트에서 다음에 올 단어를 예측하도록 만드는 것이다.
이를 위해 슬라이딩 윈도우(Sliding Window) 기법을 사용하여 훈련 데이터를 효율적으로 구성하는 방법을 알아보자.
모델 훈련의 기본 원리
모델 훈련의 기본은 입력된 토큰을 보고 그 다음 토큰을 맞추는 것이다.
따라서, 모델은 타킷(정답) 토큰 이후의 단어를 미리 봐서는 안 된다.
(정답을 미리 알면 예측하는 훈련이 되지 않기 때문)
이를 위해 입력 토큰 이후의 미래 토큰은 모델이 참조하지 못하도록 가려주는 작업인 마스킹이 필요하다.
슬라이딩 윈도우 작동 방식

긴 텍스트 데이터를 훈련에 사용할 때는 고정된 길이(윈도우 크기)만큼 잘라서 사용한다.
예를 들어 윈도우 크기가 4라면, 텍스트 위를 한 칸(또는 여러 칸)씩 옆으로 이동하며 데이터를 샘플링 한다.
입력(Input)과 정답(Taget) 만들기

훈련 데이터는 문제(X)와 정답(Y)로 구성된다.
전체 텍스트에서 첫 번째 토큰을 제외한 모든 토큰은 타깃이 되며, 마지막 토큰을 제외한 모든 토큰은 입력으로 사용될 수 있다.
* 실제 코드에서는 문자가 아닌 숫자(Token ID)를 사용하여 구현된다.
윈도우 크기의 중요성: 문맥 길이(Context Length)
문맥 길이가 길수록 모델은 더 많은 이전 정보를 참조하여 더 정확한 예측을 하고, 더 길고 일관성 있는 텍스트를 생성할 수 있다.
* 본 게시글은 밑바닥부터 만들면서 배우는 LLM 강의를 참고하여 작성되었습니다.
'Tech > LLM' 카테고리의 다른 글
| [LLM] 어텐션 메커니즘의 탄생 (0) | 2026.01.02 |
|---|---|
| [LLM] Transformer는 단어의 순서를 어떻게 알까? (위치 인코딩) (0) | 2025.12.28 |
| [LLM] 바이트 페어 인코딩(BPE) (0) | 2025.12.27 |
| [LLM] 특수 문맥 토큰 (0) | 2025.12.27 |
| [LLM] 텍스트 토큰화 (0) | 2025.12.27 |
@ONE_ :: 정호원
잘못된 정보가 있다면 말씀해주세요!