प्रौद्योगिकी साझेदारी

downstream कार्याणां कृते BERT इत्यस्य उपयोगः कथं भवति - Transformer Tutorial

2024-07-12

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

BERT, Bidirectional Encoder Representations from Transformers इति २०१८ तमे वर्षे गूगलेन विमोचितं पूर्वप्रशिक्षितं भाषाप्रतिरूपम् अस्ति । BERT इत्यस्य उद्भवः प्राकृतिकभाषासंसाधनक्षेत्रे महत्त्वपूर्णं माइलस्टोन् चिह्नयति, यतः एतेन बहुभाषाकार्यस्य कार्यप्रदर्शने महत्त्वपूर्णः सुधारः भवति अस्मिन् लेखे विस्तरेण परिचयः भविष्यति यत् सर्वेषां कृते एतत् शक्तिशाली साधनं अधिकतया अवगन्तुं प्रयोक्तुं च सहायतार्थं अधःप्रवाहकार्यस्य कृते BERT इत्यस्य उपयोगः कथं भवति इति।

BERT इति किम् ?

BERT इति Transformer आर्किटेक्चर इत्यस्य आधारेण भाषाप्रतिरूपम् अस्ति । पूर्वभाषाप्रतिमानानाम् विपरीतम्, BERT द्विपक्षीयप्रशिक्षणपद्धतिं स्वीकुर्वति तथा च सन्दर्भसूचनाः एकत्रैव विचारयितुं शक्नोति, येन विविधकार्येषु उत्तमं प्रदर्शनं भवति BERT इत्यस्य मूलविचारः अस्ति यत् व्यापकरूपेण अनिरीक्षितपूर्वप्रशिक्षणस्य माध्यमेन उत्तमं प्रदर्शनं प्राप्तुं ततः विशिष्टकार्यस्य सूक्ष्म-समायोजनेन च।

BERT इत्यस्य पूर्वप्रशिक्षणं सूक्ष्म-समायोजनं च

BERT इत्यस्य प्रशिक्षणप्रक्रिया द्वयोः चरणयोः विभक्ता अस्ति : पूर्वप्रशिक्षणं सूक्ष्म-समायोजनं च ।

  1. पूर्वप्रशिक्षणम् : अस्मिन् स्तरे BERT इत्यस्य प्रशिक्षणं बहुमात्रायां पाठदत्तांशस्य माध्यमेन भवति, कार्येषु च Masked Language Model (MLM) तथा Next Sentence Prediction (NSP) च सन्ति एमएलएम कार्ये मास्ककृतशब्दानां पूर्वानुमानं कर्तुं मॉडलस्य आवश्यकता भवति, एनएसपी कार्ये तु वाक्यद्वयं निरन्तरम् अस्ति वा इति पूर्वानुमानं कर्तुं मॉडलस्य आवश्यकता भवति ।

  2. सूक्ष्म-समायोजनम् : पूर्वप्रशिक्षणस्य समाप्तेः अनन्तरं विशिष्टानि अधःप्रवाहकार्यस्य अनुसारं मॉडलं सूक्ष्मरूपेण स्थापयितुं आवश्यकम्। अधःप्रवाहकार्यं वर्गीकरणं, प्रतिगमनं, प्रश्नोत्तरं, नामकृतसत्तापरिचयः इत्यादयः भवितुम् अर्हन्ति । कार्य-विशिष्टदत्तांशसमूहानां विषये अग्रे प्रशिक्षणं दत्त्वा BERT विशिष्टकार्यस्य आवश्यकतानां अनुकूलतया अधिकतया अनुकूलतां प्राप्तुं शक्नोति ।

अधःप्रवाहकार्यस्य कृते BERT इत्यस्य उपयोगः कथं भवति

तदनन्तरं वयं विशिष्टस्य उदाहरणस्य माध्यमेन पाठवर्गीकरणकार्यस्य कृते BERT इत्यस्य उपयोगः कथं करणीयः इति परिचयं करिष्यामः ।

Step 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
Step 3: दत्तांशं सज्जीकरोतु

पाठवर्गीकरणं कर्तुं अस्माभिः पाठदत्तांशं मॉडल् कृते स्वीकार्यं निवेशस्वरूपे परिवर्तयितुं आवश्यकम् । अस्मिन् सामान्यतया पाठस्य टोकनीकरणं टोकन-ids इत्यत्र परिवर्तनं च, ध्यान-मास्क-निर्माणं च भवति ।

# 示例数据
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
Step 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
Step 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 चीनी वेबसाइट