묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[파이토치] 실전 인공지능으로 이어지는 딥러닝 - 기초부터 논문 구현까지
8강 전이 학습 질문
전이 학습을 하겠다는것은 이전에 학습한 weight를 이용하겠다는 의미로 알고 있는데요 맨앞에 있는 conv1을 수정하게 되면 모델 파라메터랑 weight랑 안맞지 않나요? 그리고 동결 시키지 않으면 결국 기존 weight를 무시하고 처음부터 다시 학습 할꺼같은데 해당 예제에서 어떻게 기존 weight를 활용하게 되는것인지 궁금합니다.
-
해결됨최신 딥러닝 기술과 객체인식
YOLOv1(2) 모델 + GoogLeNet~~ 관련 질문
강의 잘 듣고 있습니다.해당 강좌에서 1:50쯤에 나오는 모델의 구성을 보면 마지막 단에 7x7x1024의 Feature map을 Flatten한 뒤 Linear layer를 거친 후 다시 7x7x30으로 변환되는 것으로 보이네요.조금 찾아보니 1,470을 출력으로하는 Linear layer를 거친 후 다시 7x7x30으로 재구성하더군요.헷갈리는 점은 Flatten과 Linear layer과정에서 공간적인 정보가 소실된 것 같은데 이를 7x7x30으로 바꾸어도 괜찮은가요? Feturemap[0][0]에 있는 30의 특징값은 앞에서 해석한 것과 같이 원본 이미지의 (1,1) Cell에 있는 30개의 특징값과 동일하다고 생각하면 될까요?
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
파인튜닝 GPU 사용
autotrain-advanced를 사용하여 파인튜닝 할때 리눅스 서버에 gpu를 사용하려면 어떻게 해야하나요?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
colab과 github의 연동
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 강의 내용을 질문할 경우 몇분 몇초의 내용에 대한 것인지 반드시 기재 부탁드립니다. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요 교수님강의 잘 듣고 있습니다.colab의 github 사본 저장을 통해 github에 코드를 저장해두었는데 코드를 옮기게 되면 Invalid syntax라고 뜹니다.구글링을 해보아도, 도무지 해답이 나오지 않아 colab에서 코드를 다운로드하고, github에 그냥 업로드를 시켰습니다.강의와 다른 질문이지만, 해결해주시면 감사하겠습니다.
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
파인튜닝 중 학습 중지
파인튜닝을 진행하다가 어떠한 이유로 서버가 꺼진다거나, 중간에 모델을 확인하고 싶어서 학습을 중단하고 싶을때, 현재까지 학습된 내용을 저장하려면 어떻게 해야할까요? 예를들어 학습도중 서버가 중단되어 학습이 멈춰버리면 현재까지 학습된 내용에서 이어서 학습을 하고싶으면 어떻게해야하는지 궁금합니다.
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
autotrain-advanced install 에러
!pip install -q autotrain-advanced를 통해서 autotrain-advanced를 설치하려고 하면 다음과 같은 에러가 뜨는데 어떻게 해결해야 하나요?ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. lida 0.0.10 requires kaleido, which is not installed. llmx 0.0.15a0 requires cohere, which is not installed. llmx 0.0.15a0 requires openai, which is not installed. tensorflow-metadata 1.14.0 requires protobuf<4.21,>=3.20.3, but you have protobuf 4.23.4 which is incompatible. tensorflow-probability 0.22.0 requires typing-extensions<4.6.0, but you have typing-extensions 4.9.0 which is incompatible. !autotrain llm --train \ --project_name "llama2-korquad-finetuning-da" \ --model "TinyPixel/Llama-2-7B-bf16-sharded" \ --data_path "data" \ --text_column "text" \ --use_peft \ --use_int4 \ --learning_rate 2e-4 \ --train_batch_size 8 \ --num_train_epochs 40 \ --trainer sft \ --model_max_length 256이 부분에서는 다음과 같은 에러가 나옵니다. usage: autotrain <command> [<args>] AutoTrain advanced CLI: error: unrecognized arguments: --use_peft --use_int4
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
mmdetction 학습 후 성능지표 그래프
안녕하세요. 자꾸 질문드려 죄송합니다.mmdetection mask R-CNN 학습 후 validation 데이터에 대한 성능지표 그래프를 보고 싶은데요. 학습데이터와 검증데이터로 나누어, 학습을 약 10시간 이상 수행하였는데, 성능지표 그래프가 나오지 않아서요.YOLO 같은 경우는 학습시킨 후, ultra_workdir 디렉토리에, cofusion_matrix.png, f1_curve.png, PR_curve.png와 같은 파일들이 생기고, 배치 이미지에 대한 식별 및 분류사진이 있었는데, mmdetection에서도 이와 같은 성능지표 그래프를 볼 수가 있는지 궁금합니다.
-
해결됨Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
Timestamp 제거 이유
안녕하세요! 강의 잘 듣구있습니다 혹시 timestamp를 제거하는 이유가 어떤것인지 자세히 알 수 있을까요? 상품추천 데이터에서 날짜가 변수로 필요한 경우는 없나요?? 또 예를들어 5년치의 고객 구매 데이터를 학습한다고 할때 연도별로 고객 나이가 달라지는데 이때 유니크값을 고객+나이로 해서 해야할지 궁금합니다ㅠㅠ
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
llama 2 파인튜닝 Maximum length, Temperature
안녕하세요.저는 현재 llama2 모델을 KorQuad 데이터셋을 이용하여 파인튜닝하는 실습을 진행중에 있습니다.파인튜닝 후에 궁금한게 생겼는데, 강의에서 처럼 KorQuad 데이터셋을 이용하여 llama2 모델을 파인튜닝을 한 뒤에 Chat GPT API 처럼 Maximum length 나 Temperature 등을 파라미터로 넣어서 답변의 길이나 Temperature 를 조절 할 수 있을까요?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
mask rcnn에서 mmdetection의 배치사이즈 설정
안녕하세요. 교수님 강의 잘듣고 있습니다.Mask rcnn의 수업과정의'Balloon 데이터를 이용한 Train 실습 - Train 실행 및 Gray Scale로 배경 적용한 Segmentation 구현하기'를 참고해서,제가 가지고 있는 이미지 데이터에 학습을 시켜보고 있습니다.MMDetection은 배치사이즈를 어디서 설정하는지 궁금합니다. config 파일을 보면, 'mask_rcnn_r50_fpn.py'은 mmdetection/configs/base/models에 위치해 있는데,배치사이즈로 볼만한 내용이,다음 내용밖에는 없거든요.cfg.auto_scale_lr = dict(enable=False, base_batch_size=62)16을 62로 변경했는데, Epoch의 배치사이즈는 변하지 않고 그대로 10으로 설정되는것 같습니다.Mask Rcnn은 배치사이즈를 어디서 설정하는지 궁금합니다.
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
파인 튜닝 Prompt
이번 강의의 다음 코드에서 왜 prompt 의 instruction 과 response 앞에 ### 을 넣어주는건가요? # 빠른 학습을 위해 20개만 추출 num_items = 20 final_prompt_list = [] for idx, (question, answer) in enumerate(refined_dict.items()): if idx >= num_items: break prompt = f"Below is an instruction that describes a task. Write a response that appropriately completes the request. ### Instruction: {question} ### Response: {answer}" print(idx, prompt) prompt_dict = {} prompt_dict['text'] = prompt final_prompt_list.append(prompt_dict)
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
채팅 모델이 아닌 자동완성 모델 파인튜닝
LLama2 모델을 이용하여 특정 분야의 리포트를 작성해주는 모델로 파인튜닝 하고 싶습니다.(Chat GPT 의 complete 모델 처럼)너무 막연한 질문이긴 하지만..이때 필요한 데이터 셋의 형태는 어떤 형태이며, 어떤 모델을 어떤식으로 파인튜닝을 진행해야하는지 가이드를 주실 수 있을까요?예를들어 제가 원하는 모델은 input 으로 "안녕하세요. 이번 보고서" 라는 텍스트를 넣으면 output 으로 "에서는 다음과 같은 내용을 다룰예정입니다." 의 텍스트가 나오는 것 입니다.input 텍스트를 넣으면 input 텍스트 이후에 올 수 있는 특정 분야에 관련된 텍스트를 자동으로 완성해주는 모델을 만들기 위해서 어떤식으로 접근해야 할까요?
-
해결됨[파이토치] 실전 인공지능으로 이어지는 딥러닝 - 기초부터 논문 구현까지
data의 gpu처리 질문
cnn에서는 다음과 같이 dataloader로 부터 얻은 data를 gpu로 변경 했습니다. seq, target = data[0].to(device),data[1].to(device),하지만 RNN에서는 다음과 같이 cpu로 처리 합니다. 이유가 무엇 인가요?? seq, target = data
-
해결됨최신 딥러닝 기술 Vision Transformer 개념부터 Pytorch 구현까지
행렬 차원 수 질문
안녕하세요.'비전 트랜스포머-최신 모델' 강의 11:36 근처 슬라이드를 기준으로 질문드리겠습니다. (사실 그 이후부터 계속 지속적으로 차원 혼동이 있는 것 같아서, 하나를 기준삼아서 질문드리면 나머지가 저절로 해결될 것 같습니다.) p=(size of patch)로 정의를 하고 사진을 N개로 쪼갠다고 가정했을 때, 그것을 flatten시켜준 각각의 벡터들, (x_{p}^{i}, i=1,...,N)이라고 가정했을 때, 해당 벡터는 P^2*C 차원의 벡터들이 되는 거잖아요? 그렇다면, 그 N개의 벡터들을 concatenate하여 행렬 x_p를 구축했을 때, 그 차원은 (P^2*C) by N이 되어야 하는게 아닌가요? 이 이후부터 슬라이드에서는 가로와 세로가 뒤바뀌어 있는 것 같은데 뭐 실전에서는 transpose하면 되는 문제긴 하지만 나름대로 엄청나게 궁금해져서 질문을 드려봅니다. 설명을 해주신거나 그림을 그려주시는 것은 모두 x_{p}^{i}가 열벡터이고 concatenate를 하실 때 row-wise가 아니라 column-wise로 합치신 것 같아서 그렇게 생각이 들었습니다.
-
해결됨최신 딥러닝 기술과 객체인식
평가 지표 실습(4) IoU와 mAP 질문
1분 쯤에 나오는 표에서 conf는 임계치가 아닌 confidence score를 나타냅니다. 그런데 강의 내용과 오른쪽 P-R curve는 conf를 임계치로 생각하고 말씀을 해주시는데, 제가 헷갈린건지 아니면 오류가 있는건지 알려주실 수 있으실까요? 😀 또 헷갈리는게 있는데, 만약 AP를 계산할 때 IoU 임계값에 따른다고 하면 confidence 임계 값은 고정을 하고 계산하는거겠죠? 그렇다면 논문 마다 mAP를 계산하는 방식이 다른데 이는 논문에서 계산방법을 보통 알려주나요?
-
해결됨최신 딥러닝 기술과 객체인식
평가 지표 실습 (3) PR curve와 mAP 질문
안녕하세요!강의에서 Precision-Recall를 구할 때 Confidence score를 기준으로 내리차순 한 뒤 P, R을 구하는 방법을 알려주셨습니다. 근데 실제 구현에서는 바로 tp,fp,tn,fn 을 구한 뒤 P,R을 구하는게 훨씬 빠를 것 같은데 해당 방식은 왜 나온건가요? 사람이 직접 구할 때 조금 더 직관적으로 보기 위해서 사용하는 방식인가요?
-
미해결
딥러닝 머신 러닝 회귀분석 질문 있습니다.
머신러닝으로 회귀분석을 하면 훈련데이터에서는 99퍼 테스트데이터 92퍼가 나오는데 딥러닝으로 모델을 만들어서 돌리면 loss가 2천만 이렇게 나오는데 머신러닝과 딥러닝 모델이 이상한지 아니면 데이터가 이상한지 모르겠습니다 머신러닝 모델xgb_reg = xgb.XGBRegressor(booster="dart",random_state=0) params = {"subsample" : uniform(0,1), "max_depth" : randint(3,10), "n_estimators" : randint(100,300), 'learning_rate':uniform(0.01, 0.1), "gamma": randint(0,5),} xgb_reg_random = RandomizedSearchCV(xgb_reg,params,n_jobs=-1,n_iter=100,scoring='neg_root_mean_squared_error',random_state=0,cv=kf)딥러닝 모델scaled_deep_train.shape,scaled_deep_test.shape # ((180, 21), (45, 21)) scaled_deep_train = np.reshape(scaled_deep_train,(180,21,1)) scaled_deep_test = np.reshape(scaled_deep_test,(45,21,1)) # ((180, 21,1), (45, 21,1 )) model.add(keras.layers.Conv1D(16,kernel_size=3, activation="relu",padding="same",input_shape = (21,1))) model.add(keras.layers.Flatten()) model.add(keras.layers.Dense(100,activation="relu")) model.add(keras.layers.Dense(1)) adagrad= keras.optimizers.Adagrad(learning_rate=1e-5) model.compile(optimizer = sgd,loss = "mean_squared_error",metrics=["mse"]) history = model.fit(scaled_deep_train,y_train, epochs=200,batch_size=8 ,validation_split=0.2,callbacks=[early_stopping_cb])이런식으로 구성되어있습니다.
-
해결됨모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
autotrain로 fine tuning 후 embedding vector 구하는 방법이 있을까요?
안녕하세요. mistral 과 llama2를 사용해서 embedding vector를 통해 챗봇을 구현하고 있습니다. 기존 모델로 embedding vector를 구하면 답변 검색이 잘 되지 않아서 파인튜닝을 한 후에 embedding vector를 구하려고 합니다. 학습과정에서 알려주신 대로 mistral 과 llama2의 fine tuning을 완료 했습니다. fine tuning한 모델에서 generate는 잘 동작하나, embedding vector가 생성이 되질 않아 질문 드립니다. 기존 모델을 통한 임베딩 방식은 다음과 같습니다. seq_ids = tokenizer(text, return_tensors='pt')["input_ids"]embedding = model(seq_ids)["last_hidden_state"].mean(axis=[0,1]).detach().numpy()기존 원본 모델에서는 'last_hidden_state' 값을 통해서 계산하지만fine tuning한 모델에서는 'logits' 값만 존재 합니다. - 원본 모델 리턴값 : odict_keys(['last_hidden_state'])- fine tuning 모델 리턴값 : odict_keys(['logits']) 그래서 파인튜닝한 모델을 보면 Peft 와 Lora로 한번 레이어로 감싼 형태로 리턴되서 그럴꺼라 추측하는데요.기존 모델 MistralForCausalLM( (model): MistralModel( (embed_tokens): Embedding(46081, 4096, padding_idx=2) (layers): ModuleList( (0-31): 32 x MistralDecoderLayer( (self_attn): MistralAttention( (q_proj): Linear(in_features=4096, out_features=4096, bias=False) (k_proj): Linear(in_features=4096, out_features=1024, bias=False) (v_proj): Linear(in_features=4096, out_features=1024, bias=False) (o_proj): Linear(in_features=4096, out_features=4096, bias=False) (rotary_emb): MistralRotaryEmbedding() ) (mlp): MistralMLP( (gate_proj): Linear(in_features=4096, out_features=14336, bias=False) (up_proj): Linear(in_features=4096, out_features=14336, bias=False) (down_proj): Linear(in_features=14336, out_features=4096, bias=False) (act_fn): SiLUActivation() ) (input_layernorm): MistralRMSNorm() (post_attention_layernorm): MistralRMSNorm() ) ) (norm): MistralRMSNorm() ) (lm_head): Linear(in_features=4096, out_features=46081, bias=False) ) 파인튜닝한 모델 PeftModelForCausalLM( (base_model): LoraModel( (model): MistralForCausalLM( (model): MistralModel( (embed_tokens): Embedding(46081, 4096, padding_idx=2) (layers): ModuleList( (0-31): 32 x MistralDecoderLayer( (self_attn): MistralAttention( (q_proj): Linear4bit( in_features=4096, out_features=4096, bias=False (lora_dropout): ModuleDict( (default): Dropout(p=0.05, inplace=False) ) (lora_A): ModuleDict( (default): Linear(in_features=4096, out_features=16, bias=False) ) (lora_B): ModuleDict( (default): Linear(in_features=16, out_features=4096, bias=False) ) (lora_embedding_A): ParameterDict() (lora_embedding_B): ParameterDict() ) (k_proj): Linear4bit(in_features=4096, out_features=1024, bias=False) (v_proj): Linear4bit( in_features=4096, out_features=1024, bias=False (lora_dropout): ModuleDict( (default): Dropout(p=0.05, inplace=False) ) (lora_A): ModuleDict( (default): Linear(in_features=4096, out_features=16, bias=False) ) (lora_B): ModuleDict( (default): Linear(in_features=16, out_features=1024, bias=False) ) (lora_embedding_A): ParameterDict() (lora_embedding_B): ParameterDict() ) (o_proj): Linear4bit(in_features=4096, out_features=4096, bias=False) (rotary_emb): MistralRotaryEmbedding() ) (mlp): MistralMLP( (gate_proj): Linear4bit(in_features=4096, out_features=14336, bias=False) (up_proj): Linear4bit(in_features=4096, out_features=14336, bias=False) (down_proj): Linear4bit(in_features=14336, out_features=4096, bias=False) (act_fn): SiLUActivation() ) (input_layernorm): MistralRMSNorm() (post_attention_layernorm): MistralRMSNorm() ) ) (norm): MistralRMSNorm() ) (lm_head): Linear(in_features=4096, out_features=46081, bias=False) ) ) ) fine tuning을 한 모델에서는 embedding vector 를 구하는게 불가능한건가요? +추가 model.merge_and_unload() 를 써봤지만 소용없었습니다.
-
해결됨[파이토치] 실전 인공지능으로 이어지는 딥러닝 - 기초부터 논문 구현까지
nn.Linear(1024, 10) 관련 질문드립니다.
안녕하세요! 수업중 궁금한 부분이 있어 문의 드립니다. self.encoder = nn.Sequential( nn.Conv2d(1, k, 3, stride=2), # 흑백 이미지로 체널이 1개, 나머지는 임의로 설정 nn.ReLU(), nn.Conv2d(k, 2*k, 3, stride=2), nn.ReLU(), nn.Conv2d(2*k, 4*k, 3, stride=1), nn.ReLU(), Flatten(), nn.Linear(1024, 10), nn.ReLU() nn.Linear(1024, 10) 이 부분에서, MNIST의 경우 미리 계산하면 1024가 나온다고 말씀 주셨는데요, 어떻게 계산해야 하는건지 알 수 있을까요? 또한, 이 수치를 코드 작성자가 꼭 계산해서 넣어줘야 하는지도 궁금합니다! 크기(1024)를 코드로 출력해서 확인해 보는 방법이나, 저 부분에 1024 크기가 계산되어 들어가도록 코드를 작성할 수도 있을까요?
-
미해결
제발 도와주세요ㅜㅠ
import numpy as np from keras.models import Sequential from keras.layers import Dense, Dropout, Flatten, LSTM from keras.layers import BatchNormalization from keras.initializers import he_normal !pip install np_utils import np_utils from tensorflow.keras.utils import to_categorical from google.colab import drive drive.mount('/content/drive') [train_x, train_y, test_x, test_y] = np.load('/content/drive/MyDrive/LSTM_disaster_prediction_data.npy', allow_pickle = True) X_train = train_x.astype('float32') X_test = test_x.astype('float32') X_train = np.transpose(X_train,(0,2,1)) X_test = np.transpose(X_test,(0,2,1)) y_train = to_categorical(train_y, num_classes=num_classes) y_test = to_categorical(test_y, num_classes=num_classes) num_classes = y_train.shape[1] model = Sequential() model.add(LSTM(units = 4, return_sequences = True, input_shape = (168, 12))) model.add(LSTM(units = 1, return_sequences= True)) model.add(BatchNormalization()) model.add(Dense(64,activation = 'relu', kernel_initializer = 'he_normal')) model.add(Dropout(0.25)) model.add(Dense(num_classes, activation = 'softmax')) model.summary() model.compile(loss = 'categorical_crossentropy', optimizer = 'adam', metrics = ['accuracy']) model.fit(X_train, y_train, epochs = 5, batch_size = 16, verbose = 1, validation_data=(X_test, y_test)) test_loss, test_accuracy = model.evaluate(X_test, y_test) print('검증결과') print('test loss = ', test_loss) print('test accuracy = ', test_accuracy) ValueError: Shapes (None, 3) and (None, 168, 3) are incompatible이렇게 뜨는데 어떻게 고쳐야할지 모르겠어요 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