강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

jaehlee3663님의 프로필 이미지
jaehlee3663

작성한 질문수

<밑바닥부터 만들면서 배우는 LLM> 코드 해설

2.6 슬라이딩 윈도로 데이터 샘플링하기

슬라이딩 윈도우를 위해 for Loop 만들시 stride 관련 질문

해결된 질문

작성

·

14

0

Chapter2에서 슬라이딩 윈도우 만들때 stride를 128로 했는데요, 타깃은 인풋 마지막 토큰의 다음번째 토큰을 예측 하기 위해 for문을 돌면서 첫번째 타깃은 2번째 토큰, 다음은 3번째 토큰.. 이런식으로 되는걸로 아는데 갑자기 128로 건너 뛰는 이유는 무엇인지요?

답변 2

0

jaehlee3663님의 프로필 이미지
jaehlee3663
질문자

이해가 약간 안가는 부분이 그부분인데요.. ㅠㅠ
데이터를 로드하는 이유가 입력텐서 리스트와 타깃텐서 리스트를 토큰 하나씩 슬라이딩 하여 배치해 다음 단어를 학습할 수 있게 하는 self-supervised 학습이라고 생각하고 있는데요, 첫번째 for 문에서는 타깃 리스트의 첫번째 토큰이 입력 리스트의 두번째 토큰이어서 문제가 없지만 두번째 Loop 부터는 stride=128 면 입력 리스트의 첫번 토큰이 128번째 토큰으로 되는 것인거 같아 그렇습니다. 글로 쓰다 보니 제가 설명을 잘 못드리는거 같아 죄송 합니다. ㅠㅠ

박해선님의 프로필 이미지
박해선
지식공유자

네 맞습니다. 입력 리스트의 첫 번째 토큰이 128번째 토큰이면 그다음 토큰(129번째 토큰)을 예측하게 됩니다. 예를 들어 [1,2,3,4,5,6]이란 토큰 아이디에서 스트라이드 2로 데이터를 만들면 [1,2,3,4]와 [3,4,5,6]이 만들어질 수 있습니다. 두 샘플에서 각 토큰의 다음 토큰 예측하는 로직은 스트라이드와 무관합니다. 이해가 되셨을까요? 🙂

jaehlee3663님의 프로필 이미지
jaehlee3663
질문자

꼭 순서대로 학습하지 않아도 된다는 의미군요? 알겠습니다. ^^

0

박해선님의 프로필 이미지
박해선
지식공유자

안녕하세요. 혹시 create_dataloader_v1 함수의 stride 매개변수 기본값 128을 말하시는 걸까요? 매개변수 기본값은 특별한 의미가 있는 것은 아니며 저자의 선택사항입니다. 예제에서 스트라이드 128을 사용해 데이터셋을 만들지는 않았습니다. 또한 스트라이드는 슬라이딩 윈도의 이동 거리를 지정하는 옵션입니다. 슬라이딩 윈도로 샘플링한 데이터에서 다음 토큰을 예측하는 것과는 무관합니다. 감사합니다.

jaehlee3663님의 프로필 이미지
jaehlee3663

작성한 질문수

질문하기