PyTorch 예비 훈련 Bert 모델 의 예시
1.transformers 프레임 워 크 를 사용 하여 예비 훈련 을 하 는 bert-base 모델;
2.개발 플랫폼 은 구 글 의 Colab 플랫폼 을 사용 하고 성 매수 GPU 를 가속 화 합 니 다.
3.datasets 모듈 을 사용 하여 IMDB 영상 평가 데 이 터 를 훈련 데이터 로 다운로드 합 니 다.
트랜스 포 머 모듈 안내
transformers 프레임 워 크 는 Huggingface 오픈 소스 의 깊이 있 는 학습 프레임 워 크 로 거의 모든 Transformer 구조의 예비 훈련 모델 을 지원 합 니 다.사용 이 매우 편리 하 다.본 고 는 이 구 조 를 바탕 으로 예비 훈련 모델 의 사용 을 시도 하고 간단 하고 사용 하기 쉽다.
bert-large 모델 을 미리 훈련 하려 고 했 는데 colab 에 GPU 메모리 가 부족 해서 base 버 전 만 사용 할 수 있 었 습 니 다.colab 를 열 고 GPU 가속 을 설정 한 다음 코드 를 소개 합 니 다.
코드 구현
우선 데이터 다운로드 모듈 과 transformers 패 키 지 를 설치 합 니 다.
pip install datasets
pip install transformers
datasets 를 사용 하여 IMDB 데 이 터 를 다운로드 하고 DatasetDict 형식의 데 이 터 를 되 돌려 줍 니 다.되 돌아 오 는 데 이 터 는 텍스트 형식 이 므 로 인 코딩 이 필요 합 니 다.다음은 tokenizer 를 사용 하여 인 코딩 을 진행 합 니 다.
from datasets import load_dataset
imdb = load_dataset('imdb')
print(imdb['train'][:3]) # 3
다음은 tokenizer 와 모델 을 불 러 옵 니 다.transformers 에서 AutoModel ForSequence Classification,AutoTokenizer 를 가 져 와 모델 과 tokenizer 를 만 듭 니 다.
from transformers import AutoModelForSequenceClassification, AutoTokenizer
model_checkpoint = "bert-base-uncased"
tokenizer = AutoTokenizer.from_pretrained(model_checkpoint)
model = AutoModelForSequenceClassification.from_pretrained(model_checkpoint, num_labels=2)
원본 데 이 터 를 인 코딩 하고 일괄(batch)
def preprocessing_func(examples):
return tokenizer(examples['text'],
padding=True,
truncation=True, max_length=300)
batch_size = 16
encoded_data = imdb.map(preprocessing_func, batched=True, batch_size=batch_size)
위 에서 인 코딩 데 이 터 를 얻 었 습 니 다.매번 16 으로 설정 한 다음 에 훈련 할 매개 변 수 를 지정 해 야 합 니 다.훈련 매개 변 수 는 transformers 가 제시 한 인터페이스 류 Training Arguments 를 사용 하고 모델 의 훈련 은 Trainer 를 사용 할 수 있 습 니 다.
from transformers import Trainer, TrainingArguments
args = TrainingArguments(
'out',
per_device_train_batch_size=batch_size,
per_device_eval_batch_size=batch_size,
learning_rate=5e-5,
evaluation_strategy='epoch',
num_train_epochs=10,
load_best_model_at_end=True,
)
trainer = Trainer(
model,
args=args,
train_dataset=encoded_data['train'],
eval_dataset=encoded_data['test'],
tokenizer=tokenizer
)
훈련 모형 은 트 레이 너 대상 의 트 레이 닝 방법 을 사용한다.
trainer.train()
평가 모델 은 trainer 대상 의 evaluate 방법 을 사용 합 니 다.
trainer.evaluate()
총결산본 고 는 transformers 프레임 워 크 를 바탕 으로 이 루어 진 bert 예비 훈련 모델 을 소개 했다.이 프레임 워 크 는 매우 우호 적 인 인 인 터 페 이 스 를 제공 하여 독자 들 이 각종 예비 훈련 모델 을 시도 하 는 데 편리 하도록 한다.또한 datasets 는 NLP 를 배 울 수 있 는 여러 가지 문 제 를 많이 제공 합 니 다.게다가 구 글 이 제공 하 는 colab 환경 은 데이터 다운로드 와 예비 훈련 모델 다운로드 가 매우 빠 르 기 때문에 독자 들 이 스스로 단약 을 제련 하 는 것 을 권장 합 니 다데이터 세트
이상 은 PyTorch 예비 훈련 Bert 모델 의 예제 에 대한 상세 한 내용 입 니 다.PyTorch 예비 훈련 Bert 모델 에 관 한 자 료 는 다른 관련 글 을 주목 하 세 요!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
IceVision에서 형식별 데이터를 읽는 방법2021년에 가장 멋있는 물체 검출 프레임워크라고 해도 과언이 아닌 IceVision을 사용해, VOC format과 COCO format의 데이터 세트에 대해 Object Detection을 간단하게 실시하기 위한...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.