강의

멘토링

커뮤니티

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

이름바꺼님의 프로필 이미지
이름바꺼

작성한 질문수

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

(유튜브) 2.6 슬라이딩 윈도로 데이터 샘플링하기

누적입력에서 겹치는 방식으로 넘어간 이유

해결된 질문

작성

·

29

·

수정됨

0

앞 텍스트들로 다음 단어 하나를 예측한다고 했는데, 왜 슬라이딩 윈도에서는 입력과 타깃이 겹쳐져있는건가요?

또한 앞 텍스트부터 누적한 다음, 타깃 한 단어만 예측하는 것으로 이해했습니다. 왜 4개씩 나누는 것인지 궁금합니다.

왜 갑자기 슬라이딩 윈도우로 넘어간것인지 그 중간단계가 이해되지 않습니다.

 

답변 2

0

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

안녕하세요. 세 개의 단어로 다음 하나의 단어를 예측한다고 했을 때 "I love you so much"란 텍스트에서 만들 수 있는 샘플은 2개입니다. 즉 3개의 단어 범위(윈도)로 "I love you" --> "so", "love you so" --> "much"입니다. 물론 슬라이딩 윈도를 겹치지 않게 샘플을 만들 수도 있지만 이런 경우 위 텍스트로는 하나의 샘플밖에 만들지 못합니다. 어떤 방식을 사용할지는 개발자의 몫입니다. 여기서는 훈련 텍스트를 최대한 효율적으로 사용한다고 가정하면 슬라이딩 윈도를 한 단어씩 이동하는 것입니다. 이렇게 하면 입력과 타깃이 겹칠 수 밖에 없습니다. 세 개의 단어가 아니라 4개, 10개, 100개의 단어를 입력 문맥으로 사용할 수도 있으며 이는 모델이 최대로 받을 수 있는 입력의 크기에 따라 달라집니다. 감사합니다.

이름바꺼님의 프로필 이미지
이름바꺼
질문자

답변 감사합니다!

그렇다면

입력: [In, the, heart, of]

출력: [the, heart, of, the]

일 때,

In 으로 the를

the로 heart를

heart로 of를

of로 the를 이렇게 한단어씩 예측하는 것이 아니라

 

In the heart 으로 of를 예측하고

the heart of 로 the를 예측하는 것이라고 이해해도 되나요?

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

네 맞습니다!

이름바꺼님의 프로필 이미지
이름바꺼
질문자

감사합니다! 헷갈리는 부분이 있어서 마지막으로 질문드립니다!

입력 4개로 타깃 4개를 예측하는 것이 아니라, 입력 4개로 타깃 1번째 것만 예측하는 것인가요?

그렇다면 왜 입력 윈도우와 타깃 윈도우의 크기를 같게 만든 건가요?

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

모델을 훈련할 때 모든 토큰 위치에서 예측을 생성하기 때문입니다. 2.6절의 그림 2-12와 이어지는 코드에서 이 과정이 잘 표시되어 있습니다!

이름바꺼님의 프로필 이미지
이름바꺼
질문자

아하!

2-12그림에서는 입력이 누적되고 타깃은 하나인데, 뒤에 코드에서는 왜 입력과 타깃 크기가 똑같은지 궁금했습니다.

그런데 <4개로 나눈 뒤, 4개 안에서 1개, 2개, 3개, 4개로 누적되는 방식>을 단어 한칸씩 옮기면서 반복하는 구조였군요!

감사합니다!

0

안녕하세요, 인프런 AI 인턴입니다. 이름바꺼님.

슬라이딩 윈도우 방식에 대한 이해를 돕기 위해 몇 가지 설명을 드리겠습니다.

슬라이딩 윈도우란, 말 그대로 데이터를 일정 크기의 창(window)으로 잘라서 처리하는 방법입니다. 딥러닝에서 사용되는 슬라이딩 윈도우 방식은, 특히 자연어 처리(NLP)에서 매우 유용합니다. 이렇게 데이터를 나누는 이유는 다음과 같습니다:

  1. 문맥 정보 유지: NLP에서 문맥(Context)은 중요한 요소입니다. 슬라이딩 윈도우를 통해 겹치는 부분이 보정되며, 이는 문맥 정보를 유지하게 해줍니다. 각 윈도우는 이전과 다음 요소에 대한 정보를 조금씩 포함해, 학습 과정에서 문맥을 이해하는 데 도움을 줍니다.

  2. 효율적인 데이터 처리: 슬라이딩 윈도우는 데이터의 상대적인 독립성을 가지면서도, 효율적으로 모델을 학습시킬 수 있게 해줍니다. 모든 데이터를 한 번에 처리하는 것보다, 윈도우 단위로 처리하는 것이 메모리와 계산 측면에서 효율적입니다.

  3. 다양한 샘플링: 슬라이딩 윈도우를 통해 데이터의 다양한 부분을 샘플링하고, 여러 번 모델에 주입하여 학습의 다양성과 일반화를 가져올 수 있습니다.

처음의 누적 입력에서 타깃 예측으로 넘어가는 것은, 다양한 맥락에서 데이터를 이해하고 처리할 수 있도록 하기 위함입니다. 이는 모델이 더 많은 문맥을 고려하여 더 정확한 예측을 하도록 하는 데 목적이 있습니다.

관련 질문에 대한 지식공유자님의 답변 중 해당 링크를 참고하실 수 있습니다. 이 답변에서는 슬라이딩 윈도우의 설정 및 사용 이유에 대해 더 자세히 설명되어 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

이름바꺼님의 프로필 이미지
이름바꺼

작성한 질문수

질문하기