inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Bài giảng giải thích “Học LLM bằng cách tự xây dựng từ đầu”

(YouTube) 2.6 Lấy mẫu dữ liệu bằng sliding window

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

Đã giải quyết

166

gunbam7156384

4 câu hỏi đã được viết

0

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

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

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

 

pytorch gpt-2 transformer llm fine-tuning

Câu trả lời 2

0

haesunpark

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

0

gunbam7156384

답변 감사합니다!

그렇다면

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

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

일 때,

In 으로 the를

the로 heart를

heart로 of를

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

 

In the heart 으로 of를 예측하고

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

0

haesunpark

네 맞습니다!

0

gunbam7156384

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

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

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

0

haesunpark

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

0

gunbam7156384

아하!

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

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

감사합니다!

0

communityai8509

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

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

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

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

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

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

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

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

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

프롬프트 내용에 대한 링크 위치 알려 주세요

0

5

0

강의자료 링크 열리지 않음.

0

32

2

클로드 데스크톱 강의에서 교안찾기

0

38

2

목차랑 내용이 전혀 다른데요

0

66

2

수강인증 수료배지 링크가 만료되었습니다.

0

45

1

4.2.2 ~ 10.3.2.1 강의 영상 안나옴

0

57

2

강의 교안 예시

0

39

1

완독 챌린지 도서 인정 방법에 대한 문의

0

66

2

ai 레드티밍 자료 및 강의 누락

0

53

1

스크립트 영상 미일치

0

76

3

강의 자료 요청드립니다.

0

50

1

ssh 연결

0

54

1

강의의 난이도 및 속도

1

68

2

Gemini File Search API

0

50

2

바흐다나우 어텐션을 시작하게 된 이유가 궁금해요!

0

130

2

인증 하는 방법

0

149

2

7장 3절 이후는 언제 올리나요?

0

138

3

2.2 텍스트 토큰화 하기 강의 질문

0

105

1

Chapter1에서 말하는 "모델"이 정확히 어떤건가요?

0

117

2

챌린지 쿠폰 재 발급 가능 여부 확인 드립니다.

0

145

3

gpt_download 관련 오류 질의입니다.

0

133

2

책관련 질문입니다.

0

113

2

챕터 4 밑바닥부터 GPT 모델 구현하기 강의 업로드 문의드립니다.

0

138

2

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

0

164

2