BERT (language model) (UR)

From Systems analysis Wiki
Jump to navigation Jump to search

BERT (Bidirectional Encoder Representations from Transformers، ٹرانسفارمرز سے دو طرفہ انکوڈر نمائندگی) — یہ قدرتی زبان کی سمجھ کے لیے ایک بڑا لینگویج ماڈل (LLM) ہے، جسے Google کے محققین نے تیار کیا اور 2018ء میں پیش کیا۔ BERT نے قدرتی زبان کی پروسیسنگ (NLP) میں ایک نئے دور کا آغاز کیا، جس میں مختلف قسم کے کاموں پر بے مثال کارکردگی کا مظاہرہ کیا گیا اور صنعت میں "پری ٹریننگ + fine-tuning" (pre-train & fine-tune) کے طریقے کو معیار کے طور پر قائم کیا گیا۔

BERT کی بنیادی جدت اس کی گہری دو طرفہ architecture ہے، جو ماڈل کو نیٹ ورک کی تمام تہوں میں بیک وقت بائیں اور دائیں دونوں جانب سے لفظ کے سیاق و سباق کو مدنظر رکھنے کی اجازت دیتی ہے۔ یہ ایک نئے پری ٹریننگ کام — Masked Language Modeling (MLM) — کے ذریعے حاصل کیا جاتا ہے۔

نام اور کام کا اصول

اختصار BERT کا مطلب ہے Bidirectional Encoder Representations from Transformers۔

  • Bidirectional (دو طرفہ): ماڈل کی بنیادی خصوصیت کی طرف اشارہ کرتا ہے — بیک وقت دونوں سمتوں (بائیں سے دائیں اور دائیں سے بائیں) میں لفظ کے سیاق و سباق کو پروسیس کرنے کی صلاحیت۔ یک طرفہ ماڈلز (جیسے GPT) کے برعکس، جو کسی لفظ کو پروسیس کرتے وقت صرف پہلے آنے والا سیاق و سباق دیکھتے ہیں، BERT پوری ترتیب کو یکجا دیکھتا ہے، جو اسے لفظ کے معنی کی زیادہ گہری اور درست سمجھ بنانے کی اجازت دیتا ہے۔
  • Encoder (انکوڈر): اس کا مطلب ہے کہ BERT صرف Transformer architecture کا انکوڈنگ حصہ استعمال کرتا ہے۔ انکوڈر کا کام متن کی ان پٹ ترتیب کو پڑھنا اور ہر token کے لیے ایک بھرپور سیاقی نمائندگی (ویکٹر) بنانا ہے۔ BERT کو ڈیکوڈر ماڈلز کی طرح آزادانہ طور پر متن تیار کرنے کے لیے نہیں بنایا گیا۔
  • Representations (نمائندگیاں): ماڈل کو الفاظ اور جملوں کے لیے اعلیٰ معیار کی عددی نمائندگیاں (ویکٹرز یا embedding) بنانے کی تربیت دی جاتی ہے، جنہیں پھر مختلف NLP کاموں کو حل کرنے کے لیے استعمال کیا جا سکتا ہے۔
  • from Transformers: اس بات کی طرف اشارہ کرتا ہے کہ ماڈل کی architecture مکمل طور پر Transformer پر مبنی ہے۔

تخلیق کی تاریخ

BERT کی ترقی NLP میں کئی اہم پیش رفت کا نتیجہ تھی:

  1. سیاقی embedding: Word2vec اور GloVe جیسے ماڈلز الفاظ کے لیے جامد ویکٹرز بناتے تھے، سیاق و سباق کو مدنظر رکھے بغیر۔ ماڈل ELMo (2018) نے دو طرفہ LSTM نیٹ ورکس کے ذریعے سیاق و سباق پر منحصر نمائندگیاں تیار کر کے ایک قدم آگے بڑھایا، تاہم یہ دو طرفہ پن "سطحی" تھا (دو یک طرفہ ماڈلز کا concatenation)۔
  2. Transfer Learning اور GPT: 2018ء کے وسط میں OpenAI نے ماڈل GPT پیش کیا، جس نے غیر نشان زدہ ڈیٹا پر ایک بڑے transformer ماڈل کی پری ٹریننگ اور پھر مخصوص کاموں پر fine-tuning کی افادیت ظاہر کی۔ تاہم GPT سختی سے یک طرفہ (بائیں سے دائیں) تھا، جو اسے مکمل سیاق و سباق کی سمجھ کے متقاضی کاموں میں محدود کرتا تھا۔

