안녕하세요! 이론적 이해가 아직까지는 잘되나 코드에서 잘 이해가 가지않는 부분이 있어 질문드립니다~ ToTensor에서 왜 0~255를 0~1값으로 스케일링 하는 이유는 무엇인가요? DataLoader 에서 데이터를 미니배치로 넘기면 가로,세로 길이가 32로 바뀌는 이유는 무엇인가요? squeeze 함수를 찾아보니 길이가 1인 차원이 없는 행 백터, 열백터, 스칼라 배열을 삭제한다고 하는데, 아래에서 사용되는 이유는 무엇인가요? train_features, train_labels = next(iter(train_dataloader)) # train_features.size()는 64개로 세분화된 미니배치 크기, 채널, 가로, 세로 길이를 보여준다. print("Feature batch shape : {}".format(train_features.size())) # train_labels.size()도 미니배치 크기만큼 있는 것을 확인할 수 있다. print("Labels batch shape : {}".format(train_labels.size())) img = train_features[0].squeeze() # squeeze() 길이가 1인 차원이 없는 행 백터, 열백터, 스칼라 배열을 삭제한다. label = train_labels[0] plt.imshow(img.permute(1,2,0)) plt.show print("Label : {}".format(labels_map[label.item()]))
1.위의 그림에서 weight가 정규분포(Gaussian distribution)를 따르기 때문에 각 layer의 input의 분포도 정규분포를 따른다고 말씀해주셨는데 그 이유가 궁금합니다.. 2.표준화(Z~N(0,1))를 위해서는 확률분포가 정규분포여야 한다고 알고 있습니다.. 그래서 batch normalization의 위의 식에서 x가 정규분포를 가져야 한다고 생각했는데 학습 데이터셋은 직접 정규분포를 가지게 넣는다고 가정하더라도 그 다음에 있는 convolutional layer의 weight가 gradient descent에 의해 업데이트 되어 더이상 정규분포를 따르지 않으면 출력값이 정규분포를 따르지 않을수도 있지 않을까요...?
9강 [실습] PyTorch 기초 - Tensor 강의에서 질문 있습니다. Lesson/inflearn_practicals 폴더에 아무 파일도 들어있지 않은데, 폴더가 원래 구성이 되어 있는 것이 아니고 파일을 직접 다운로드해서 폴더를 알아서 구성하는건가요? Jupyter notebook 상에서 강사님처럼 section이 모두 뜨지 않아 질문 드립니다.
6-5 섹션에서 Loss를 W(3)로 미분한 결과( = tW(3))를 계산하는 수식에 관련해서 질문이 있습니다..! 위의 사진과 같이 계산을 해보았는데 결과가 tW(3)이 아닌 2tW(3)으로 나오게 되었습니다.. Jacobian 개념이 생소하여 제대로 계산을 하였는지 잘 모르겠어서.. 혹시 계산에서 잘못된 부분을 알려주실 수 있을까요...??
학습 관련된 질문 같아서 남깁니다. 다름이 아니라 아이폰15프로맥스에서 모바일 인프런 영상 재생시 무한 버퍼링이 걸리면서 영상 재생이 되질 않습니다 다른 강의 영상들은 잘 재생되는데 현재 딥러닝 강의만 영상 재생이 안됩니다. 유일하게 3강 Window 환경설정 영상만 재생이 잘 됩니다 혹시 무한 버퍼링을 없애는 해결 방법을 알 수 있을까요
강사님, 안녕하세요! 항상 좋은 강의 잘 보고 있습니다 :D 4-3강 교차 검증(Cross-Validation)에서 best model을 어떻게 선정하는 것인지 조금 헷갈려 질문 드립니다. 예를 들어, 본 강의에서는 3개 fold에 대해 cross-validation을 수행하고, 모델의 최종 성능은 <3개 fold의 validation loss의 평균>으로 계산되는 것으로 이해했는데요. 1) 그렇다면 hyperparameter tuning 등을 통해 이 <평균 validation loss>가 가장 낮아지는 모델을 찾아야 하는 것이 맞나요? 다시 말해, 여러 번 cross-validation을 수행함으로써 가장 낮은 <평균 validation loss>를 가지는 모델을 best model로 선정하는 것이 맞는지 궁금합니다. 2) 만약 맞다면, 앞선 강의들에서는 "epoch 마다" loss가 최소화되는지 확인하고 모델 save를 수행했었는데, 이제는 "CV를 수행할 때 마다" loss가 최소화되는지 확인하고 모델 save를 수행하면 되는 것이 맞나요? 3) 마지막으로, 이미 학습된 결과를 바탕으로 best model을 선정했는데 왜 best model에 한 번 더 전체 trainset으로 학습을 진행해줘야 하는지 궁금합니다.
모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
안녕하세요! 강의 잘 보고 있습니다. llama2 fine-tuning 시 label이 붙은 데이터에 대한 fine-tuning을 하는 내용만 있는데 (supervised learning) label이 없는 text 데이터에 대해 unsupervised learning 방식으로 fine-tuning 하는 방법이 있을까요? 또한 fine-tuning 이후 checkpoint를 기존 pretrained LLM에 통합해서 나만의 LLM을 생성하는 방법에 대해서도 궁금합니다. 새해 복 많이 받으세요. 감사합니다.
모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
안녕하세요 데이터셋부터 생성 후 파인튜닝 하려고 합니다. 제가 가진 데이터는 텍스트 (word) 파일인데 이를 데이터셋으로 변경을 어떻게 하면 될까요? 강의에서는 이미 만들어져있는 데이터셋 가지고 실습하는거라 처음에 데이터셋은 어떻게 생성할 지를 모르겠습니다. 강의에 나와있는 데이터처럼 answer_start, id 이런 값들도 필요한 건가요? 데이터셋 생성하는 예시 코드를 받을 수 있을까요?
모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
안녕하세요, 제공해주신 유익한 수업 잘 듣고있습니다 🙂 현재 PEFT 부분 강의를 듣고 있는데요, 강의를 듣다가 궁금한 점이 생겼는데, 각 PEFT 방법들을 적용한 실습에서 backbone 모델과 데이터셋이 계속 바뀌는 것이었습니다.PEFT 방법과 task(dataset), backbone 모델의 조합을 어떻게 구성해서 실습을 할 지에 대한 선택 사항이 있었을 거 같은데, 선택하는데 있어서 특정한 기준이 있었는지 궁금합니다.예를 들면 아래와 같은 궁금증들 입니다. PEFT 방법 별로 잘 동작하는 task가 있는가? 다양한 task에 적용이 가능하단걸 보여주시기 위해서 여러 데이터셋을 사용한 것이고, 각 데이터셋 별로 잘 동작하는 backbone 모델을 선택한 것인가? 아니면 PEFT 방법과 데이터셋, backbone 모델 모두 자유롭게 선택이 가능해서 자유롭게 바꿔가면서 한 것인가? 제가 LLM 공부를 갓 시작한 단계라 잘 몰라서 드린 질문일 수도 있으니 양해부탁드립니다 ㅎ
모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
안녕하세요. 강사님. 강의 잘 듣고 있습니다. 제가 가지고 있는 csv 포맷 데이터의 일부를 korquad에 넣고 파인튜닝을 해보려는데, 어떻게 편집할 수 있을지 방법을 찾지못해 문의 드립니다. 관련 영상이나 강의를 알려주실 수 있을지요. 검토 부탁드립니다. 좋은 강의 만들어주셔서 고맙습니다. :)
첨부된 9-5 ipynb 에 resnet weight 를 불러올 때 from torchvision.models.resnet import model_urls 에서 오류가 나와 찾아보니 torchvision 0.13 버전 이후에 model_urls 는 없어졌다고 하네요. https://github.com/pytorch/vision/blob/main/torchvision/models/resnet.py 아래와 같이 해결을 해보았습니다. from torchvision.models.resnet import ResNet50_Weights checkpoint = load_state_dict_from_url(ResNet50_Weights.IMAGENET1K_V2.url)