Κοινή χρήση τεχνολογίας

Πώς να χρησιμοποιήσετε το BERT για εργασίες κατάντη - Οδηγός Transformer

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Το BERT, Αμφίδρομες Αντιπροσωπείες Κωδικοποιητή από το Transformers, είναι ένα προεκπαιδευμένο μοντέλο γλώσσας που κυκλοφόρησε από την Google το 2018. Η εμφάνιση του BERT σηματοδοτεί ένα σημαντικό ορόσημο στον τομέα της επεξεργασίας φυσικής γλώσσας, καθώς βελτιώνει σημαντικά την απόδοση πολλαπλών γλωσσικών εργασιών. Αυτό το άρθρο θα εισαγάγει λεπτομερώς τον τρόπο χρήσης του BERT για εργασίες μεταγενέστερης ροής για να βοηθήσει όλους να κατανοήσουν και να εφαρμόσουν καλύτερα αυτό το ισχυρό εργαλείο.

Τι είναι ο BERT;

Το BERT είναι ένα μοντέλο γλώσσας που βασίζεται στην αρχιτεκτονική του Transformer. Σε αντίθεση με τα προηγούμενα γλωσσικά μοντέλα, το BERT υιοθετεί μια αμφίδρομη μέθοδο εκπαίδευσης και μπορεί να λαμβάνει υπόψη πληροφορίες συμφραζομένων ταυτόχρονα, γεγονός που το κάνει να αποδίδει καλά σε μια ποικιλία εργασιών. Η βασική ιδέα του BERT είναι να επιτύχει εξαιρετική απόδοση μέσω εκτεταμένης προεκπαίδευσης χωρίς επίβλεψη και στη συνέχεια λεπτομέρειας σε συγκεκριμένες εργασίες.

Προεκπαίδευση και τελειοποίηση του BERT

Η εκπαιδευτική διαδικασία του BERT χωρίζεται σε δύο στάδια: προ-προπόνηση και τελειοποίηση.

  1. προ-προπόνηση : Σε αυτό το στάδιο, ο BERT εκπαιδεύεται μέσω μεγάλου όγκου δεδομένων κειμένου και οι εργασίες περιλαμβάνουν Μοντέλο Μασκοφόρου Γλώσσας (MLM) και Πρόβλεψη Επόμενης Προτάσεως (NSP). Η εργασία MLM απαιτεί από το μοντέλο να προβλέψει καλυμμένες λέξεις, ενώ η εργασία NSP απαιτεί από το μοντέλο να προβλέψει εάν δύο προτάσεις είναι συνεχείς.

  2. τελειοποίηση : Αφού ολοκληρωθεί η προεκπαίδευση, πρέπει να ρυθμίσουμε το μοντέλο σύμφωνα με συγκεκριμένες εργασίες κατάντη. Οι μεταγενέστερες εργασίες μπορεί να είναι η ταξινόμηση, η παλινδρόμηση, η απάντηση σε ερωτήσεις, η αναγνώριση ονομαστικής οντότητας κ.λπ. Με περαιτέρω εκπαίδευση σε σύνολα δεδομένων για συγκεκριμένες εργασίες, το BERT μπορεί να προσαρμοστεί καλύτερα στις ανάγκες συγκεκριμένων εργασιών.

Πώς να χρησιμοποιήσετε το BERT για εργασίες κατάντη

Στη συνέχεια, θα εισαγάγουμε τον τρόπο χρήσης του BERT για εργασίες ταξινόμησης κειμένου μέσω ενός συγκεκριμένου παραδείγματος.

Βήμα 1: Εγκαταστήστε τις απαραίτητες βιβλιοθήκες

Αρχικά, πρέπει να εγκαταστήσουμε τη βιβλιοθήκη Transformers, η οποία είναι μια πολύ δημοφιλής βιβλιοθήκη που παρέχεται από την Hugging Face, η οποία μας επιτρέπει να χρησιμοποιούμε διάφορα προεκπαιδευμένα μοντέλα γλώσσας.

pip install transformers
pip install torch
  • 1
  • 2
Βήμα 2: Φορτώστε το προεκπαιδευμένο μοντέλο και τα δεδομένα

Πρέπει να φορτώσουμε το προεκπαιδευμένο μοντέλο BERT και το αντίστοιχο Tokenizer από τη βιβλιοθήκη μοντέλων του Hugging Face.

from transformers import BertTokenizer, BertForSequenceClassification
from transformers import Trainer, TrainingArguments

# 加载预训练的BERT模型和Tokenizer
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
model = BertForSequenceClassification.from_pretrained('bert-base-uncased', num_labels=2)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
Βήμα 3: Προετοιμάστε δεδομένα

