본문 바로가기

BERT2

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.