Bird
Raised Fist0
NLPml~10 mins

BERT pre-training concept in NLP - Interactive Code Practice

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to import the BERT tokenizer from the transformers library.

NLP
from transformers import [1]
Drag options to blanks, or click blank then click option'
ABertModel
BBertTokenizer
CAutoModel
DGPT2Tokenizer
Attempts:
3 left
💡 Hint
Common Mistakes
Importing the model class instead of the tokenizer.
Using a tokenizer from a different model like GPT-2.
2fill in blank
medium

Complete the code to create a masked language modeling label tensor where tokens to predict are marked with their IDs and others with -100.

NLP
labels = input_ids.clone()
labels[~masked_indices] = [1]
Drag options to blanks, or click blank then click option'
Ainput_ids
BNone
C0
D-100
Attempts:
3 left
💡 Hint
Common Mistakes
Setting unmasked tokens to 0 which is a valid token ID.
Leaving unmasked tokens unchanged.
3fill in blank
hard

Fix the error in the code that creates the attention mask for BERT input tokens.

NLP
attention_mask = (input_ids != [1]).long()
Drag options to blanks, or click blank then click option'
A0
B1
C-100
DNone
Attempts:
3 left
💡 Hint
Common Mistakes
Using 1 as the padding token ID.
Using None which causes errors.
4fill in blank
hard

Fill both blanks to create a dictionary for masked language modeling inputs and labels.

NLP
inputs = {
    'input_ids': [1],
    'labels': [2]
}
Drag options to blanks, or click blank then click option'
Ainput_ids
Blabels
Cattention_mask
Dtoken_type_ids
Attempts:
3 left
💡 Hint
Common Mistakes
Confusing attention_mask or token_type_ids as labels.
Swapping input_ids and labels.
5fill in blank
hard

Fill the blank to compute the masked language modeling loss using the model outputs and labels.

NLP
from torch.nn import CrossEntropyLoss

loss_fct = CrossEntropyLoss()
logits = outputs.logits
masked_lm_loss = loss_fct(logits.view(-1, logits.size([1])), labels.view(-1))
Drag options to blanks, or click blank then click option'
A2
B0
C3
D1
Attempts:
3 left
💡 Hint
Common Mistakes
Using the wrong dimension index causing shape mismatch.
Not reshaping logits and labels properly.

Practice

(1/5)
1. What are the two main tasks used during BERT pre-training?
easy
A. Text Classification and Named Entity Recognition
B. Masked Language Model and Next Sentence Prediction
C. Part-of-Speech Tagging and Dependency Parsing
D. Sentiment Analysis and Machine Translation

Solution

  1. Step 1: Understand BERT pre-training tasks

    BERT is trained to predict missing words and the order of sentences, which correspond to Masked Language Model (MLM) and Next Sentence Prediction (NSP).
  2. Step 2: Match tasks to options

    Only Masked Language Model and Next Sentence Prediction lists MLM and NSP, the two key pre-training tasks of BERT.
  3. Final Answer:

    Masked Language Model and Next Sentence Prediction -> Option B
  4. Quick Check:

    BERT pre-training tasks = MLM + NSP [OK]
Hint: Remember BERT guesses missing words and sentence order [OK]
Common Mistakes:
  • Confusing fine-tuning tasks with pre-training tasks
  • Mixing up NLP tasks unrelated to BERT pre-training
  • Thinking BERT uses only one pre-training task
2. Which of the following is the correct way to describe the Masked Language Model (MLM) task in BERT pre-training?
easy
A. Predict randomly masked words in a sentence
B. Predict the next sentence given the current sentence
C. Classify the sentiment of a sentence
D. Translate a sentence to another language

Solution

  1. Step 1: Define Masked Language Model (MLM)

    MLM involves randomly masking some words in a sentence and training the model to predict those masked words.
  2. Step 2: Match definition to options

    Predict randomly masked words in a sentence correctly describes MLM as predicting masked words, while others describe different tasks.
  3. Final Answer:

    Predict randomly masked words in a sentence -> Option A
  4. Quick Check:

    MLM = predict masked words [OK]
Hint: MLM means guessing hidden words in sentences [OK]
Common Mistakes:
  • Confusing MLM with Next Sentence Prediction
  • Thinking MLM predicts entire sentences
  • Mixing MLM with classification tasks
3. Consider the following simplified code snippet for BERT pre-training MLM task:
sentence = ['The', 'cat', 'sat', 'on', 'the', 'mat']
masked_sentence = ['The', '[MASK]', 'sat', 'on', 'the', 'mat']
predicted_word = model.predict(masked_sentence)
print(predicted_word)
If the model works correctly, what should predicted_word be?
medium
A. 'cat'
B. 'mat'
C. 'dog'
D. 'sat'

Solution

  1. Step 1: Identify the masked word in the sentence

    The original sentence is ['The', 'cat', 'sat', 'on', 'the', 'mat'], and the masked sentence replaces 'cat' with '[MASK]'.
  2. Step 2: Predict the masked word

    The model should predict the missing word 'cat' to correctly fill the mask.
  3. Final Answer:

    'cat' -> Option A
  4. Quick Check:

    Masked word prediction = 'cat' [OK]
Hint: Masked word is replaced by [MASK], predict original word [OK]
Common Mistakes:
  • Choosing a word from the sentence but not the masked one
  • Confusing masked word with next sentence prediction
  • Assuming model predicts random words
4. In BERT pre-training, a common error is mixing up the Next Sentence Prediction (NSP) task. Which of the following statements is a mistake in NSP implementation?
medium
A. Feeding two sentences and predicting if the second follows the first
B. Randomly pairing sentences for negative examples
C. Using a binary classifier to decide sentence order
D. Predicting masked words inside a single sentence

Solution

  1. Step 1: Understand NSP task

    NSP involves feeding two sentences and predicting if the second sentence logically follows the first.
  2. Step 2: Identify incorrect statement

    Predicting masked words inside a single sentence describes predicting masked words, which is MLM, not NSP, so it is a mistake in NSP implementation.
  3. Final Answer:

    Predicting masked words inside a single sentence -> Option D
  4. Quick Check:

    NSP ≠ masked word prediction [OK]
Hint: NSP predicts sentence order, not masked words [OK]
Common Mistakes:
  • Confusing NSP with MLM
  • Not using sentence pairs for NSP
  • Skipping negative examples in NSP
5. You want to improve BERT's understanding of sentence relationships by modifying the Next Sentence Prediction (NSP) task. Which approach would best enhance NSP during pre-training?
hard
A. Increase the percentage of masked words in MLM to 50%
B. Replace NSP with a sentiment classification task
C. Add more negative sentence pairs that are unrelated
D. Train only on single sentences without pairs

Solution

  1. Step 1: Understand NSP goal

    NSP aims to teach the model to distinguish if one sentence follows another logically by using positive and negative sentence pairs.
  2. Step 2: Choose best enhancement

    Adding more negative sentence pairs (unrelated sentences) improves the model's ability to learn sentence relationships, enhancing NSP.
  3. Final Answer:

    Add more negative sentence pairs that are unrelated -> Option C
  4. Quick Check:

    More negative pairs = better NSP learning [OK]
Hint: More unrelated sentence pairs improve NSP task [OK]
Common Mistakes:
  • Confusing MLM changes with NSP improvements
  • Removing sentence pairs breaks NSP
  • Replacing NSP with unrelated tasks