강좌
클라우드/리눅스에 관한 강좌입니다.
클라우드 분류

[KT클라우드]BERT

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

BERT는 대표적인 Transformer 언어 모델 중 하나입니다. BERT 모델은 단어 한 개가 누락된 문장을 입력으로 받아, 해당 위치에 들어가기에 가장 적합한 단어가 무엇인지 맞추는 과정을 학습합니다. 다른 종류의 자연어 처리 작업(예: question answering)에 BERT를 사용하고자 하는 경우 기 학습된 모델을 주어진 작업에 맞게 추가로 학습시켜 활용합니다.
Hyperscale AI Computing 서비스를 사용해 한국어 기반 BERT-Base 모델을 학습시킬 수 있습니다. 또한 학습된 모델을 사용하여 한국어 문장 중간의 비어 있는 단어를 자동 완성하는 기능을 제공합니다. BERT-Base 모델의 pre-training 및 추론을 위한 PyTorch 스크립트와, 실제 모델 학습을 시켜 보기 위한 한국어 위키백과 데이터셋을 제공합니다.
VM 생성 권장 사양
GoogLeNet 학습을 위해서는 최소 다음 사양으로 VM을 생성하기를 권장합니다.
  • OS: Ubuntu 18.04
  • CPU: 16 vCore
  • 메인 메모리: 128 GB
  • VM 생성 시 Hyperscale AI Computing 서비스가 제공하는 여러 가지 AI 가속기 모델 중 한 가지를 선택해야 합니다. AI 가속기 모델에 따라 BERT-base 모델의 학습 시간이 달라집니다. 다음 계산 성능 측정치를 참고하여 AI 가속기 모델을 선택하십시오. 특히 BERT-Base 학습 용도로는 xlarge.96gb 이상의 모델을 선택하시기를 권장합니다. 그 이하의 AI 가속기에서는 학습 시간이 지나치게 오래 걸릴 수 있습니다. 너무 부담 가지실 필요는 없습니다 — VM을 생성한 후에도 언제든지 필요하다면 AI 가속기 모델을 다른 것으로 변경할 수 있습니다.
AI 가속기 모델학습 처리 속도(초당 이미지 학습량)샘플 데이터 1회 학습(1 epoch)시 소요 시간
xlarge.96gb51.9개54시간 34분
2xlarge.192gb97.8개28시간 56분
3xlarge.288gb147.1개19시간 18분
4xlarge.384gb188.9개15시간 1분
위 성능은 테스트 환경에서 측정된 것으로 실 사용 환경에서는 차이가 생길 수 있습니다.
또한 VM의 reference model로는 NLP 카테고리의 BERT 모델을 선택하십시오. 마지막으로 "생성하기" 버튼을 클릭하면 VM 생성이 완료됩니다.
모델 코드 및 샘플 데이터 설치
VM에 접속하면 홈 디렉터리 밑에 install.sh 스크립트가 위치하고 있습니다. 이를 실행하여 BERT-base 모델 코드 및 샘플 데이터를 설치하십시오. 설치에는 수 분 정도가 걸릴 수 있습니다. 설치 중에 VM 접속이 끊어지지 않도록 유의하십시오.
설치가 완료되면 홈 디렉터리 밑에 bert, dataset/kor_wiki 디렉터리가 생성됩니다. bert 디렉터리에는 BERT-Base 모델 학습/추론을 위한 PyTorch 스크립트가 들어 있습니다. dataset/kor_wiki 디렉터리에는 샘플 데이터로 사용 가능한 한국어 위키백과 데이터셋이 저장되어 있습니다.
설치가 정상적으로 이루어졌다면 홈 디렉터리 밑의 downloads 디렉터리는 지워도 무방합니다.
(pytorch) ubuntu@vm:~$ ls
install.sh  sample
(pytorch) ubuntu@vm:~$ ./install.sh
 
- Installing bert reference code...
(중략)
Install complete!
 
- Reference code of bert   : [ OK    ] (Saved at /home/ubuntu/bert)
- Dataset kor_wiki         : [ OK    ] (Saved at /home/ubuntu/dataset/kor_wiki)
- Link dataset             : [ OK    ] (Linked dataset at /home/ubuntu/bert/data)
 
(pytorch) ubuntu@vm:~$ ls
bert  dataset  downloads  install.sh  sample
(pytorch) ubuntu@vm:~$ ls dataset
kor_wiki
(pytorch) ubuntu@vm:~$ ls bert
bert.py  data  dataset  default_bert_config.yml  inference.py  optimizer  requirements.txt  train.py  utils.py
Hyperscale AI Computing 시스템 환경 확인
VM에는 기본적으로 Python 3.8, PyTorch 1.7.1 및 Hyperscale AI Computing 지원을 위한 플러그인이 설치되어 있습니다. 다음과 같이 실행하여 PyTorch 버전 및 Hyperscale AI Computing 플러그인 버전 정보를 확인할 수 있습니다.
(pytorch) ubuntu@vm:~$ python
Python 3.8.12 (default, Oct 12 2021, 13:49:34)
[GCC 7.5.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.__version__
'1.7.1'
>>> torch.version.moreh
'0.8.0'
>>> quit()
(pytorch) ubuntu@vm:~$
또한 터미널에서 moreh-smi 명령을 실행하여 VM에 연결된 AI 가속기 정보를 확인할 수 있습니다.
(pytorch) ubuntu@vm:~$ moreh-smi
+--------------------------------------------------------------------------------------------------------------+
|  Moreh-SMI 0.8.0                                               Client Version: 0.8.0  Server Version: 0.8.0  |
+--------------------------------------------------------------------------------------------------------------+
|  Device  |        Name         |            Token           |     Model    |  Memory Usage  |  Total Memory  |
+==============================================================================================================+
|       1  |  KT AI Accelerator  |  ZXhhbXBsZSB0b2tlbiBzdHI=  |  small.16gb  |  -             |  -             |
+--------------------------------------------------------------------------------------------------------------+
 
Processes:
+----------------------------------------------------------+
|  Device  |  Job ID  |  PID  |  Process  |  Memory Usage  |
+==========================================================+
+----------------------------------------------------------+
BERT 학습 시작하기
홈 디렉터리 아래의 BERT 디렉터리로 이동한 다음 train.py 스크립트를 실행하여 BERT-Base 모델 학습을 시작할 수 있습니다.
(pytorch) ubuntu@vm:~$ cd ~/bert
(pytorch) ubuntu@vm:~/bert$ python train.py --save-model model.pt -b 60
| INFO     | __main__:parse_args:199 - PARAMETER | mode : train
| INFO     | __main__:parse_args:199 - PARAMETER | load_checkpoint :
| INFO     | __main__:parse_args:199 - PARAMETER | checkpoint_path : ./checkpoint
| INFO     | __main__:parse_args:199 - PARAMETER | checkpoint_epoch_interval : 0
| INFO     | __main__:parse_args:199 - PARAMETER | num_samples_per_checkpoint : 500000
...
[info] Requesting resources for KT AI Accelerator from the server...
[info] Initializing the worker daemon for KT AI Accelerator...
[info] [1/1] Connecting to resources on the server (192.168.00.00:00000)...
[info] Establishing links to the resources...

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,810 개
  • 현재 접속자 :  123 명