Dev/Research3 Tokenizer 비교 실험 (형태소 분석, word piece) * Environment : Ubuntu 18.04, Python 3.8.3 * Dataset : Korean Wikipedia 토크나이저의 방식은 크게 두가지 방식으로 볼 수 있다. Word piece 혹은 subword segmentation으로 한 단어를 세부 단어로 분리하는 방식과 형태소 분석 방식이 있다. 영어를 기반으로 발전되었기에 word piece 방식이 다양하고 속도측면에서 빠르지만, 한국어의 특성상 형태소 분석 방식이 좀 더 적합하기는 하다. 그래서 두가지 tokenizing 방식에 대해 (미루고 미루던) 비교 실험을 진행해보았다! 간략하게 정리하자면, 공개된 패키지 기반으로 각 방식마다 알려진 것은 표에 정리해두었다. Word piece Morphology BPE (ACL 2015, .. 2020. 8. 6. Tensorflow mirrored strategy 사용하여 2개 GPU로 BERT fine-tuning 학습하기 Horovod로도 해봤지만 Tensorflow 내에서 기본적으로 제공하는 패키지를 사용하여 여러 개의 GPU로 분산학습이 가능하다. 이번엔 추가 프레임워크 사용없이 Tensorflow 내에서 해보고자 한다. * Environment : Ubuntu 18.04, CUDA 10.0, CuDNN 7.6.5, 2 * Titan RTX, Tensorflow 1.14, Anaconda, Python 3.6.5 * Model : BERT Multilingual cased model * Dataset : SQuAD 2.0 공식 문서와 colab으로 자세하게 설명이 되어있지만, 내 코드에 적용시키기 위한 충분한 설명이 아니어서 이를 구현하는 데에는 시간이 조금 필요했다. 이번에 사용할 분산 방법은 Mirrored Str.. 2020. 6. 5. 2개의 GPU로 BERT SQuAD2.0 fine-tuning training 하기 연구실 PC를 Titan RTX (24GB) GPU를 사용해서 하는데 기존 레퍼지토리에서 가이드로 제공하는 것보다 2배의 RAM인데, batch size 2배로 돌리면 OOM 에러가 뜬다.. 그래서 Titan RTX GPU를 하나 더 받아, 더 큰 배치사이즈로도 돌려보기로 하였다. 우선 나에겐 GPU PC가 처음이었고 낯설어 multi gpu를 사용하기 위해서 새로이 학습하고 찾아봐야했다. 찾아보았을 때 Horovod를 사용하여 multi gpu를 주로 사용한다고 하여 이를 따라보기로 했다. What is Horovod ? * Motivation : single-GPU 학습 스크립트를 쉽게 가져오고 이를 성공적으로 scalable하게 여러 GPU에서 병렬적으로 학습할 수 있도록 하는 것 - 프로그램을 배.. 2020. 5. 21. 이전 1 다음