ان حدود کو محسوس کرتے ہوئے، جیکب ڈیولن کی قیادت میں Google کے محققین نے BERT کو ایک حقیقی معنوں میں گہری دو طرفہ ماڈل بنانے کے لیے تیار کیا۔ BERT پر مقالہ اکتوبر 2018ء میں arXiv پر شائع کیا گیا، اور کوڈ اور پری ٹرینڈ ماڈلز کو عوامی طور پر دستیاب کرایا گیا، جس نے سائنسی برادری میں زبردست دلچسپی پیدا کی۔ BERT نے NLP کے 11 اہم benchmark پر ریکارڈ توڑے، جن میں GLUE اور SQuAD شامل ہیں، اور اسے NLP کا "ImageNet لمحہ" قرار دیا گیا، کیونکہ ایک عالمگیر ماڈل کو آسانی سے متعدد کاموں کے لیے ڈھالا جا سکتا تھا۔

Architecture

BERT مکمل طور پر Transformer architecture کے انکوڈنگ حصے (encoder) پر مبنی ہے۔ یہ کئی ایک جیسی تہوں پر مشتمل ہے جو ایک دوسرے کے اوپر رکھی گئی ہیں۔ دو بنیادی ورژن موجود ہیں:

  • BERT-Base: 12 تہیں، 12 attention heads، hidden state کا سائز 768، پیرامیٹرز کی کل تعداد تقریباً 110 ملین۔
  • BERT-Large: 24 تہیں، 16 attention heads، hidden state کا سائز 1024، پیرامیٹرز کی کل تعداد تقریباً 340 ملین۔

ہر تہ میں دو بنیادی ذیلی تہیں ہوتی ہیں:

  1. Multi-Head Self-Attention کا طریقہ کار: ان پٹ ترتیب میں ہر token کو دوسرے تمام tokens پر "توجہ" دینے کی اجازت دیتا ہے، اپنی سیاقی اہمیت کا تعین کرنے کے لیے ان کی اہمیت کو وزن دیتا ہے۔
  2. Feed-Forward Network (مکمل طور پر منسلک نیورل نیٹ ورک): ہر token پر علیحدہ طور پر لاگو ہوتا ہے۔

ان پٹ ڈیٹا

صحیح طریقے سے کام کرنے کے لیے BERT کو ان پٹ ڈیٹا کی خصوصی فارمیٹنگ کی ضرورت ہوتی ہے۔ ان پٹ کے طور پر دیے جانے والے tokens کی ترتیب ہمیشہ خصوصی token `[CLS]` (classification) سے شروع ہوتی ہے، جو پورے متن کی درجہ بندی کے کاموں کے لیے استعمال ہوتی ہے۔ اگر ان پٹ کے طور پر جملوں کی ایک جوڑی دی جائے (مثلاً سوال و جواب کے نظاموں میں)، تو انہیں `[SEP]` (separator) token سے الگ کیا جاتا ہے۔

ان پٹ پر ہر token کی حتمی نمائندگی تین embedding کا مجموعہ ہے:

  • Token Embedding: لغت سے کسی مخصوص token کے مطابق ویکٹر (BERT WordPiece tokenization استعمال کرتا ہے)۔
  • Segment Embedding: یہ بتاتا ہے کہ token کس جملے (پہلے یا دوسرے) سے تعلق رکھتا ہے۔
  • Positional Embedding: ترتیب میں token کی پوزیشن بتاتا ہے، کیونکہ Transformer architecture بذات خود الفاظ کی ترتیب کو مدنظر نہیں رکھتی۔

پری ٹریننگ کے کام

گہرے دو طرفہ پن کو یقینی بنانے کے لیے، BERT بیک وقت دو منفرد کاموں پر تربیت حاصل کرتا ہے۔

Masked Language Modeling (MLM)

یہ BERT کی کلیدی جدت ہے۔ معیاری لینگویج ماڈلز کی طرح اگلا لفظ پیش گوئی کرنے کے بجائے، BERT جملے میں بے ترتیب طور پر "چھپائے گئے" الفاظ کی پیش گوئی کرتا ہے۔ عمل اس طرح ہے:

  • ان پٹ ترتیب سے بے ترتیب طور پر 15٪ tokens منتخب کیے جاتے ہیں۔
  • ان 15٪ میں سے:
    • 80٪ کو خصوصی token `[MASK]` سے بدل دیا جاتا ہے۔
    • 10٪ کو لغت سے کسی بے ترتیب token سے بدل دیا جاتا ہے۔
    • 10٪ کو بغیر کسی تبدیلی کے چھوڑ دیا جاتا ہے۔
  • ماڈل کا کام — ان کے ارد گرد (بائیں اور دائیں) کے سیاق و سباق کی بنیاد پر ان 15٪ tokens کی اصل قدریں پیش گوئی کرنا ہے۔

یہ طریقہ کار ماڈل کو الفاظ کے درمیان گہرے معنوی اور نحوی تعلقات سیکھنے پر مجبور کرتا ہے اور اسے حقیقی معنوں میں دو طرفہ بناتا ہے۔

