studyLog. AI7 [Pytorch Lightning] GPU memory keeps increasing during training 발생한 현상 Training 에 돌입한 이후, 학습이 진행되는 과정에서 GPU VRAM (을 사용하는) 용량이 점차 증가, 결국 훈련 도중에 OOM 발생 일반적으로는, config 로 지정해준 batch size, grad accumulation, num of gpus 등의 하이퍼파라미터에 따라서 VRAM 사용량이 결정되며 이는 훈련 과정에서 변하지 않는다. (의도적으로 일정 스텝 이후에서 배치사이즈를 변경해주지 않는 한) 그런데 나의 경우에는, 훈련 도중에 자꾸만 VRAM 사용량이 증가하는 모습이 포착되었다. 원인 분석 Training Step 에서, .to('cuda') 명령어를 통해 CPU 에 있는 데이터셋 미니배치를 GPU 로 올려주게 되는데, 아무래도 그때 올라간 미니배치가 계속 누적되는 것.. 2024. 6. 9. [Pytorch Lightning] Inconsistent Batch Size in Training 에러메세지 (경고메세지).UserWarning: Trying to infer the `batch_size` from an ambiguous collection 현상.학습을 시키려는 도중 굉장히 기이한 현상이 발견되었다. 매 Iteration 마다 라이브러리에 의해 자동적으로 포착되는 배치 사이즈가 (아래 이미지에서 The batch size we found is .... 에 해당한다.) 아래 터미널 이미지에서와 같이 매번 다르게 잡혔다. 나는 이때 배치사이즈를 고정 4로 설정해둔 상태였다. 난생 처음 보는 경우였기에 당황스러웠다. 원인.원인을 분석해본 결과, 그 이유는 내가 매 배치마다의 sequence length 를 통일시켜주지 않았기 때문으로 추정되었다. (다시 말해, 패딩을 별도로 하지 않았다... 2024. 5. 29. [TensorFlow] Datatype 과 Tensor shape 1. 오늘의 에러메세지 InvalidArgumentError: {{function_node __wrapped__IteratorGetNext_output_types_2_device_/job:localhost/replica:0/task:0/device:CPU:0}} Input to reshape is a tensor with 1204224 values, but the requested shape has 150528 [[{{node Reshape}}]] [Op:IteratorGetNext] name: 2. 문제 발생 지점 def decode_tfrecord(self, tfrecord): """ Decode a tfrecord item. You need to specify how many bytes to rea.. 2024. 2. 18. [miniconda] 딥러닝 개발환경 설정 (updating) 개발환경 설정은 프로젝트 초반에만 하는 작업이다보니 종종 까먹어서 나를 위해 기록해둔다. 나는 local 환경에서 개발할 때에는 miniconda 를 사용한다. 1. 윈도우 검색창에 miniconda 검색 후 클릭 2. 신규 가상환경 생성 conda create -n python= # (예시) conda create -n arldm python=3.8 3. 기존 가상환경 활성화(switch) conda activate 터미널에서 C 앞에 위치한 (가상환경 이름) 이 현재 위치한 가상환경을 알려준다. 위 이미지에서는 (base) 에 해당한다. 4. 프로젝트 파일 클론 또는 필요한 라이브러리 설치 git clone 을 통해 가상환경에 프로젝트 파일을 복사하거나 혹은 이미 프로젝트 파일이 있는 경우, 이제부터.. 2024. 2. 15. 허깅페이스(Hugging Face)에 대해 알아보자. 허깅페이스가 무엇인지는 이미 다른 분들이 너무 잘 정리해주셨으니 ! 그것을 보도록 하시고 ! 본 글에서는 내가 (허깅페이스를 대강 알던 시절) 궁금했던 내용들을 중심으로 정리해보도록 하겠다. 1. 모델의 원본 소스코드를 확인할 수 있는가? 일반적으로 많이 사용하는 transformers 라이브러리에 구현되어 있는 유명한 모델들은 이를 구현한 원본 소스코드가 허깅페이스 깃허브에 올라와있다. 하지만 허깅페이스 사용자들이 직접 pre-training하거나 fine-tuning한 모델들은 깃허브처럼 모든 모델의 소스코드는 확인할 수 없다. (파일이 올라와있기는한데 .py 나 .ipynb 파일이 아니라 대부분 .json 확장자의 config 파일이다.) 해당 사용자가 깃허브 링크를 올려주지 않는 이상, 모델 카드.. 2023. 7. 14. [논문 리뷰] A Character-Centric Neural Model for Automated Story Generation (2020) 논문 제목: A Character-Centric Neural Model for Automated Story Generation (2020) Topic: character embedding, action prediction 1. Introduction (문제제기) 최근은 룰베이스 모델을 넘어, 이야기 생성(story generation) 모델을 디자인하기 위한 많은 신경망 모델이 등장하고 있다. 이때 구체적인 도메인 지식 없이도 이야기를 생성할 수 있는, 다양한 시나리오를 소화할 수 있는 모델을 디자인하는 것이 요구된다. 그러나 이러한 진보에도 불구하고, 신경방 (모델링) 방법은 설명가능성과 일관성 측면에서 많은 제한을 받는다. 왜냐하면 그 모델 내부 구조는 블랙박스로 되어 있으며, 긴 범위의 독립성과 복.. 2023. 4. 18. 이전 1 2 다음 반응형