Praproses teks untuk pelatihan

Pelatihan Model AI Efisien dengan PyTorch

Dennis Lee

Data Engineer, Amazon

Transformasi teks: menyiapkan data untuk keandalan model

  • Ringkas teks dalam dokumen
  • Identifikasi parafrase
  • Dataset MRPC: pasangan kalimat dengan label

Tumpukan tinggi dokumen yang perlu ditinjau.

Pelatihan Model AI Efisien dengan PyTorch

Struktur dataset

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'],
    })
})
Pelatihan Model AI Efisien dengan PyTorch

Memanipulasi dataset teks

  • Kamus bertingkat untuk split train/validation/test
  • Contoh akses split train:
dataset["train"]
  • Akses fitur spesifik dataset dalam suatu split
  • Fitur MRPC: sentence1, sentence2, label
dataset["train"]["sentence1"]
  • Muat tokenizer pra-latih
tokenizer = AutoTokenizer.from_pretrained("distilbert-base-cased")
Pelatihan Model AI Efisien dengan PyTorch

Definisikan fungsi encoding

  • Definisikan fungsi untuk mengenkode contoh dari dataset
  • Panggil tokenizer; ambil sentence1 dan sentence2 dari contoh latih
  • truncation: Potong input jika melebihi panjang maks (512 token)
  • padding: Tambah nol pada urutan pendek agar panjang seragam
def encode(example):

return tokenizer( example["sentence1"], example["sentence2"],
truncation=True,
padding="max_length", )
Pelatihan Model AI Efisien dengan PyTorch

Format nama kolom

  • Terapkan encode ke tiap contoh di split train dengan map
train_dataset = dataset["train"].map(encode, batched=True)
  • Ubah nama label menjadi labels
train_dataset = train_dataset.map(
    lambda examples: {"labels": examples["label"]}, batched=True
)
  • Lihat kebutuhan kolom model di dokumentasi Hugging Face
Pelatihan Model AI Efisien dengan PyTorch

Menyimpan dan memuat checkpoint

  • Tempatkan dataset pada GPU yang tersedia
dataloader = DataLoader(train_dataset, batch_size=32, shuffle=True)
dataloader = accelerator.prepare(dataloader)
  • Berfungsi dengan dataset PyTorch apa pun (torch.utils.data.Dataset) dalam DataLoader
  • Simpan status teks yang telah dipraproses (checkpoint)
checkpoint_dir = Path("preprocess_checkpoint")
accelerator.save_state(checkpoint_dir)
  • Muat checkpoint saat melanjutkan pelatihan
accelerator.load_state(checkpoint_dir)
Pelatihan Model AI Efisien dengan PyTorch

Ayo berlatih!

Pelatihan Model AI Efisien dengan PyTorch

Preparing Video For Download...