Hugging Face Transformers와 Habana Gaudi를 사용한 BERT 사전 학습

TL;DR

Hugging Face는 AWS의 Habana Gaudi 기반 DL1 인스턴스를 사용하여 BERT-base를 처음부터 사전 학습하는 기술 가이드를 제공했습니다. optimum-habana 라이브러리를 활용함으로써, 이 과정은 동일한 NVIDIA V100 GPU 학습 설정에 비해 비용을 25% 절감합니다.

하드웨어 및 소프트웨어 스택

사전 학습은 8개의 HPU 코어를 갖춘 AWS DL1 인스턴스에서 실행됩니다. 소프트웨어 스택은 다음 Hugging Face 라이브러리를 통합합니다:

  • Transformers: 모델 아키텍처의 핵심 라이브러리.
  • Optimum Habana: Habana Gaudi 하드웨어 전용으로 설계된 표준 Hugging Face Trainer를 래핑한 GaudiTrainerGaudiTrainingArguments를 제공합니다.
  • Datasets: 사전 학습 코퍼스를 로드하고 관리하는 데 사용됩니다.

사전 학습 워크플로우

사전 학습 프로세스는 CPU 집약적인 데이터 준비와 HPU 집약적인 모델 학습으로 나뉩니다.

1. 데이터 준비 및 토크나이징

데이터 준비는 DL1 인스턴스로 이동하기 전에 CPU 최적화 인스턴스(예: AWS c6i.12xlarge)에서 수행됩니다. 워크플로에는 다음이 포함됩니다:

  • Dataset Merging: Wikipedia (20220301.en 분할)와 BookCorpus를 하나의 데이터셋으로 결합합니다.
  • Tokenizer Training: 어휘 크기 32,000 토큰인 새로운 BertTokenizerFast를 처음부터 학습합니다.
  • Preprocessing: 텍스트를 토크나이징하고 BERT의 최대 시퀀스 길이인 512 토큰 단위로 묶으며, 이 한도를 초과하는 문서는 잘라냅니다.

2. 마스크드 언어 모델링(MLM)을 통한 모델 학습

BERT는 마스크드 언어 모델링(MLM)을 사용해 사전 학습됩니다. MLM은 모델이 양방향 컨텍스트를 활용해 문장 내 숨겨진 단어를 예측하는 작업입니다.

DL1 인스턴스의 8개 HPU 코어를 활용하기 위해, 학습은 run_mlm.py 스크립트와 optimum-habanaDistributedRunner(또는 gaudi_spawn.py)를 사용한 분산 데이터 병렬 학습으로 구현됩니다.

성능 및 비용 분석

학습 시간 및 비용

Hugging Face는 전역 배치 크기 256, 100,000 스텝 실행을 벤치마크했으며, 약 12.5시간이 소요되었습니다. 이를 원래 BERT 사전 학습 요구인 1백만 스텝으로 외삽하면:

  • 총 예상 시간: 125시간.
  • 총 예상 비용: AWS에서 Habana Gaudi를 사용해 약 $1,650.

GPU 기준과 비교

DGX-2(16 NVIDIA V100 GPU)에서 가장 빠른 BERT 사전 학습을 위한 DeepSpeed 기록과 비교하면, Habana Gaudi 접근 방식은 상당한 비용 절감을 제공합니다:

  • GPU 비용 추정: AWS p3dn.24xlarge 인스턴스(8x V100 32GB)를 기준으로 하면 유사한 설정에 약 $2,075가 소요됩니다.
  • 비용 절감: Habana Gaudi는 V100 기반 설정에 비해 25% 비용을 절감합니다.

특히, 저자는 DeepSpeed 최적화 없이 GPU 학습 비용이 약 $3,000–$4,000까지 증가할 수 있다고 관찰했습니다.

도메인 적응에 대한 시사점

처음부터 사전 학습하면 조직이 모델을 특정 언어 또는 전문 도메인에 맞게 조정할 수 있습니다. 출처에 따르면, 이 과정은 일반 목적 BERT 모델을 사용할 때보다 모델 정확도를 최대 10%까지 향상시킬 수 있습니다.

SUMMARY: Hugging Face는 AWS의 Habana Gaudi DL1 인스턴스를 사용하여 BERT-base를 처음부터 사전 학습하는 방법을 보여주며, NVIDIA V100 GPU 기반 학습에 비해 25% 비용 절감을 달성했습니다.

TITLE: Hugging Face Transformers와 Habana Gaudi를 사용한 BERT 사전 학습

Sources