Next Sentence Prediction (NSP)

یہ کام اس لیے تیار کیا گیا تاکہ BERT کو جملوں کے درمیان تعلقات سمجھنا سکھایا جا سکے، جو سوال و جواب کے نظاموں یا Natural Language Inference (NLI) جیسے کاموں کے لیے ضروری ہے۔ ماڈل کو جملوں کی ایک جوڑی (A اور B) دی جاتی ہے، اور اسے یہ پیش گوئی کرنی ہوتی ہے کہ آیا جملہ B جملہ A کا منطقی تسلسل ہے۔

  • 50٪ صورتوں میں B واقعی اصل متن سے اگلا جملہ ہوتا ہے۔
  • 50٪ صورتوں میں B corpus میں کسی اور جگہ سے لیا گیا بے ترتیب جملہ ہوتا ہے۔

بعد میں تحقیق (مثلاً RoBERTa ماڈل میں) نے ظاہر کیا کہ NSP کام MLM سے کم اہم ہے، اور اسے زیادہ مؤثر تربیتی طریقوں کے حق میں چھوڑا جا سکتا ہے، لیکن اصل BERT میں اس نے اہم کردار ادا کیا۔

استعمال اور Fine-Tuning

BERT کی طاقت transfer learning کے طریقہ کار میں ہے۔ بڑے corpus (Wikipedia + BooksCorpus) پر بڑے پیمانے پر اور مہنگی پری ٹریننگ کے بعد، پری ٹرینڈ ماڈل کو کسی مخصوص عملی کام کے حل کے لیے آسانی اور تیزی سے fine-tune کیا جا سکتا ہے۔

Fine-tuning کا عمل عموماً اس طرح ہوتا ہے: 1. پری ٹرینڈ BERT کی architecture میں ایک چھوٹی، غیر تربیت یافتہ، کام کے لیے مخصوص تہ شامل کی جاتی ہے (مثلاً جذبات کے تجزیے کے لیے classifier)۔ 2. پوری ماڈل (BERT کے weights اور نئی تہ سمیت) کو اس مخصوص کام کے لیے ایک چھوٹے، نشان زدہ dataset پر تربیت دی جاتی ہے۔

ان کاموں کی مثالیں جن کے لیے BERT کو ڈھالا جاتا ہے:

  • متن کی درجہ بندی (جذبات کا تجزیہ، سپیم فلٹرز): `[CLS]` token کے آؤٹ پٹ میں classifier شامل کیا جاتا ہے۔
  • سوال و جواب کے نظام (مثلاً SQuAD): ماڈل کو دیے گئے متن میں جواب کے ابتدائی اور آخری tokens پیش گوئی کرنے کی تربیت دی جاتی ہے۔
  • Named Entity Recognition (NER): ہر token کے آؤٹ پٹ میں ایک classifier شامل کیا جاتا ہے جو یہ تعین کرتا ہے کہ آیا token کسی نام، ادارے، تاریخ وغیرہ کا حصہ ہے۔

ورژن اور مشتق ماڈلز

BERT کی کامیابی نے اس کے خیالات پر مبنی ماڈلز کے ایک پورے خاندان کو جنم دیا:

  • RoBERTa (Facebook AI کی طرف سے): "مضبوطی سے بہتر بنایا گیا BERT"۔ یہ کوئی نئی architecture نہیں ہے، بلکہ BERT کی زیادہ محتاط اور طویل تربیت کا نتیجہ ہے: زیادہ ڈیٹا پر، NSP کام کے بغیر اور dynamic masking کے ساتھ۔ RoBERTa نے ثابت کیا کہ اصل BERT "کم تربیت یافتہ" تھا، اور اس نے تمام اہم benchmarks پر اسے پیچھے چھوڑ دیا۔
  • DistilBERT (Hugging Face کی طرف سے): BERT کا ایک چھوٹا ورژن جو knowledge distillation تکنیک سے بنایا گیا ہے۔ DistilBERT 40٪ چھوٹا، 60٪ تیز ہے اور BERT کی 97٪ کارکردگی برقرار رکھتا ہے، جو اسے production میں اور محدود وسائل والے آلات پر استعمال کے لیے مثالی بناتا ہے۔
  • ALBERT (A Lite BERT، Google کی طرف سے): پیرامیٹرز کی تعداد کم کرنے کے لیے بہتر بنایا گیا ورژن۔ دو اہم تکنیکیں استعمال کرتا ہے: embedding factorization اور cross-layer parameter sharing۔ یہ کم پیرامیٹرز کے ساتھ بہت بڑے ماڈلز بنانے کی اجازت دیتا ہے۔
  • mBERT (Multilingual BERT): BERT کا ایک ورژن جسے ایک ساتھ 104 زبانوں پر پری ٹرین کیا گیا ہے۔ اس نے کراس لینگویج نالج ٹرانسفر کی놀라운 صلاحیت ظاہر کی۔
  • ڈومین مخصوص ماڈلز: متعدد ماڈلز جو مخصوص شعبوں کے ڈیٹا پر fine-tune کیے گئے ہیں، جیسے BioBERT (حیاتی طب)، SciBERT (سائنسی متون) اور FinBERT (مالیات)۔
  • ModernBERT (2024-2025): Answer.AI اور LightOn کمپنیوں کی طرف سے BERT جیسے ماڈلز کی نئی نسل، جس میں جدید architectural بہتریاں شامل ہیں، جیسے RoPE (Rotary Position Embeddings) اور طویل سیاق و سباق کی حمایت (8192 tokens تک)، جبکہ BERT کے بنیادی اصولوں کو برقرار رکھا گیا ہے۔

