Eğitim için metni ön işleme

PyTorch ile Verimli AI Model Eğitimi

Dennis Lee

Data Engineer, Amazon

Metin dönüşümü: modeli ustalaştırmak için veriyi hazırlama

  • Belgelerde metni özetleyin
  • Parafraz tespiti
  • MRPC veri kümesi: etiketli cümle çiftleri

Gözden geçirilmesi gereken uzun bir belge yığını.

PyTorch ile Verimli AI Model Eğitimi

Veri kümesi yapısı

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'],
    })
})
PyTorch ile Verimli AI Model Eğitimi

Metin veri kümesini işleme

  • Train/validation/test bölümlerinden oluşan iç içe sözlük
  • Train bölümüne erişim örneği:
dataset["train"]
  • Bir bölüm içindeki veri kümesine özgü özelliklere erişin
  • MRPC özellikleri: sentence1, sentence2, label
dataset["train"]["sentence1"]
  • Önceden eğitilmiş tokenizer’ı yükleyin
tokenizer = AutoTokenizer.from_pretrained("distilbert-base-cased")
PyTorch ile Verimli AI Model Eğitimi

Kodlama işlevi tanımlama

  • Veri kümesindeki örnekleri kodlamak için bir işlev tanımlayın
  • Tokenizer’ı çağırın; eğitim örneğinden sentence1 ve sentence2 alın
  • truncation: Girdi azami uzunluğu (512 token) aşarsa keser
  • padding: Tüm girdiler aynı uzunlukta olsun diye kısa dizileri sıfırlarla doldurur
def encode(example):

return tokenizer( example["sentence1"], example["sentence2"],
truncation=True,
padding="max_length", )
PyTorch ile Verimli AI Model Eğitimi

Sütun adlarını biçimlendirme

  • map ile train bölümündeki her örneğe encode uygulayın
train_dataset = dataset["train"].map(encode, batched=True)
  • label alanını labels olarak yeniden adlandırın
train_dataset = train_dataset.map(
    lambda examples: {"labels": examples["label"]}, batched=True
)
  • Sütun gereksinimleri için Hugging Face dokümantasyonuna bakın
PyTorch ile Verimli AI Model Eğitimi

Checkpoint’leri kaydetme ve yükleme

  • Veri kümesini uygun GPU’lara yerleştirin
dataloader = DataLoader(train_dataset, batch_size=32, shuffle=True)
dataloader = accelerator.prepare(dataloader)
  • DataLoader içindeki herhangi bir PyTorch veri kümesi (torch.utils.data.Dataset) ile çalışır
  • Ön işlenmiş metnin durumunu checkpoint olarak kaydedin
checkpoint_dir = Path("preprocess_checkpoint")
accelerator.save_state(checkpoint_dir)
  • Eğitime devam etmek istediğinizde checkpoint’i yükleyin
accelerator.load_state(checkpoint_dir)
PyTorch ile Verimli AI Model Eğitimi

Hadi pratik yapalım!

PyTorch ile Verimli AI Model Eğitimi

Preparing Video For Download...