코랩 프로 플러스를 사용하고 있는 수강생입니다. 먼저 cloudflare를 다운받습니다. 이후 !pip install colab-ssh --upgrade from colab_ssh import launch_ssh_cloudflared, init_git_cloudflared launch_ssh_cloudflared(password='임의로 설정') # password는 임의로 설정 이걸 코랩 노트북에 작성해놓습니다. 그리고 vscode에서 ssh.config에 다음 사항을 작성해놓습니다. Host *.trycloudflare.com HostName %h User root Port 22 ProxyCommand C:\Program Files (x86)\cloudflared\cloudflared.exe access ssh --hostname %h 그 이후에 ssh로 접속해서 vscode에서 구글 드라이브와 연동하여 사용하고 있습니다. 개인적으로 gpu 작업이 필요할 때 사용하는 방법이었는데, 일반적으로 많이 사용하는 방법인지 궁금합니다. gpu 자원을 갖고 있지 않아 코랩 프로 플러스를 구독하여 사용하고 있는데, 매번 작업할 때마다 환경을 조금씩 설정해줘야 하는 불편함이 있어서 코랩을 사용하려면 어쩔 수 없는 방법인지가 궁금합니다.
[LLM 101] LLM 초보를 위한 Llama SFT 강의 (feat. ChatApp Poc)
안녕하세요 코랩 실습 과정 중 하드웨어 가속기 선택할 때 V100이 비활성화 되어있을경우 어떤 것을 선택해야 하는지 문의 드립니다. 아울러 모델튜닝 실습 중 tokenizer.default_chat_template 부분에서 에러가 뜨는데 다음 단계로 넘어갈 수 있도록 하는 방법이 있을까요? 이후 패스하고 넘어간다고 해도 PEFT - LoRA부분에서도 에러가 뜹니다. 혹시 위 부분에서 pip install flash-attn===1.0.4 부분을 처리하지 않아서 오류가 난 것일까요?
0204 쇼핑 리뷰 군집화 - KMeans, Elbow, Silhouette 분석 강의 질문있습니다. 강의에서는 Silhouette 이 부분이 1과 가까워지는 부분에서 좋은 n_cluster라고 하셨는데 그러면 Elbow 차트 말고 Silhouette 만 써도 되는건가요? 0204 쇼핑 리뷰 군집화 결과 분석 - 실제 제품과 군집 교차표 분석 4분 16초에 k.meanslabel==pardict를 하는 이유가 뭔가요? 라벨링 개수와 학습한 개수를 같은지 확인하는 이유가 궁금합니다.
안녕하세요 선생님 시간과 체력이 더 많았으면 좋겠다는 생각이 들 정도로 강의를 너무 재밌게 보고 있습니다 Mini batch Gradient Descent 이론 편에서 Mini batch Size에 비례하지 않는다는 설명을 보았는데요. 물론 병렬처리를 하기 때문에 정비례하지 않겠지만 GPU에 올릴 수 있는 최대 데이터양이 100개라고 가정한다면 미니배치를 200, 300, .. 이런 식으로 키운다면 미니 배치크기에 따라 비례하는 것은 맞지 않나요? 혹시 제가 잘못 생각하고 있다면 말씀해주세요 감사합니다!
안녕하세요?: 선생님 강의 정말 재밌게 잘 보고 있습니다. 강의 내용 중에 Huber Loss는 전미분이 한 번밖에 되지 않는다는 단점을 언급해주셨는데요 Gradient Descent를 적용할 때는 weight에 대한 편미분만 적용하기 때문에 역전파 시에는 무관한 거 아닐까요? 따라서 Epoch를 2 이상의 숫자를 두고 학습하는데 전혀 지장이 없는 거 아닌가요? 왜 전미분이 1번만 된다는 게 단점이 된다는 것인지 이해가 잘 되지 않습니다.
from datasets import load_metric ImportError: cannot import name 'load_metric' from 'datasets' (/usr/local/lib/python3.10/dist-packages/datasets/__init__.py) datasets에서 load_metric을 불러오려고 하는데 위와 같은 에러가 발생합니다. 계속 삽질하고 있는데 방법을 찾기가 쉽지가 않네요ㅠ 도움 부탁드립니다.
130_Transformer.ipynb를 수정없이 colab에서 모두 실행하였을 때, transformer.summary() 블럭에서 다음과 같은 에러가 나옵니다. 어떤 부분을 수정하면 좋을지 알 수 있을까요? --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-51-b0463e4f27a6> in <cell line: 1>() ----> 1 transformer.summary() 1 frames /usr/local/lib/python3.10/dist-packages/keras/src/utils/traceback_utils.py in error_handler(*args, **kwargs) 120 # To get the full stack trace, call: 121 # `keras.config.disable_traceback_filtering()` --> 122 raise e.with_traceback(filtered_tb) from None 123 finally: 124 del filtered_tb /usr/local/lib/python3.10/dist-packages/optree/ops.py in tree_map(func, tree, is_leaf, none_is_leaf, namespace, *rests) 745 leaves, treespec = _C.flatten(tree, is_leaf, none_is_leaf, namespace) 746 flat_args = [leaves] + [treespec.flatten_up_to(r) for r in rests] --> 747 return treespec.unflatten(map(func, *flat_args)) 748 749 TypeError: 'int' object is not iterable
강사님 seq2seq 모델의 경우 학습할 때와 추론할 때 서로 다른 모델을 정의하여 사용하였습니다. 하지만 트랜스포머는 그렇지 않고 추론할 때도 같은 모델을 사용하고 있습니다. 두 개의 모델 모두 교사강요학습을 사용하고 있고 인코더/디코더 구조를 가지고 있는데 왜 두개가 이렇게 차이가 있는 것인지요?
# 훈련 데이터셋에서 포르투갈어 및 영어 예제 출력 for pt_examples, en_examples in train_examples.batch(3).take(1): print('> 포르투갈어 예제:') for pt in pt_examples.numpy(): print(pt.decode('utf-8')) # 포르투갈어 문장 디코딩하여 출력 print() print('> 영어 예제:') for en in en_examples.numpy(): print(en.decode('utf-8')) # 영어 문장 디코딩하여 출력 =====> 위의 코드에 pt 와 en 이 어떻게 생성된 변수인지 잘 이해가 안 가서 여쭤봅니다.
강사님, 본 강의 들으면서 정말 많은 도움을 받고 있습니다. normalization 에 대해서 이렇게 상세하게 설명해 준 온라인 강의는 본 적이 없네요 🙂 CNN 을 기반으로 하되 모델 파라메터도 엄청 크고, 데이터셋 크기도 매우 큰 경우, 예를 들어 3D Unet 을 구성해서 3차원의 고해상도 (256 x 256 x 256) 이미지를 input 과 output 으로 사용하다보니 GPU 메모리를 너무 많이 잡아먹어서 batch 에 복수의 샘플을 적용하지 못하고 하나의 batch 에 단일 샘플만 적용하는 경우를 study 하고 있는데요, BatchNormalization 을 적용했을 경우 오히려 학습이 잘 안 되는 것 같아서 Normalization layer 를 야예 제거한 후 모델 학습 진행 중이었습니다. 경험적으로 했던 것이었지만 본 강의를 보다 보니 그 이유가 조금 이해가 되기도 하는데요, 이와 같이 batch size 가 극단적으로 작은 경우에 Normalization layer 을 적용 안하는게 더 좋을 수 있나요? 혹은 설명해 주신 table 에 나와 있는 것 처럼 Group Normalization layer 나 Instance Normalization을 적용하는 것이 개념적으로 더 나은 방법일까요? (설명을 들었을 때는 Group Normalization 을 적용하는 것이 필요한 상황으로 이해가 되기도 하는데.. 제가 이해한 것이 맞는지 확인 부탁드립니다 ^^;) 그리고 Group Normalization 에서 "Group" 의 의미가 무엇인지 잘 와닿지가 않아서 (Batch 나 Width, Height, Sample Number 이외에 그룹이 될 수 있는 경우가 무엇인지가 잘 이해가 되지 않습니다.) ... 요 부분에 대해서 좀 더 설명해 주시면 감사드리겠습니다!
교사학습용 데이터와 target 데이터 모두 post 패딩을 하였는데 교사학습용 데이터는 <sos> 가 중요하고 target 데이터는 <eos> 가 중요하기 때문에 교사학습용은 post, target 데이터는 pre 를 해야 하는거 아닌지요? 만약 post 패딩을 하게 되면 길이가 초과하는 교사학습용 데이터는 <sos>가 잘려지지 않을까 생각합니다. 강사님 부탁드리겠습니다.
안녕하세요, 수업 설명 감사드립니다. cnn이 아닌 일반적인 fully connected NN (multi-layer perceptron) 에서 혹시 batch/instance/layer normalization 을 어떻게 계산하는지 설명을 부탁드려도 될까요 (그림으로 표현해 주시면 더 좋을거 같습니다.) MLP에서라면 small c가 특정 hidden layer의 node/unit에 대응될거 같고 large C가 layer 전체를 표현할거 같은데, H,W는 무엇인지 이해가 잘 되지 않습니다. 특히, MLP에서 instance normalization의 평균/분산을 구할 수가 있을지 궁금합니다 (단일 값 하나일거 같은데..) 강사님께서는 어떻게 생각하시는지 알려주시면 감사드리며, 제가 잘못 이해한 부분이 있으면 코멘트 부탁드리겠습니다. 추가로 하나만 더 질문드리고 싶습니다. 강의안에서 x_nhwc는 벡터일까요? 아니면 scalar 값일까요? Normalization의 경우에 feature간 (예, 인풋 변수) 평균도 구하는지, element-wise로 구하는지 궁금해서 여쭤봅니다. 바쁘실텐데 시간내주셔서 미리 감사드립니다.