본문 바로가기
반응형

분류 전체보기11

BERT는 어떻게 학습시킬까? (BERT Pretraining 시키기) 수많은 NLP Downstream Task에서 SOTA를 달성한 BERT에 대해 알아보자. 본 글에서는 모델의 구조와 성능에 대한 얘기가 아닌, BERT 학습의 전반적인 이야기를 해보고자 한다. 따라서 본 글은 BERT의 모델 구조에 대한 이해를 필요로 한다. 아직 BERT가 무엇인지 모른다면 아래의 여기를 참고하자. 본 글은 NVIDIA/BERT 코드를 읽고 정리한 것이다. 전편과 이어지는 글이기에 본 글을 읽기 전 1편을 읽는 것을 강력히 추천드리는 바이다. BERT Pretraining 시키기 2편에서는 1편에서 만든 Training Instance로 Pretraining 시키는 과정에 대해 알아볼 것이다. 1편의 마지막 내용을 살짝 떠올려보면, Training Instance를 만드는 작업이 아래.. 2021. 2. 7.
BERT는 어떻게 학습시킬까? (Raw text 에서 Training Instance 까지) 수많은 NLP Downstream Task에서 SOTA를 달성한 BERT에 대해 알아보자. 본 글에서는 모델의 구조와 성능에 대한 얘기가 아닌, BERT 학습의 전반적인 이야기를 해보고자 한다. 따라서 본 글은 BERT의 모델 구조에 대한 이해를 필요로 한다. 아직 BERT가 무엇인지 모른다면 아래의 여기를 참고하자. 본 글은 NVIDIA/BERT 코드를 읽고 정리한 것이다. Raw text 에서 Training Instance 까지 (아시다시피) BERT는 아래와 같은 구조가 하나의 학습 객체이다. 1편에서는 자연어 (인간의 언어)를 BERT가 학습할 수 있는 아래의 형태로 바꾸는 작업에 대해 알아볼 것이다. 1. Bytes > Unicode Python 3 에서 기본적으로 urllib 모듈을 통해서 .. 2021. 2. 6.
GPU Util 99% 달성하기 딥러닝 공부를 하다 보면 반드시 보게 되는 하나의 창이 있는데.. 바로 nvidia-smi 했을 때 나오는 GPU의 상태를 보여주는 창이다. 오른쪽에 보면 GPU-Util이라는 수치가 있는데, 이는 GPU가 얼마나 가용되고 있는지를 나타낸다. 높으면 높을수록 우리 충실한 일꾼이 계산을 열심히 하고 있다는 뜻이다. 학교에서 공부를 하다 보면 이 GPU-Util 수치를 중요하지 않게 생각하게 되는데 (학교에서는 그 누구도 알려주지 않기 때문에), 사실 학습 파이프라인의 기본이자 시작은 GPU를 최대한 활용하는 것이다. 혹시 이런 생각을 가지고 있진 않는가? 불과 한 달 전의 필자도 이런 생각을 가지고 있었기에, 오늘은 학습 파이프라인에서, GPU Util을 높여야 하는 이유와 방법들에 대해 포스팅을 하고자 .. 2021. 1. 30.
CycleGAN으로 성별 전환 프로그램 만들기 (2) 학교 수업의 일환으로 학교 서버를 빌렸는데, 서버가 잠깐 노는 동안 CycleGAN을 학습시켜보았습니다. 시간 부족으로 Tuning을 제대로 하지 못하여 결과가 웃기긴 하지만 어쨌든 가능성은 보이네요! CycleGAN의 코드에 대한 설명은 하지 않도록 하겠습니다. 시간이 없어 코드 정리도 제대로 못했고, 튜밍도 안되어서! 그럼 중간 결과 포스팅 해보겠습니다. 데이터 전처리 연예인의 사진에서 얼굴만 Crop 하는 전처리 과정을 거쳤다면, 이번에는 수동으로 데이터의 일관성을 맞추어주는 작업을 거쳤습니다. 제 해석으로는, 남녀의 성별적인 차이를 제외하곤 다른 차이점이 사진에 존재하지 않는 것이 학습에 유리할 것이라고 생각하였기 때문입니다. 그렇기 때문에 특이한 각도의 사진, 분장 사진과 같은 평범한 사진들과는.. 2020. 12. 11.
반응형