PyTorch로 AI 모델 효율적으로 학습시키기
Dennis Lee
Data Engineer, Amazon

from datasets import load_dataset
dataset = load_dataset("glue", "mrpc")
print(dataset)
DatasetDict({
train: Dataset({
features: ['sentence1', 'sentence2', 'label', 'idx'],
})
validation: Dataset({
features: ['sentence1', 'sentence2', 'label', 'idx'],
})
test: Dataset({
features: ['sentence1', 'sentence2', 'label', 'idx'],
})
})
dataset["train"]
sentence1, sentence2, labeldataset["train"]["sentence1"]
tokenizer = AutoTokenizer.from_pretrained("distilbert-base-cased")
sentence1과 sentence2 추출truncation: 최대 길이(512 토큰) 초과 시 입력 잘라내기padding: 모든 입력 길이를 맞추기 위해 짧은 시퀀스를 0으로 패딩def encode(example):return tokenizer( example["sentence1"], example["sentence2"],truncation=True,padding="max_length", )
map을 사용하여 훈련 분할의 각 예제에 encode 적용train_dataset = dataset["train"].map(encode, batched=True)
label을 labels로 이름 변경train_dataset = train_dataset.map(
lambda examples: {"labels": examples["label"]}, batched=True
)
dataloader = DataLoader(train_dataset, batch_size=32, shuffle=True)
dataloader = accelerator.prepare(dataloader)
DataLoader 내 모든 PyTorch 데이터셋(torch.utils.data.Dataset)과 호환checkpoint_dir = Path("preprocess_checkpoint")
accelerator.save_state(checkpoint_dir)
accelerator.load_state(checkpoint_dir)
PyTorch로 AI 모델 효율적으로 학습시키기