기본 콘텐츠로 건너뛰기

4월, 2025의 게시물 표시

IMDb 데이터셋의 label 열이 DistilBERT 모델 forward() 함수의 labels 인자로 전달되는 과정

IMDb 데이터셋의 label 열이 DistilBERT 모델 forward() 함수의 labels 인자로 전달되는 과정 1. 개요 허깅 페이스의 Transformers 라이브러리를 사용하여 모델을 훈련할 때 데이터셋의 label 항목이 어떤 과정을 거쳐 모델의 forward(..., labels, ...) 메소드로 전달되는지 설명합니다. IMDb 데이터셋에서 추출한 한 개의 데이터 예시 { "text" : "I love sci-fi..." , "label" : 0 } DistilBertForSequenceClassification 클래스의 forward() 메소드 transformers/models/distilbert/modeling_distilbert.py def forward ( . . . , labels : Optional [ torch . LongTensor ] = None , . . . ) - > Union [ SequenceClassifierOutput , Tuple [ torch . Tensor , . . . ] ] : . . . 이 문서에서는 IMDb 데이터셋과 DistilBertForSequenceClassification 모델을 사용하여 설명하지만 특정 데이터셋과 모델에만 해당하는 것은 아닙니다. 이 문서에서 등장하는 주요 API는 다음과 같습니다. datasets.default_data_collator class datasets.Dataset class datasets.DatasetDict class transformers.DataCollatorWithPadding class transformers.DistilBertForSequenceClassification class transformers.Trainer 2. ...

DistilBERT + KorQuAD MLM 훈련 소요 시간 비교 (RTX 4090, T4, A100)

DistilBERT + KorQuAD MLM 훈련 소요 시간 비교 (RTX 4090, T4, A100) 개요 BERT 계열 언어 모델 중 하나인 DistilBERT( 논문 )로 미세 조정 훈련을 수행할 때 NVIDIA GPU 모델에 따라 훈련에 걸리는 시간이 어떻게 달라지는지 궁금했습니다. 실험에 사용한 모델과 데이터셋은 다음과 같습니다. 기본 모델: distilbert-base-multilingual-cased 데이터셋: KorQuAD 1.0 미세 조정 훈련은 아래의 작업을 목표로 하였습니다. Masked Language Model (MLM) (참고: Fine-tuning a masked language model ) 그리고 훈련 소요 시간 비교를 위해 사용한 NVIDIA GPU 모델은 아래 표와 같습니다. 모델 CUDA 코어 수 Tensor 코어 수 메모리 출시 시점 실험 머신 유형 RTX 4090 16,384개 512개 (4세대) 24GB GDDR6X 2022년 데스크톱 PC T4 2,560개 320개 (2세대) 16GB GDDR6 2018년 GCP의 VM 인스턴스 A100 (40GB 기준) 6,912개 432개 (3세대) 40GB HBM2 2020년 GCP의 VM 인스턴스 RTX 4090은 PC에 장착된 것으로, T4와 A100은 GCP의 VM 인스턴스에 연결된 것으로 사용해서 환경의 차이가 있고, 또한 소요 시간에 영향을 미치는 다른 요인들도 있긴 하지만 GPU 간 소요 시간 차이를 대략적으로 확인하는 데에는 중요한 요소가 아닌 것으로 간주하였습니다. 실험 결과 실험을 위해 사용한 파이썬 스크립트 파일은 여기 에 있습니다. 사전 작업: 파이썬 패키지 설치: pip install datasets transformers accelerate 스크립트 소스 코드에서 epochs 수정: epochs = 4.0 model....

GCP에서 딥러닝을 위한 VM 인스턴스 생성

GCP에서 딥러닝을 위한 VM 인스턴스 생성 구글 클라우드 플랫폼(Google Cloud Platform, GCP)에 딥러닝 환경을 구축하고 이를 통해 실습할 수 있는 방법에 대해 설명합니다. 이 문서에서 다루는 주요 내용은 다음과 같습니다. 딥러닝을 위한 VM 인스턴스 생성 과정 로컬 컴퓨터에서 VM 인스턴스에 연결하는 과정 로컬 컴퓨터에서 JupyterLab 에 연결하는 과정 1. 브라우저에서 Google Cloud Console 연결 브라우저로 Google Cloud Console 에 연결하고 로그인 프로젝트 선택하고 프로젝트 ID 확인 프로젝트 ID: my_project 2. “Deep Learning VM” 이미지로 VM 인스턴스 생성 좌측 상단 탐색 메뉴 에서 Marketplace 항목 선택 검색 창에 " deep learning vm "을 입력하고 엔터 검색 결과에서 아래 항목 클릭 Deep Learning VM - Google Click to Deploy - 가상 머신 OS: Debian 10 또는 11 실행 버튼 클릭 아래와 같이 입력 또는 선택 (항목별 값은 각자의 상황에 맞게 변경) 배포 구성 예시 1 (예상 월별 총액 KRW 859,668/월) Deployment Deployment name: deeplearning-1 Zone: asia-northeast3-b Machien type: GPU GPU 유형: NVIDIA T4 GPU 수: 1 머신 유형: n1-highmem-8(vCPU 8개, 코어 4개, 메모리 52GB) Framework: PyTorch 2.4 (CUDA 12.4, Python 3.10) GPU Checked : Install NVIDIA GPU driver automatically on first startup? Access to the Jupyter Lab Checke...