묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
checkpoint 파일이 안생겨요
제가 강의에 LLaMA 파인튜닝 코드를 변형해서 한 => 영 번역기를 만들고 있는데요. 몇일 전까지만 해도 zip파일을 해제하면 checkpoint-875 이런식으로 체크포인트가 저장된 파일이 생겼는데 갑자기 안생기네요.. 이유가 뭘까요 선생님!autotrain llm --train \ --project-name "conversational-finetuning" \ --model "TinyPixel/Llama-2-7B-bf16-sharded" \ --data-path "conversational-prompt" \ --text-column "text" \ --peft \ --quantization "int4" \ --lr 3e-4 \ --batch-size 8 \ --epochs 5 \ --trainer sft \ --model_max_length 80 import zipfile import shutil from google.colab import files folder_name = "conversational-finetuning" zip_file_name = "conversational-finetuning1.zip" shutil.make_archive(zip_file_name[:-4], "zip", folder_name) files.download(zip_file_name) extract_folder_name = '.' # 현재 디렉토리 with zipfile.ZipFile(zip_file_name, 'r') as zip_ref : zip_ref.extractall(extract_folder_name)
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
실무에서 Augmentation 적용 시
교수님 안녕하세요 실무에서 분류하는 과제를 하고 있습니다.(파이썬 코드를 직접 짜고 있지는 않고 상용 딥러닝 툴을 써서 하고 있습니다.) 공장안에서 여러 설비들이 조금씩 다른 세팅으로 카메라가 세팅이 되어있는 상태이고(이미 너무 많은 설비들이 있는데 이거를 지금 시점에 같은 조건으로 다 맞추기는 힘들 것 같습니다.)관리를 하려면 이 조금씩 세팅이 다른 카메라 이미지를 하나의 모델로 만들어야 한다고 판단하고 있습니다. 밝기 세팅이나 카메라 노출 회전 여부가 조금씩 다른데1) 전체 학습 이미지 데이터 셋2) 전부다 회전을 시켜버리고3) 전부다 밝기 조절을 해서 ex) 제품의 특정 위치의 이미지상 밝기가 대부분 10이고 어떤 카메라는 특이하게 15라면 가지고 있는 학습 이미지를 다 15로 바꿔버린다음에 추가 학습을 시킴 20인 카메라가 확인되면 다 20으로 바꿔버린다음에 추가 학습을 시킴 학습 데이터 셋을 2배 3배 4배 늘려버려서 학습을 시킨다면 모델의 성능이 좋아지게 될지 성능이 떨어지게 될지 어떻게 하는게 유리할지조언을 주실 수 있을까요?잘모르는 부분이어서 조금 답답한 부분이 있어서 혹시나 도움을 받을 수 있을까 해서문의드리게 되었습니다.
-
미해결TensorFlow 2.0으로 배우는 딥러닝 입문
안녕하세요 파이썬이랑 tensorflow 정확한 버전 알수있을까요?
앞에서 설치하는 동영상은 윈도우 버전이고 수업영상 구현할때는 갑자기 맥북으로 넘어가서요. 2.3으로 설치해서 코드 구현하니까 버전 문제가 생겼다 해서요 파이썬3.7.9 tensorflow 2.3버전 맞나요?File "C:\Users\Administrator\Desktop\deep-learning-tensorflow-book-code-master\Ch03-TensorFlow_Basic\3.3-linear_regression.py", line 6, in <module>W = tf.Variable(tf.random_normal(shape=[1]))AttributeError: module 'tensorflow' has no attribute 'random_normal'구현하면 이렇게 떠요
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
yolo v3 설치 과정에서 에러가 발생합니다!
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. imageio 2.31.6 requires pillow<10.1.0,>=8.3.2, but you have pillow 10.3.0 which is incompatible. 위와 같은 에러 메시지가 발생하는데 어떻게 하면 될까요?
-
미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
강의 내용중 질문있습니다.
LSTM 함수 정의전 맨 아래와 같이 정의를하는데B같은 경우 인풋을 의미로sentences = ["hi man", "hi woman"]리스트의 값과 같이 2개를 받는다고 생각하면되나요?T 같은경우에는 time이 정확히 어떤것을 의미하는 것일까요??D 또한 feature인데 어떤것을 의미하는 지모르겠습니다..U는 아웃풋인건 이해했고요..혹시 아래 이미지와 같은 이미지를 기준으로 T값 2는hi를 h, i 로 2개 받는다는 의미일까요?D와 T는 모르겠습니다..U는 이미지 기준 4겠네요? 이부분만해결되면 코드를 더 이해할수있을것같습니다ㅜㅜB = 2 #batch size / 2개의 인풋 값이 들어가도록 설정 T = 5 #time steps D = 1 #features U = 3 #LSTM units / LSTM output 유닛 개수 X = np.random.randn(B,T,D) print(X.shape) print("\n") print(X)
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
고스트 어텐션
고스트 어텐션한국어로 말해라, 아인슈타인처럼 말해라 와 같이 모델이 일관성을 유지해야 하는 말에 대해 자꾸 몇번 더 대화를 나누면 일관성을 잃어버려서 고스트 어텐션을 적용했다고스트 어텐션은인물: 아인슈타인언어: 한국어와같이 저장하는데 이걸 이용하는 방법은 잘 모르겠다 어디서 이용되는건지 모르겠습니다.제가 생각했을때 이용될 수 있는 방법은 이런 파라미터를 이후에 오는 모든 파라미터앞에 붙인것 처럼 입력된다--> 이건 위에서 대조한 예시로 나온것 같은데 이러면 둘이 충돌이 일어날 상황이 생겨서 안한다고 한것 같고인물, 언어 와 같은 카테고리를 적용한 것을 미리 파인튜닝 해둔 후 위의 프롬프트가 나오면 그 파인튜닝 된 것을 불러온다? --> 이건 너무 경우도 많고 복잡할 것 같습니다. 선생님이 간단하다고 해서 이것도 아닌것 같습니다. 고스트 어텐션이 실제로 gpts를 이용할때 프롬프트로 저장, 고정이 되어있는 부분을 말하는것 같은데 이걸 어떻게 이용하는지 궁금합니다
-
미해결실전 인공지능으로 이어지는 딥러닝 개념 잡기
다중레이어 경사하강법에서 질문
안녕하세요 강사님Loss 함수가 아닌 y_hat부터 미분 하는 이유가 뭔가요?W_11이 Loss의 결과에 미치는 영향을 알기 위해 Loss함수 부터 미분 해야 하지 않나요?? ㅠ
-
해결됨TensorFlow 2.0으로 배우는 딥러닝 입문
colab 환경에서 Autoencoder 구현하였으나 결과가 보이지 않는 분들 참고사항
colab 환경에서 Autoencoder를 구현하여 코드를 실행시키면 반복(Epoch)는 완료 되었는데, 결과 이미지가 확인이 되지 않는 경우가 생깁니다. 이런 경우 맨 아래의 plt.waitforbuttonpress()를 주석 처리하시면 빠르게 결과를 확인 할 수 있습니다.[plt.waitforbuttonpress()코드 주석처리][주석 처리 후 결과 확인]혹시나 제가 잘못알고 있는 사항이 있으면 바로 정정 부탁드리겠습니다.
-
미해결파이썬을 활용한 머신러닝 딥러닝 입문
DBSCAN 실습 결과
수업에서 DBSCAN 결과가 이렇게 내왔는데 그러면 OUTLIER도 파란색이고 모여있는데도 색깔이 다른 곳들이 있으니 학습이 잘 된 건 아닌 케이스일까요? 감사합니다!
-
미해결파이썬을 활용한 머신러닝 딥러닝 입문
DBSCAN 질문
늘 강의 잘 듣고 있습니다! DBSCAN에서 Radius(R)와 Minimum Neighbor number(M)을 가르쳐주시고 Core, Border 개념을 소개해주셨는데 헷갈리는 부분이 있어 질문 드립니다. pdf 자료를 보며 R에 2unit 이렇게 되어 있는데 이 Unit이라는 건 데이터 포인트의 점 크기를 말하는 걸까요? 그리고 정한 M 값 이상의 데이터 포인트들이 R 안에 들어오면 Core고 Border는 R안에 데이터포인트가 M 보다 작은 수만큼 있는 경우, 다른 Core가 R 안에 있는 경우를 말하는 건가요? (R안에 다른 데이터포인트가 하나라도 있으면 Border인지 궁금합니다)
-
해결됨실전 인공지능으로 이어지는 딥러닝 개념 잡기
XOR파트에서 입력표현 방식
안녕하세요 강사님 오랜만에 다시 복습중입니다.XOR문제 6:30쯤에 입력을 행렬로 만들어서 사용 하는데요그 전까지는 입력을 열벡터로 표현 했었는데 다수의 입력을 표현 할때는 왜 행벡터로 표현이 되었는지 궁금합니다.
-
미해결파이썬을 활용한 머신러닝 딥러닝 입문
Feature Scaling 강의 질문 있습니다!
(1) Feature scaling 실습 강의를 듣다가 궁금한 점이 있어 질문드립니다! 타이타닉 자료에서 나이에 대한 결측치는 중간값으로 처리하고, Embarked의 경우 drop을 하는 걸로 알려주셨는데요 🙂 원래 없는 값인데 중간 값으로 결측치를 채워주는 것도 그렇구 다른 FEATURE값이 있는데 결측치가 있는 row라고 지워버리는 것도 그렇고 결측치가 주는 영향이 그만큼 크기 때문인가요?? 값이 비어있는 것보다는 평균으로라도 채워놓는 게 좋은 건지, 다른 feature 정보가 있더라도 결측치가 있는 row는 지우는 게 좋은 건지 feature engineering에 대해 제대로 이해하지 못한 것 같아 여쭤봅니다! (2) SKEW된 FARE에 log를 취해주셨는데요! 사실 그래프만 보면 parch도 sibsb도 한 쪽으로 쏠려있고 한 쪽이 많은 느낌인데 왜 fare만 skew로 log를 취해주신 걸까요? (3) 교재에서는 train_test_split 부분을 이렇게 해주셨는데요! X_train = df_titanic[:700]X_test = df_titanic[700:]y_train = X_train.pop('Survived')y_test = X_test.pop('Survived')X_train, X_test에서 survived 부분을 안 빼줘도 되는 건가요?? 늘 감사합니다!!
-
미해결파이썬을 활용한 머신러닝 딥러닝 입문
heatmap에서 numeric_only=True
타이타닉 탑승자 자료로 Feature scaling을 실습하는 강의에서, heatmap을 그리는 부분을 듣고 있는데요!g=sns.heatmap(df_titanic.corr(numeric_only=True),annot=True,cmap='coolwarm') 교재에는 이렇게 되어 있는데 실제 강의에서는 numeric_only=True 부분을 작성하지 않고도 똑같이 그리셨더라구요! 교재 코드에 해당 부분이 있는 이유가 궁금해 여쭤봅니다! 감사합니다 :)
-
미해결파이썬을 활용한 머신러닝 딥러닝 입문
pd.Series
랜덤포레스트와 그래디언트부스팅 강의에서 마지막에 FEATURE importance를 pd.series로 하는 과정이 나오는데, 그래프를 그리기 전 이 과정이 왜 필요한 건가요? 감사합니다!
-
미해결파이썬을 활용한 머신러닝 딥러닝 입문
Feature Scaling
feature scaling에서 X_test는 fit_transform이 아니라 transform만 해야한다고 하셨는데요! (logistic regression 실습 18분 부근) 어차피 X_train과 평균과 표준편차가 동일할 거라는 건 이해가 되지만, 미래 값인 X_test의 평균/표준편차를 구할 순 없다는 말씀은 이해가 잘 되지 않습니다 ㅠㅠ, 그리고 어차피 동일하다면 X_test에 fit_transform을 해도 같은 결과가 나와야 하는 거 아닌가요? 늘 감사합니다!
-
미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
Transformer 번역기 부분에 대해 질문 있습니다.
아래 사이트는 Encoder / Decoder를 하나의 Class로 만들었는데요..강사님도 해당 예제는 많이 보셨을거 같습니다.https://keras.io/examples/nlp/neural_machine_translation_with_transformer/ 아래와 같이 Encoder / Decoder Class를 선언하고..추가로 shape들을 찍어 보았습니다.(참고로 get_config 함수는 지면상 뺐습니다.)class TransformerEncoder(keras.layers.Layer): def init(self, num_heads, embed_dim, dense_dim, **kwargs): super().__init__(**kwargs) self.num_heads = num_heads self.embed_dim = embed_dim self.dense_dim = dense_dim self.class_name = 'TransformerEncoder' self.attention = keras.layers.MultiHeadAttention(self.num_heads, key_dim=self.embed_dim, value_dim=self.embed_dim) self.dense = keras.models.Sequential([keras.layers.Dense(self.dense_dim, activation='relu'), keras.layers.Dense(self.embed_dim)]) self.layer1 = keras.layers.LayerNormalization() self.layer2 = keras.layers.LayerNormalization() self.support_mask = True def call(self, inputs, mask=None): tf.print('ClassName=TransformerEncoder-------------------------------------------------------') if mask is not None: #print('ClassName={}, mask.shape={}'.format(self.class_name, mask.shape)) padding_mask = mask[:, tf.newaxis, :] tf.print('mask.shape=', padding_mask.shape) else: padding_mask = None tf.print('mask=None') attention_out = self.attention(query=inputs, key=inputs, value=inputs, attention_mask=padding_mask) tf.print('input.shape=', inputs.shape) tf.print('attention_out.shape=', attention_out.shape) layer1_out = self.layer1(inputs+attention_out) #print('ClassName={}, layer1_out.shape={}'.format(self.class_name, layer1_out.shape)) dense_out = self.dense(layer1_out) tf.print('dense_out.shape=', dense_out.shape) return self.layer2(layer1_out+dense_out) class TransformerDecoder(keras.layers.Layer): def init(self, num_heads, embed_dim, latent_dim, **kwargs): super().__init__(**kwargs) self.num_heads = num_heads self.embed_dim = embed_dim self.latent_dim = latent_dim self.class_name = 'Decoder' self.attention_1 = keras.layers.MultiHeadAttention(num_heads=self.num_heads, key_dim=self.embed_dim) self.attention_2 = keras.layers.MultiHeadAttention(num_heads=self.num_heads, key_dim=self.embed_dim) self.layer_1 = keras.layers.LayerNormalization() self.layer_2 = keras.layers.LayerNormalization() self.layer_3 = keras.layers.LayerNormalization() self.dense = keras.models.Sequential([keras.layers.Dense(self.latent_dim, activation='relu'), keras.layers.Dense(self.embed_dim)]) self.supports_masking=True def call(self, inputs, encoder_outputs, mask=None): tf.print('ClassName=TransformerDecoder-------------------------------------------------------') #inputs.shape=(None, 35, 32), encoder_outputs.shape=(None, 35, 32) #tf.print('aaaaaaaaa=', inputs.shape) casual_mask = self.get_casual_attention_mask(inputs) tf.print('inputs.shape=', inputs.shape) tf.print('casual_mask.shape=', casual_mask.shape) if mask is not None: padding_mask = tf.cast(mask[:, None, :], dtype='int32') padding_mask = tf.minimum(padding_mask, casual_mask) tf.print('padding_mask.shape=', padding_mask.shape) else: padding_mask = None tf.print('padding_mask = None') attention_1_out = self.attention_1(query=inputs, key=inputs, value=inputs, attention_mask=casual_mask) tf.print('attention_1_out.shape=', attention_1_out.shape) layer_1_out = self.layer_1(inputs+attention_1_out) attention_2_out = self.attention_2(query=layer_1_out, key=encoder_outputs, value=encoder_outputs, attention_mask=padding_mask) layer_2_out = self.layer_2(layer_1_out + attention_2_out) dense_out = self.dense(layer_2_out) tf.print('dense_out.shape=', dense_out.shape) return self.layer_3(layer_2_out + dense_out) def get_casual_attention_mask(self, inputs): #input_shape=(2, 35, 32) =(BatchSize, Sequence_len, Embed_Len) input_shape = tf.shape(inputs) batch_size, sequence_length = input_shape[0], input_shape[1] #i=(35, 1), j=(35,) #i=[[0], [1], [2], ... [35]], j=[0 1 2 ... 34] i = tf.range(start=0, limit=sequence_length)[:, tf.newaxis] j = tf.range(start=0, limit=sequence_length) # tf.cast 함수는 보통 조건에 따른 True, False 의 판단 기준에 따라 True 면 1, False 면 0을 반환한다. # mask.shape=(1, 35, 35), mask=[[[1 0 0 .. 0], [1 1 0 0 ...0], [1 1 1 1 ...1 0], [1 1 1 1 ... 1 1]]] mask = tf.cast(i>=j, dtype='int32') mask = tf.reshape(mask, (1, input_shape[1], input_shape[1])) # mult = (2, 1, 1), (BatchSize, 1, 1) mult = tf.concat([tf.expand_dims(batch_size, -1), tf.convert_to_tensor([1,1])], axis=0) return tf.tile(mask, mult) MAX_EMBED=32 MAX_VOCAB=5000 MAX_SEQ = 35 MAX_DENSE=1024 MAX_HEAD=1 encoder_inputs = keras.layers.Input(shape=(MAX_SEQ,), dtype='int64', name='encoder_inputs') encoder_embed_outs = PositionalEmbedding(MAX_SEQ, MAX_VOCAB, MAX_EMBED)(encoder_inputs) encoder_transformer_outs = TransformerEncoder(num_heads=1, embed_dim=MAX_EMBED, dense_dim=MAX_DENSE)(encoder_embed_outs) #encoder_transformer_outs == (None, 80, 256) decoder_inputs = keras.layers.Input(shape=(MAX_SEQ,), dtype='int64', name='decoder_inputs') decoder_embed_outs = PositionalEmbedding(MAX_SEQ, MAX_VOCAB, MAX_EMBED)(decoder_inputs) #decoder_embed_outs == (None, 80, 256) decoder_transformer_outs = TransformerDecoder(1, MAX_EMBED, MAX_DENSE)(decoder_embed_outs, encoder_transformer_outs) decoder_dropout_outs = keras.layers.Dropout(0.5)(decoder_transformer_outs) decoder_outputs = keras.layers.Dense(MAX_VOCAB, activation='softmax')(decoder_dropout_outs) model = keras.Model(inputs=[encoder_inputs, decoder_inputs], outputs=decoder_outputs) model.summary() 호출(호출은 Log만 찍어보게 BatchSize를 줄였습니다.)q_train_seqs = q_seqs[:2] a_train_seqs = a_seqs[:2] print(q_train_seqs.shape, a_train_seqs.shape) model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) history = model.fit([q_train_seqs, a_train_seqs[:, :-1]], a_train_seqs[:, 1:], epochs=1) 이렇게 해서 돌리면 결과가 아래와 같이 찍힙니다.ClassName=TransformerEncoder------------------------------------------------------- mask=None input.shape= TensorShape([None, 35, 32]) attention_out.shape= TensorShape([None, 35, 32]) dense_out.shape= TensorShape([None, 35, 32]) ClassName=TransformerDecoder------------------------------------------------------- inputs.shape= TensorShape([None, 35, 32]) casual_mask.shape= TensorShape([None, 35, 35]) padding_mask = None attention_1_out.shape= TensorShape([None, 35, 32]) dense_out.shape= TensorShape([None, 35, 32]) 1/1 [==============================] - 4s 4s/step - loss: 8.2735 - accuracy: 0.0000e+00 질문은 아래와 같습니다.Encoder 파트에서 mask=None 으로 Mask가 들어있지 않습니다. 그럼 굳이 mask는 구현할 필요가 없는건지? Decoder 파트에서는 첫번째 Self-Attention 부분에서만 제대로된 마스킹 값이 들어가고 Encoder의 Key와 매핑 시키는 부분에서는 마찬가지로 padding_mask가 None 입니다. 이 부분에 대해 조금 더 자세한 설명을 해 주시면 감사하겠습니다. 다시 한번 설명 드리면class TransformerEncoder(keras.layers.Layer): ... def call(self, inputs, mask=None): tf.print('ClassName=TransformerEncoder-------------------------------------------------------') if mask is not None: #print('ClassName={}, mask.shape={}'.format(self.class_name, mask.shape)) padding_mask = mask[:, tf.newaxis, :] tf.print('mask.shape=', padding_mask.shape) else: padding_mask = None tf.print('mask=None') #Encoder 에서 padding_mask는 None으로 찍힘 attention_out = self.attention(query=inputs, key=inputs, value=inputs, attention_mask=padding_mask) class TransformerDecoder(keras.layers.Layer): def call(self, inputs, encoder_outputs, mask=None): casual_mask = self.get_casual_attention_mask(inputs) #mask는 None 으로 들어옴 if mask is not None: padding_mask = tf.cast(mask[:, None, :], dtype='int32') padding_mask = tf.minimum(padding_mask, casual_mask) else: padding_mask = None # casual_mask는 현재 위치 이후는 0 으로 패딩 된 것 확인 attention_1_out = self.attention_1(query=inputs, key=inputs, value=inputs, attention_mask=casual_mask) layer_1_out = self.layer_1(inputs+attention_1_out) # 하지만 padding_mask는 None 임 attention_2_out = self.attention_2(query=layer_1_out, key=encoder_outputs, value=encoder_outputs, attention_mask=padding_mask) layer_2_out = self.layer_2(layer_1_out + attention_2_out)
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
코렙 강의 자료 위치
코렙 강의 파일을 찾을 수 없다는데 어떻게 해야되나요? 죄송합니다. 요청한 파일이 없습니다.올바른 URL을 사용하고 있는지와 파일이 존재하는지 확인하세요. 이렇게 떠요!
-
해결됨최신 딥러닝 기술 Vision Transformer 개념부터 Pytorch 구현까지
positional embedding 학습이 잘 안되는 문제
cifar10 말고 다른 이미지셋을 가지고 학습을 시켜보았는데, 시각화를 해 보니 수업에서 보여주셨던 것과는 다르게 positional embedding 학습이 잘 안되었습니다. 어디를 봐야할지 조언을 부탁드려도 될까요?
-
해결됨Google 공인! 텐서플로(TensorFlow) 개발자 자격증 취득
슬랙 초대 및 진행 방법 알려주시면 감사드립니다
hyunoo9495@gmail.com질문 및 실전 문제를 받고 싶어서 그런데 슬랙 초대 부탁 드립니다. 그리고 슬랙 초대 이후 진행방법이 어떻게 되는지도 안내 부탁 드립니다!
-
해결됨Google 공인! 텐서플로(TensorFlow) 개발자 자격증 취득
강의자료 찾기가 너무 힘들어요 메일로 부탁드립니다.
강의자료 찾기가 너무 힘들어요 메일로 부탁드립니다.회사 pc가 폐쇄망으로 구글 드라이브가 실행되지 않아 파일을 볼수가 없습니다. loveday3579@naver.com