안녕하세요-! 늦게 챌린지 공부 시작했지만 할 수 있는 만큼 하고 싶어 인프런 강의 열심히 들었습니다. 해설강의 공지를 매우 늦게 확인해 이메일을 확인해보니 스팸함, 다 확인해봐도 메일은 못 받았습니다ㅠ 그럼에도 공지를 확인했어야 했는데, 제가 확인이 늦어 제 잘못이기는 하나 혹 가능하다면 해설 강의 저도 듣고 싶습니다..!! 복습하면서 부족한 부분 채우며 공부하고 싶은데 혹시혹시 가능한 방법이 있을지 문의드립니다ㅠ! 감사합니다!
모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
안녕하세요. LLM 관련 강의 잘 듣고 있습니다. 실무 적용에 많은 도움이 되고 있어 감사드립니다. 강의 내용과 직접적인 연계는 아니지만, 강의를 듣는 중 궁금한 점이 생겨 문의드립니다. 현재 문서 분류 강의를 들으며 생각해본 부분인데, LLM을 이용해 문서 분류가 가능한 것처럼, 퍼지 해시(Fuzzy Hashing)처럼 문서 간 유사도를 하나의 점수 형태(예: 0~100, 혹은 정규화된 점수 등)로 산출하는 것이 가능한지 궁금합니다. 점수가 의미론적 유사도이든, 어떤 방식이든 상관없이, LLM이 두 문서를 입력받아 정량적 점수(Scoring Output)를 생성할 수 있는지 알고 싶습니다. 만약 가능하다면, 어떤 방식으로 접근하는 것이 적절한지(예: 모델 형태, 프롬프트 전략, 파인튜닝 여부, 평가 기준 등), 방향성을 조언해주시면 도움이 될 것 같습니다. 참고로 제가 언급한 퍼지 해시(Fuzzy Hashing) 는 다음 개념을 의미합니다. 퍼지 해시는 일반적인 해시 함수와 달리, 입력 데이터가 일부 변형되더라도 서로 유사한 해시 값을 생성하여 문서 또는 파일 유사도를 비교하기 위한 기술입니다. 조언 주시면 감사하겠습니다. 좋은 강의 계속 기대하겠습니다. 감사합니다.
<대규모 언어 모델, 핵심만 빠르게!> 강의의 무료 쿠폰 발급 링크 와 <밑바닥부터 만들면서 배우는 LLM> 강의의 50% 할인 쿠폰 발급 링크 가 인프런에 등록된 이메일 로 전달됩니다. 이메일로 링크가 없어서 문의드립니다. woong2241@naver.com 입니다. 확인부탁드립니다. 감사합니다^^! 항상좋은강의감사합니다
안녕하세요 강사님. BERT 학습 파트와 관련하여 궁금한 점이 있어 질문드립니다. 현재 IMDB 데이터를 활용한 긍/부정 분류 학습 과정만 구현되어 있는 것으로 보이는데, 혹시 MLM이나 NSP를 통한 BERT의 초기 pre-training 과정은 포함되어 있지 않은 것인지 궁금합니다. 제가 혹시 놓친 부분이 있다면 죄송합니다. 확인 부탁드립니다. 감사합니다.
안녕하세요 강사님. BERT 관련 강의를 매우 유익하게 듣고 있습니다. Embedding 파트를 학습하던 중 궁금한 점이 생겨 질문드립니다. BERTEmbeddings 클래스 구현에서 초기화 시 max_len 이 주어지는데, forward 단계에서는 input_ids.size(1) 을 사용해 position embedding의 인덱스를 다시 정의하는 과정이 있습니다. 제가 이해한 바로는 이후 tokenizer에서 설정한 max_length 와 실제 입력 길이가 달라질 수 있기 때문에 이러한 처리가 필요한 것으로 보였습니다. 혹시 강사님께서 강의 시 빠른 실행을 위해 tokenizer의 max_length 를 모델의 max_len 과 다르게 설정하셨기 때문에 해당 코드를 넣으신 것인지 궁금합니다. 일반적인 학습 환경에서는 tokenizer의 max_length 와 모델의 max_len 을 동일하게 맞추는 것이 자연스러울 것 같은데, 혹시 제가 놓친 부분이 있다면 설명해주시면 감사하겠습니다.
안녕하세요, 강사님. 강의 잘 듣고 있습니다. 한 가지 궁금한 점이 있는데요, 트랜스포머 Seq2Seq 모델은 구현까지만 되어 있고 학습 과정에 대한 강의는 없는 것 같습니다. 혹시 BERT나 MarianMT 모델의 학습만 포함되어 있는 것인지 여쭤보고 싶습니다. 감사합니다.
제 4장 강의를 듣다 보면 강사님께서 강조하시는 말씀 중에 "입력 차원과 출력 차원은 같아야 하고 768차원이다"라는 게 있습니다. "4.1장. 구조 구현하기"에 나오는 예제 코드의 마지막 부분을 보면 아래와 같이 나와 있습니다. torch.manual_seed(123) model = DummyGPTModel(GPT_CONFIG_124M) logits = model(batch) print("출력 크기:", logits.shape) print(logits) 차원을 살펴보면 마지막 차원이 768차원이 아니라 50257로 나오는데요(즉, [2 , 4, 50257]). txt1 = "Every effort moves you" txt2 = "Every day holds a" 토크나이저에서 위 텍스트를 인덱싱한 후 DummyGPTModel 클래스의 인스턴스에 넘겨주면 768차원이 나와야 하는 게 아닌 지 궁금합니다. 참고로, 3장 끝 부분 "멀티헤드어텐션" 전까지는 수월하게 강의를 한 번만 듣고 책으로 복습해도 수월하게 이해 됐는데, 점차 어려워지네요^^;;;
지난 주에 질문을 했었는데, 제가 인프런 시스템에 익숙하지 않다보니 엉뚱한 게시판에다 질문을 한 것 같아요. 이 Q&A 게시판은 강사님께 질문 드리는 것 맞는지요? 맞는다면 아래 내용을 질문 드리고 싶습니다. 제 3장("어텐션 메커니즘 구현하기")의 거의 맨 앞 부분에 다음과 같은 문구와 코드가 등장합니다. 다음처럼 3차원 벡터로 임베딩한 입력 시퀀스가 있다고 가정. import torch inputs = torch.tensor( [[ 0.43 , 0.15 , 0.89 ], # Your (x^1) [ 0.55 , 0.87 , 0.66 ], # journey (x^2) [ 0.57 , 0.85 , 0.64 ], # starts (x^3) [ 0.22 , 0.58 , 0.33 ], # with (x^4) [ 0.77 , 0.25 , 0.10 ], # one (x^5) [ 0.05 , 0.80 , 0.55 ]] # step (x^6) ) 이 값들은 토크나이저에서 그냥 임의로 마구잡이로 부여하는 실수 값인가요? 아니면 각 토큰 별로 이미 유사도나 거리 개념까지 다 계산 되어서 나온 실수 값인가요? 아!! 단순하게 이 교재에서 이해를 돕기 위해 3차원 값으로 예를 든 저 실수들만을 말하는 게 아니고요 실제로 LLM에서 입력 시퀀스의 각 토큰에 부여된 텐서 값들을 말하는 겁니다. 만약 아무런 연관성이 없이 그냥 임의로 토크나이저에서 만들어진 실수 값일 뿐이라면, 단순히 한 입력 원소와 다른 모든 입력 원소의 점곱 등의 연산을 통해 산출된 문맥 벡터가 무슨 의미가 있는 것인 지 이해가 잘 되지 않아서요. 즉, 그냥 아무런 연관성 없는 임의의 값들끼리 접곱했는데 의미를 가진 문맥 벡터가 나온다는 게 언뜻 이해가 되질 않습니다. 아니면, 처음에는 토크나이저에서 아무런 연관성 없이 그냥 임의로 실수 값들을 각 토큰에 부여했다 하더라도, "훈련 가능한 가중치를 가진 멀티 헤드 어텐션" 알고리즘을 수행하게 되면 어텐션 가중치가 갱신 되면서 이런 모든 의구심이 해소 되는 것인가요?
모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
안녕하세요? "6. LLM 용어 정리 - 인컨텍스트 러닝(In-context learning)"에 대한 질문입니다. 이 개념의 하위 구성에 Zero-shot, One-shot, Few-shot Learning이 있고 각각이 어떤 것이다라고 설명해 주셨는데요, 인컨텍스트 러닝(In-context Learning) 자체는 어떤 개념이고 왜 사용되는 것입니까? "In-Context"라는 말에서 맥락이 유지되도록 하는 뭔가인 것 같은데, 선행 개념 또는 전체를 아우르는 개념 없이 갑자기 하위 개념으로 툭 튄 느낌이어서 질문 드립니다. 감사합니다. 수고하세요.