해결된 질문
작성
·
14
0
Chapter2에서 슬라이딩 윈도우 만들때 stride를 128로 했는데요, 타깃은 인풋 마지막 토큰의 다음번째 토큰을 예측 하기 위해 for문을 돌면서 첫번째 타깃은 2번째 토큰, 다음은 3번째 토큰.. 이런식으로 되는걸로 아는데 갑자기 128로 건너 뛰는 이유는 무엇인지요?
답변 2
0
이해가 약간 안가는 부분이 그부분인데요.. ㅠㅠ
데이터를 로드하는 이유가 입력텐서 리스트와 타깃텐서 리스트를 토큰 하나씩 슬라이딩 하여 배치해 다음 단어를 학습할 수 있게 하는 self-supervised 학습이라고 생각하고 있는데요, 첫번째 for 문에서는 타깃 리스트의 첫번째 토큰이 입력 리스트의 두번째 토큰이어서 문제가 없지만 두번째 Loop 부터는 stride=128 면 입력 리스트의 첫번 토큰이 128번째 토큰으로 되는 것인거 같아 그렇습니다. 글로 쓰다 보니 제가 설명을 잘 못드리는거 같아 죄송 합니다. ㅠㅠ
0
안녕하세요. 혹시 create_dataloader_v1 함수의 stride 매개변수 기본값 128을 말하시는 걸까요? 매개변수 기본값은 특별한 의미가 있는 것은 아니며 저자의 선택사항입니다. 예제에서 스트라이드 128을 사용해 데이터셋을 만들지는 않았습니다. 또한 스트라이드는 슬라이딩 윈도의 이동 거리를 지정하는 옵션입니다. 슬라이딩 윈도로 샘플링한 데이터에서 다음 토큰을 예측하는 것과는 무관합니다. 감사합니다.
네 맞습니다. 입력 리스트의 첫 번째 토큰이 128번째 토큰이면 그다음 토큰(129번째 토큰)을 예측하게 됩니다. 예를 들어 [1,2,3,4,5,6]이란 토큰 아이디에서 스트라이드 2로 데이터를 만들면 [1,2,3,4]와 [3,4,5,6]이 만들어질 수 있습니다. 두 샘플에서 각 토큰의 다음 토큰 예측하는 로직은 스트라이드와 무관합니다. 이해가 되셨을까요? 🙂