เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

Transfer learning ด้วย BERT

ที่ PyBooks บริษัทตัดสินใจนำโมเดล BERT ซึ่งเป็น pre-trained transformer model มาใช้สำหรับการวิเคราะห์ความรู้สึก (sentiment analysis) BERT แสดงให้เห็นประสิทธิภาพที่โดดเด่นในงาน NLP หลากหลายประเภท จึงเหมาะอย่างยิ่งสำหรับกรณีนี้

งานของคุณคือตั้งค่า workflow เบื้องต้นโดยใช้โมเดล BERT จากไลบรารี transformers เพื่อจำแนกความรู้สึกแบบ binary

สิ่งต่อไปนี้ถูก import ไว้ให้แล้ว: BertTokenizer, BertForSequenceClassification, torch ข้อมูลตัวอย่าง texts และ labels ที่สอดคล้องกันก็ถูกโหลดไว้ล่วงหน้าแล้วเช่นกัน

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Deep Learning สำหรับข้อความด้วย PyTorch

ดูคอร์ส

คำแนะนำการฝึกหัด

  • โหลด tokenizer และโมเดล bert-base-uncased ที่เหมาะสำหรับการจำแนกประเภทแบบ binary
  • Tokenize ชุดข้อมูลและเตรียมข้อมูลให้พร้อมสำหรับโมเดล โดยกำหนดอาร์กิวเมนต์ return_tensors ให้คืนค่าเป็น PyTorch tensors
  • ตั้งค่า optimizer โดยใช้ parameters ของโมเดล

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Load the BERT tokenizer and model
tokenizer = BertTokenizer.from_pretrained('____')
model = BertForSequenceClassification.from_pretrained('____', num_labels=____)

# Tokenize your data and return PyTorch tensors
inputs = tokenizer(____, padding=True, truncation=True, return_tensors="____", max_length=32)
inputs["labels"] = torch.tensor(labels)

# Setup the optimizer using model parameters
optimizer = torch.optim.AdamW(____, lr=0.00001)
model.train()
for epoch in range(2):
    outputs = model(**inputs)
    loss = outputs.loss
    loss.backward()
    optimizer.step()
    optimizer.zero_grad()
    print(f"Epoch: {epoch+1}, Loss: {loss.item()}")
แก้ไขและรันโค้ด