Bird
Raised Fist0
NLPml~20 mins

Hugging Face Transformers library in NLP - Practice Problems & Coding Challenges

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
Challenge - 5 Problems
🎖️
Transformer Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
What is the output shape of the model's last hidden state?
Given the following code using Hugging Face Transformers, what is the shape of the last hidden state tensor?
NLP
from transformers import BertModel, BertTokenizer
import torch

tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
model = BertModel.from_pretrained('bert-base-uncased')

inputs = tokenizer('Hello', return_tensors='pt')
outputs = model(**inputs)
last_hidden_state = outputs.last_hidden_state

print(last_hidden_state.shape)
Atorch.Size([3, 768])
Btorch.Size([1, 3, 768])
Ctorch.Size([1, 768])
Dtorch.Size([768, 3])
Attempts:
2 left
💡 Hint
Remember that BERT outputs batch size, sequence length, and hidden size dimensions.
Model Choice
intermediate
1:30remaining
Which model is best suited for sequence classification tasks?
You want to classify movie reviews as positive or negative using Hugging Face Transformers. Which model class should you use?
ABertModel
BBertTokenizer
CBertForSequenceClassification
DBertForMaskedLM
Attempts:
2 left
💡 Hint
Look for the model class designed specifically for classification tasks.
Hyperparameter
advanced
1:30remaining
Which hyperparameter controls the learning rate in Hugging Face Trainer?
When fine-tuning a transformer model using the Hugging Face Trainer API, which argument sets the learning rate?
Alearning_rate
Blr_scheduler_type
Cnum_train_epochs
Dbatch_size
Attempts:
2 left
💡 Hint
This hyperparameter directly affects how fast the model updates weights.
Metrics
advanced
1:30remaining
Which metric is most appropriate for evaluating a multi-class text classification model?
You trained a transformer model to classify news articles into 5 categories. Which metric should you use to evaluate its performance?
APerplexity
BBLEU score
CMean Squared Error
DAccuracy
Attempts:
2 left
💡 Hint
Choose a metric that measures correct label predictions.
🔧 Debug
expert
2:00remaining
What error does this code raise when loading a tokenizer?
Consider this code snippet: from transformers import AutoTokenizer tokenizer = AutoTokenizer.from_pretrained('nonexistent-model')
AOSError: Model 'nonexistent-model' not found
BValueError: Invalid tokenizer name
CTypeError: from_pretrained() missing required positional argument
DRuntimeError: Tokenizer loading failed due to corrupted files
Attempts:
2 left
💡 Hint
Check what happens when you try to load a model that does not exist on Hugging Face hub.

Practice

(1/5)
1. What is the main purpose of the Hugging Face Transformers library?
easy
A. To manage databases efficiently
B. To create new programming languages
C. To design user interfaces
D. To easily use pre-trained language models for various tasks

Solution

  1. Step 1: Understand the library's goal

    The Hugging Face Transformers library provides easy access to pre-trained language models.
  2. Step 2: Match the purpose with options

    Only To easily use pre-trained language models for various tasks describes using pre-trained language models for tasks like sentiment analysis and translation.
  3. Final Answer:

    To easily use pre-trained language models for various tasks -> Option D
  4. Quick Check:

    Library purpose = Easy use of language models [OK]
Hint: Think: What does the library help you do with language models? [OK]
Common Mistakes:
  • Confusing it with database or UI tools
  • Thinking it creates new programming languages
  • Assuming it manages hardware or networks
2. Which of the following is the correct way to import the pipeline function from Hugging Face Transformers?
easy
A. from transformers import pipeline
B. import transformers.pipeline
C. from huggingface import pipeline
D. import pipeline from transformers

Solution

  1. Step 1: Recall correct import syntax in Python

    Python uses 'from module import function' to import specific functions.
  2. Step 2: Check each option's syntax

    from transformers import pipeline uses correct syntax: 'from transformers import pipeline'. Others are incorrect or invalid.
  3. Final Answer:

    from transformers import pipeline -> Option A
  4. Quick Check:

    Correct import syntax = from transformers import pipeline [OK]
Hint: Remember Python import style: from module import function [OK]
Common Mistakes:
  • Using dot notation incorrectly in import
  • Confusing library name 'huggingface' with 'transformers'
  • Wrong import order or keywords
3. What will be the output of this code snippet?
from transformers import pipeline
sentiment = pipeline('sentiment-analysis')
result = sentiment('I love learning AI!')
print(result)
medium
A. [{'label': 'POSITIVE', 'score': 0.99}]
B. [{'label': 'NEGATIVE', 'score': 0.99}]
C. SyntaxError
D. Empty list []

Solution

  1. Step 1: Understand the pipeline task

    The pipeline is set for 'sentiment-analysis', which classifies text sentiment.
  2. Step 2: Analyze the input text sentiment

    The text 'I love learning AI!' is positive, so the model predicts 'POSITIVE' with high confidence.
  3. Final Answer:

    [{'label': 'POSITIVE', 'score': 0.99}] -> Option A
  4. Quick Check:

    Positive text = POSITIVE label [OK]
Hint: Positive words usually yield 'POSITIVE' sentiment [OK]
Common Mistakes:
  • Assuming negative sentiment for positive text
  • Expecting syntax errors without code issues
  • Thinking output is empty list
4. Identify the error in this code snippet:
from transformers import pipeline
translator = pipeline('translation')
result = translator('Hello world')
print(result[0])
medium
A. The task name 'translation' is incorrect
B. Incorrect indexing in print statement
C. Missing model specification in pipeline
D. No import statement for pipeline

Solution

  1. Step 1: Check pipeline usage for translation

    Translation pipelines often require specifying a model or use a correct task name.
  2. Step 2: Verify if model is specified

    The code uses task 'translation' but does not specify a model, which can cause errors.
  3. Final Answer:

    Missing model specification in pipeline -> Option C
  4. Quick Check:

    Translation pipeline needs model specified [OK]
Hint: Translation pipelines usually need model name specified [OK]
Common Mistakes:
  • Assuming task name is always correct without model
  • Thinking print indexing is wrong
  • Ignoring missing model argument
5. You want to use Hugging Face Transformers to answer questions based on a custom text passage. Which approach is best?
hard
A. Use the 'sentiment-analysis' pipeline on the passage
B. Use the 'question-answering' pipeline with the passage as context
C. Train a new model from scratch without using pipelines
D. Use the 'translation' pipeline to convert the passage

Solution

  1. Step 1: Identify the task needed

    Answering questions based on a passage requires a question-answering model that uses context.
  2. Step 2: Match pipeline to task

    The 'question-answering' pipeline accepts a question and context passage to find answers.
  3. Final Answer:

    Use the 'question-answering' pipeline with the passage as context -> Option B
  4. Quick Check:

    QA pipeline fits question + context tasks [OK]
Hint: QA pipeline is for questions with context passages [OK]
Common Mistakes:
  • Using sentiment or translation pipelines incorrectly
  • Thinking training from scratch is needed for simple use
  • Ignoring context input for question answering