
Menyempurnakan model Wajah Memeluk melibatkan adaptasi model pra-terlatih ke tugas spesifik yang ada dengan melakukan pelatihan tambahan dengan kumpulan data yang lebih kecil. Teknik ini bermanfaat, karena memungkinkan kita memanfaatkan pengetahuan umum yang luas dari model pra-pelatihan dan lebih fokus pada kekhasan tugas kita.
Proses Penyetelan Halus
Langkah pertama dalam menyempurnakan model Hugging Face adalah memilih model terlatih yang sesuai untuk tugas tersebut. Model yang umum digunakan termasuk BERT, GPT-2, dan RoBERTa. Penting untuk mengimpor perpustakaan yang diperlukan, seperti Hugging Face's perpustakaan transformer, PyTorch, atau TensorFlow.
import torch from transformers import AutoTokenizer, AutoModelForSequenceClassification
Setelah mengimpor, pilih model terlatih dan buat instance tokenizer dan model, pastikan untuk menentukan checkpoint model dan jenis model yang benar.
model_checkpoint = "distilbert-base-uncased-finetuned-sst-2-english" tokenizer = AutoTokenizer.from_pretrained(model_checkpoint) model = AutoModelForSequenceClassification.from_pretrained(model_checkpoint)
Selanjutnya, siapkan dataset Anda untuk fine-tuning. Ini mungkin termasuk tokenization, padding, dan pembuatan batch. Gunakan metode `encode_plus` tokenizer untuk membuat token teks input, dan membuat DataLoader untuk pengelompokan data.
from torch.utils.data import DataLoader # Tokenize the dataset inputs = tokenizer(sentences, return_tensors="pt", padding=True, truncation=True) # Create a DataLoader dataloader = DataLoader(inputs, batch_size=16)
Setelah kumpulan data siap, Anda dapat memulai proses penyempurnaan yang sebenarnya. Tentukan a lingkaran pelatihan dengan pengoptimal tertentu, seperti AdamW, dan penjadwal laju pembelajaran. Perbarui bobot model secara iteratif sambil meminimalkan fungsi kerugian.
from transformers import AdamW, get_linear_schedule_with_warmup
optimizer = AdamW(model.parameters(), lr=5e-5)
scheduler = get_linear_schedule_with_warmup(optimizer, num_warmup_steps=100, num_training_steps=len(dataloader))
for batch in dataloader:
outputs = model(**batch)
loss = outputs.loss
loss.backward()
optimizer.step()
scheduler.step()
optimizer.zero_grad()
Setelah penyempurnaan, evaluasi model pada set pengujian dan simpan untuk digunakan nanti jika diperlukan.
Perpustakaan dan Fungsi
Beberapa pustaka dan fungsi utama sangat penting dalam proses penyempurnaan:
- Perpustakaan transformer: Dikembangkan oleh Hugging Face, library ini menawarkan berbagai model pra-pelatihan dan sangat penting untuk penyempurnaan. Ini mendukung kerangka kerja PyTorch dan TensorFlow.
- PyTorch/TensorFlow: Kerangka pembelajaran mendalam yang populer ini menyediakan alat penting untuk pelatihan model, seperti pengoptimal dan penjadwal laju pembelajaran, yang diperlukan selama penyempurnaan.
- AdamW: Ini adalah implementasi PyTorch dari pengoptimal Adam yang populer dengan penurunan bobot bawaan. Ini banyak digunakan untuk menyempurnakan model Transformer.
- dapatkan_jadwal_linier_dengan_pemanasan: Penjadwal laju pembelajaran ini, yang disediakan oleh pustaka Transformers, secara bertahap meningkatkan laju pembelajaran di awal pelatihan untuk menghindari perubahan mendadak dan menurunkannya secara halus di akhir pelatihan untuk menyempurnakannya secara lebih efektif.
Sebagai kesimpulan, menyempurnakan model Hugging Face Transformer adalah teknik penting untuk mencapai kinerja tinggi pada tugas NLP tertentu. Dengan memahami proses, kode, serta pustaka dan fungsi yang terlibat, Anda dapat membuat model yang dibuat khusus yang unggul dalam berbagai aplikasi.