Y Rok's Blog
Deep learning, NLP
-
Pytorch에서 GPU 사용하기
이번 포스트에서는 Pytorch에서 GPU를 활용하는 방법에 대해 다음 3가지로 소개합니다. (공식 문서를 참고하여 작성.) 어떻게 gpu를 사용하는가? argument에 따라 cpu 혹은 gpu에서 동작하도록 코드 작성 특정 gpu 사용하기 어떻게 gpu를 사용하는가? tensorflow에서는 1.15 이후의 버전부터는 gpu에 자동으로 tensor들이 할당되지만 pytorch에서는 gpu에 해당 tensor를 올리라고 코드를 작성해주어야 합니다. 다음의 코드를 통해...
-
Pytorch에서 대용량 데이터 활용 딥러닝 모델 학습시 전처리 방법 (AI Hub News Q&A 데이터셋으로 BERT 학습하기)
인라이플에서 pytorch로 작성한 BERT 코드와 BERT Large를 공개하였습니다.이를 활용하여 KorQuAD 데이터셋으로 Fine-Tuning 시 문제가 없었지만 AI Hub의 News Q&A 데이터셋을 학습 시에는 문제가 발생했습니다. KorQuAD 데이터셋은 약 6만개(v1.0 기준)의 학습 데이터지만 News Q&A는 약 45만개로 학습 데이터가 너무 큰 경우 발생하는 문제였습니다. 이번 포스트에서는 대용량 데이터를 활용하여 AI 모델을 학습하는...
-
Horovod를 활용하여 Tensorflow에서 Multi GPU로 학습하기 (BERT Distributed Training 해보기)
이번 포스트에서는 Horovod란 무엇이고 Multi-GPU로 Deep Learning 모델을 학습하는 Distributed Training에 대해 소개하고자 합니다. 이를 위해, Horovod에서 제공하는 Benchmark 소스를 활용하여 가지고 있는 서버 환경에서의 Distributed Training 성능 평가와 Google에서 공개한 BERT Code를 Horovod를 활용하여 Distributed Training 할 수 있도록 구현 해보고자 합니다. (BERT code는 TPU 환경에서만 Distributed Training을 지원합니다.)...
-
[ALBERT 논문 Review] ALBERT: A LITE BERT FOR SELF-SUPERVISED LEARNING OF LANGUAGE REPRESENTATIONS
ALBERT 핵심 요약 (발표자료 PDF) [Challenge] BERT와 같은 Pre-trained language representation 모델은 일반적으로 모델의 크기가 커지면 성능이 향상됨. 하지만, 모델이 커짐에 따라 다음의 문제가 발생 Memory Limitation - 모델의 크기가 메모리량에 비해 큰 경우 학습시 OOM(Out-Of Memory) 발생 Training Time - 학습하는데 오랜 시간이 소요됨 Memory Degradation - Layer의 수...
-
[MT-DNN 논문 Review] Multi-Task Deep Neural Networks for Natural Language Understanding
발표 영상 (발표 자료 PDF) MT-DNN 핵심 요약 BERT에 Multi-task learning(GLUE의 9개 Task 활용)을 수행하여 성능 개선한 모델 다양한 Task의 Supervised Dataset을 모두 사용하여 대용량 데이터로 학습 Multi-task Learning을 통해 특정 Task에 Overfitting되지 않도록 Regularization 다음의 Task들에 대해 State-of-the Art 성능 (BERT 보다 높은 성능) 8개의 GLUE Task SNLI와 SciTail...