রোডম্যাপ
PHASE 6 · অধ্যায় 27

হাগিংফেস ট্রান্সফরমার

HuggingFace Transformers

NLP-এর সবচেয়ে important library।

ভূমিকা

একটা library — যেখান থেকে আপনি BERT, GPT-2, T5, LLaMA, Whisper — শতশত pretrained model মাত্র দুই লাইনে download করে use করতে পারেন। নাম: HuggingFace Transformers — modern NLP এর de facto standard library।

ধারণা

HuggingFace Transformers হলো একটি Python library যা PyTorch, TensorFlow, JAX — সব framework এ pretrained transformer model এর unified API দেয়। তিনটা core abstraction: AutoTokenizer (text → token), AutoModel (architecture), pipeline() (end-to-end task ready)। Hub এ ১ লক্ষ+ model, dataset, demo।

সহজ ব্যাখ্যা

ভাবুন App Store — যেখানে শত শত ready-made app আছে, install করলেই use। HuggingFace Hub সেটাই NLP model এর জন্য। আপনাকে architecture জানতে হবে না, weight download করতে হবে না, training লাগবে না — শুধু from_pretrained('model-name') লিখলেই production-ready model হাতে।

বাস্তব ব্যবহার

  • Startup, enterprise, research — সবাই HuggingFace ব্যবহার করে।
  • Google, Meta, Microsoft — নিজেদের model HuggingFace Hub এ release করে।
  • Streamlit/Gradio দিয়ে demo deploy।
  • Inference Endpoint — managed model hosting।
  • Datasets library দিয়ে ১০,০০০+ dataset access।

ধাপে ধাপে বিশ্লেষণ

1
Step 1 — Install
pip install transformers datasets accelerate।
2
Step 2 — Pipeline দিয়ে শুরু
Task name দিলেই default model auto load।
3
Step 3 — Custom model
AutoTokenizer + AutoModel দিয়ে fine control।
4
Step 4 — Hub থেকে browse
huggingface.co/models — task, language ফিল্টার।
5
Step 5 — Push to Hub
নিজের fine-tuned model upload করে share।

Python কোড

from transformers import pipeline

classifier = pipeline("sentiment-analysis")
ner = pipeline("ner", grouped_entities=True)
summarizer = pipeline("summarization", model="sshleifer/distilbart-cnn-12-6")
translator = pipeline("translation_en_to_fr", model="Helsinki-NLP/opus-mt-en-fr")

print(classifier("HuggingFace makes NLP so simple!"))

text = "Sundar Pichai, the CEO of Google, announced new AI features in Mountain View."
print(ner(text))

article = (
    "Natural Language Processing has evolved dramatically over the past decade. "
    "From rule based systems to deep learning and transformer architectures, "
    "the field has been revolutionized. Today, large language models power "
    "chatbots, translators, and writing assistants used by millions of people."
)
print(summarizer(article, max_length=40, min_length=15, do_sample=False))

print(translator("Hello, how are you?"))
ব্যাখ্যা

pipeline() তিনটা কাজ একসাথে করে: tokenize, model forward, post-process। Task name দিলে HuggingFace default model auto-pick করে। নিজে model parameter দিয়ে override ও করা যায়। grouped_entities=True NER এ multi-token entity merge করে।

সাধারণ ভুল

  • Model size না দেখে download — কিছু model 10GB+।
  • GPU available থাকলেও CPU তে চালানো — device=0 দিতে ভুলে যাওয়া।
  • Batch না করে এক এক করে inference — slow।
  • Cache directory manage না করা — disk full হয়ে যায়।

অনুশীলন

  1. 5টা different pipeline task চালিয়ে output compare করুন।
  2. Custom model name দিয়ে pipeline override করুন।
  3. Bangla model (csebuetnlp/banglabert) দিয়ে fill-mask।
  4. Datasets library দিয়ে IMDB load করে first 10 sample দেখুন।

ছোট প্রজেক্ট

Multi-Task NLP Toolkit

একটা CLI tool যেখানে user choose করতে পারে: sentiment, NER, summarize, translate। প্রতিটার জন্য HuggingFace pipeline, input text accept করে output সুন্দর format এ print করে।

সারাংশ

  • HuggingFace Transformers = NLP এর App Store।
  • pipeline() = zero-config task-ready inference।
  • AutoTokenizer + AutoModel = fine control।
  • 100K+ pretrained model, 10K+ dataset।
  • Modern NLP workflow এর center।