دیگر ماڈلز سے موازنہ

BERT کا دیگر اہم architectures سے موازنہ
ماڈل ڈویلپر Architecture سیاق و سباق کی سمت بنیادی کام
BERT Google Encoder دو طرفہ متن کی سمجھ، درجہ بندی، معلومات نکالنا
GPT OpenAI Decoder یک طرفہ (بائیں سے دائیں) متن کی تیاری، ترتیب کا تسلسل
XLNet Google / CMU Autoregressive (permutation) دو طرفہ (نظریاتی طور پر) متن کی سمجھ (MLM کا متبادل)
T5 Google Encoder-Decoder دو طرفہ (encoder) + یک طرفہ (decoder) عالمگیر "متن سے متن" تبدیلی

اثرات

BERT نے NLP میں ایک حقیقی انقلاب برپا کیا اور بعد کی بہت سی پیش رفت کی بنیاد رکھی:

  1. "پری ٹریننگ + fine-tuning" کے طریقہ کار کو NLP میں غالب نقطہ نظر کے طور پر ثابت کیا۔
  2. زبان کی سمجھ کے لیے گہرے دو طرفہ سیاق و سباق کی اہمیت کو ظاہر کیا۔
  3. اعلیٰ کارکردگی والے NLP نظاموں کی تخلیق کی دہلیز کو کم کیا، کیونکہ محققین اور ڈویلپرز کو اب ہر کام کے لیے شروع سے پیچیدہ architectures بنانے کی ضرورت نہیں تھی۔
  4. Google Search میں ضم کیا گیا، جو سرچ انجن کی پوری تاریخ میں سب سے بڑی اپ ڈیٹس میں سے ایک بنی اور ماڈل کے عملی فائدے کو واضح طور پر ظاہر کیا۔
  5. مشتق ماڈلز، ٹولز اور تحقیق ("BERTology") کا ایک پورا ecosystem پیدا کیا، جو AI کے شعبے میں سب سے زیادہ حوالہ دیے جانے والے کاموں میں سے ایک بن گیا۔

اس کے باوجود کہ GPT-3 اور GPT-4 جیسے نئے اور بڑے ماڈلز نے BERT کو کئی benchmarks پر پیچھے چھوڑ دیا ہے (خاص طور پر تخلیقی کاموں میں)، BERT اور اس کے ورژن اب بھی متن کی گہری سمجھ کے متقاضی کاموں کے لیے ایک طاقتور اور وسیع پیمانے پر استعمال ہونے والا ٹول ہیں۔

روابط

  • GitHub پر BERT کا سرکاری ذخیرہ
  • Google AI کے بلاگ پر BERT کا اعلان
  • The Illustrated BERT — BERT کی architecture کی بصری وضاحت

ادبیات

  • Devlin, J. et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
  • Vaswani, A. et al. (2017). Attention Is All You Need. arXiv:1706.03762.
  • Peters, M. E. et al. (2018). Deep Contextualized Word Representations. arXiv:1802.05365.
  • Liu, Y. et al. (2019). RoBERTa: A Robustly Optimized BERT Pretraining Approach. arXiv:1907.11692.
  • Lan, Z. et al. (2020). ALBERT: A Lite BERT for Self-supervised Learning of Language Representations. arXiv:1909.11942.
  • Sanh, V. et al. (2020). DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter. arXiv:1910.01108.
  • Yang, Z. et al. (2019). XLNet: Generalized Autoregressive Pretraining for Language Understanding. arXiv:1906.08237.
  • Raffel, C. et al. (2020). Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer. arXiv:1910.10683.
  • Lee, J. et al. (2020). BioBERT: a pre-trained biomedical language representation model for biomedical text mining. arXiv:1901.08746.
  • Warner, B. et al. (2024). Smarter, Better, Faster, Longer: A Modern Bidirectional Encoder for Fast, Memory Efficient, and Long Context Finetuning and Inference. arXiv:2412.13663.