Για να πραγματοποιήσουμε ταξινόμηση κειμένου, πρέπει να μετατρέψουμε τα δεδομένα κειμένου σε μια μορφή εισόδου αποδεκτή από το μοντέλο. Αυτό συνήθως περιλαμβάνει τη δημιουργία διακριτικών και τη μετατροπή κειμένου σε αναγνωριστικά διακριτικών και τη δημιουργία μασκών προσοχής.

# 示例数据
texts = ["I love programming.", "I hate bugs."]
labels = [1, 0]

# 数据预处理
inputs = tokenizer(texts, return_tensors='pt', padding=True, truncation=True)
inputs['labels'] = torch.tensor(labels)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
Βήμα 4: Βελτιστοποιήστε το μοντέλο

Χρησιμοποιώντας το Trainer API, μπορούμε εύκολα να προσαρμόσουμε το μοντέλο. Πρώτα, πρέπει να ορίσετε τις παραμέτρους εκπαίδευσης και, στη συνέχεια, να καλέσετε τον Εκπαιδευτή για εκπαίδευση.

training_args = TrainingArguments(
    output_dir='./results',          # 输出目录
    num_train_epochs=3,              # 训练的epoch数
    per_device_train_batch_size=4,   # 训练时每个设备的batch size
    per_device_eval_batch_size=8,    # 评估时每个设备的batch size
    warmup_steps=500,                # 预热步数
    weight_decay=0.01,               # 权重衰减
    logging_dir='./logs',            # 日志目录
    logging_steps=10,
)

trainer = Trainer(
    model=model,
    args=training_args,
    train_dataset=inputs,
    eval_dataset=inputs
)

# 开始训练
trainer.train()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
Βήμα 5: Αξιολόγηση και πρόβλεψη

Αφού ολοκληρωθεί η εκπαίδευση, μπορούμε να χρησιμοποιήσουμε το εκπαιδευμένο μοντέλο για αξιολόγηση και πρόβλεψη. Για την αξιολόγηση, μπορούμε να χρησιμοποιήσουμε το σύνολο επικύρωσης για να υπολογίσουμε δείκτες όπως η ακρίβεια για την πρόβλεψη, μπορούμε να εισάγουμε νέο κείμενο και να πάρουμε τα αποτελέσματα ταξινόμησης.

# 评估
results = trainer.evaluate()
print(results)

# 预测
test_texts = ["I enjoy learning new things.", "I dislike errors."]
test_inputs = tokenizer(test_texts, return_tensors='pt', padding=True, truncation=True)
predictions = model(**test_inputs)
print(predictions)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

Σενάρια εφαρμογής BERT

Εκτός από την ταξινόμηση κειμένου, το BERT αποδίδει επίσης καλά σε άλλες εργασίες επεξεργασίας φυσικής γλώσσας. Για παράδειγμα:

  • σύστημα ερωτήσεων και απαντήσεων: Το BERT μπορεί να χρησιμοποιηθεί για τη δημιουργία ενός ισχυρού συστήματος ερωτήσεων και απαντήσεων που μπορεί να απαντήσει με ακρίβεια στις ερωτήσεις των χρηστών μέσω της κατανόησης του περιβάλλοντος.
  • Αναγνώριση ονομαστικής οντότητας: Το BERT μπορεί να αναγνωρίσει οντότητες σε κείμενο, όπως ονόματα προσώπων, τοπωνύμια, ονόματα οργανισμών κ.λπ.
  • δημιουργία κειμένου: Αν και το BERT χρησιμοποιείται κυρίως για την κατανόηση εργασιών, μπορεί επίσης να βοηθήσει σε ορισμένες εργασίες παραγωγής, όπως η συμπλήρωση των κενών, η επανεγγραφή κ.λπ.

Συνοψίζω

Ως ένα ισχυρό προεκπαιδευμένο μοντέλο γλώσσας, το BERT έχει επιτύχει αξιοσημείωτα αποτελέσματα σε πολλαπλές εργασίες επεξεργασίας φυσικής γλώσσας. Μέσα από δύο στάδια προ-εκπαίδευσης και λεπτομέρειας, το BERT μπορεί να προσαρμοστεί αποτελεσματικά σε διάφορες εργασίες κατάντη. Ελπίζω ότι μέσω της εισαγωγής αυτού του άρθρου, όλοι μπορούν να κατανοήσουν και να εφαρμόσουν καλύτερα το BERT και να λύσουν πρακτικά προβλήματα.

Για πιο συναρπαστικό περιεχόμενο, δώστε προσοχή στα εξής: Κινεζικός ιστότοπος ChatGPT