BERT (language model) (FA)
BERT (Bidirectional Encoder Representations from Transformers، بازنماییهای دوطرفه رمزگذار از Transformers) — یک مدل زبانی بزرگ (LLM) برای درک زبان طبیعی است که توسط پژوهشگران Google توسعه یافته و در سال ۲۰۱۸ معرفی شد. BERT عصر جدیدی را در پردازش زبان طبیعی (NLP) رقم زد و عملکردی بیسابقه در طیف گستردهای از وظایف به نمایش گذاشت و الگوی «پیشآموزش + fine-tuning» (pre-train & fine-tune) را به عنوان استاندارد صنعت تثبیت کرد.
نوآوری کلیدی BERT معماری عمیقاً دوطرفه آن است که به مدل امکان میدهد زمینه یک کلمه را بهطور همزمان از چپ و راست در تمام لایههای شبکه در نظر بگیرد. این امر از طریق وظیفه پیشآموزش جدیدی به نام Masked Language Modeling (MLM) محقق میشود.
نامگذاری و اصل کار
مخفف BERT مخفف Bidirectional Encoder Representations from Transformers است.
- Bidirectional (دوطرفه): ویژگی اصلی مدل را نشان میدهد — توانایی پردازش زمینه یک کلمه در هر دو جهت (از چپ به راست و از راست به چپ) بهطور همزمان. برخلاف مدلهای یکطرفه (مانند GPT) که هنگام پردازش یک کلمه فقط زمینه پیش از آن را میبینند، BERT کل توالی را بهطور کامل میبیند و این امر به آن امکان میدهد درک عمیقتر و دقیقتری از معنای کلمه شکل دهد.
- Encoder (رمزگذار): به این معناست که BERT فقط از بخش رمزگذار معماری Transformer استفاده میکند. وظیفه رمزگذار این است که توالی ورودی متن را بخواند و برای هر token یک بازنمایی غنی و متناسب با زمینه (بردار) ایجاد کند. BERT برای تولید آزادانه متن، همانند مدلهای decoder، طراحی نشده است.
- Representations (بازنماییها): مدل برای ایجاد بازنماییهای عددی باکیفیت (بردارها یا embeddingها) برای کلمات و جملات آموزش میبیند که سپس میتوانند برای حل وظایف مختلف NLP مورد استفاده قرار گیرند.
- from Transformers: نشان میدهد که معماری مدل کاملاً بر پایه Transformer استوار است.
تاریخچه
توسعه BERT نتیجه چندین پیشرفت کلیدی در NLP بود:
- embeddingهای متناسب با زمینه: مدلهایی مانند Word2vec و GloVe بردارهای ثابتی برای کلمات میساختند و زمینه را در نظر نمیگرفتند. مدل ELMo (۲۰۱۸) گامی به جلو بود و بازنماییهای وابسته به زمینه را با استفاده از شبکههای LSTM دوطرفه تولید میکرد، اما این دوطرفگی «سطحی» بود (الحاق دو مدل یکطرفه).
- یادگیری انتقالی و GPT: در اواسط سال ۲۰۱۸، OpenAI مدل GPT را معرفی کرد که اثربخشی پیشآموزش یک مدل transformer بزرگ بر دادههای بدون برچسب و سپس fine-tuning آن برای وظایف خاص را نشان داد. اما GPT کاملاً یکطرفه (از چپ به راست) بود که تواناییهای آن را در وظایف نیازمند درک زمینه کامل محدود میکرد.
با درک این محدودیتها، پژوهشگران Google به رهبری Jacob Devlin مدل BERT را برای ایجاد یک مدل عمیقاً دوطرفه توسعه دادند. مقاله BERT در اکتبر ۲۰۱۸ در arXiv منتشر شد و کد و مدلهای پیشآموزشدیده به صورت عمومی در دسترس قرار گرفتند که علاقه شدیدی در جامعه علمی برانگیخت. BERT رکورد ۱۱ benchmark کلیدی NLP، از جمله GLUE و SQuAD، را شکست و به عنوان «لحظه ImageNet» برای NLP نامیده شد، زیرا یک مدل جهانی میتوانست به راحتی برای وظایف متعدد تطبیق یابد.
معماری
BERT کاملاً بر پایه بخش رمزگذار (encoder) معماری Transformer استوار است. این مدل از چندین لایه یکسان که بر روی هم چیده شدهاند تشکیل میشود. دو نسخه اصلی وجود دارد:
- BERT-Base: ۱۲ لایه، ۱۲ سر attention، اندازه حالت پنهان ۷۶۸، تعداد کل پارامترها ~۱۱۰ میلیون.
- BERT-Large: ۲۴ لایه، ۱۶ سر attention، اندازه حالت پنهان ۱۰۲۴، تعداد کل پارامترها ~۳۴۰ میلیون.
هر لایه دارای دو زیرلایه اصلی است:
- مکانیزم Multi-Head Self-Attention: به هر token در توالی ورودی امکان میدهد به تمام tokenهای دیگر «توجه» کند و اهمیت آنها را برای تعیین معنای متناسب با زمینه خود وزندهی کند.
- شبکه عصبی کاملاً متصل (Feed-Forward Network): برای هر token بهطور جداگانه اعمال میشود.
دادههای ورودی
برای عملکرد صحیح، BERT به قالببندی خاصی از دادههای ورودی نیاز دارد. توالی tokenهای ارائهشده به ورودی همیشه با token ویژهای به نام `[CLS]` (classification) آغاز میشود که برای وظایف طبقهبندی کل متن استفاده میشود. اگر یک جفت جمله به ورودی داده شود (مثلاً در وظایف سیستمهای پرسش و پاسخ)، با token `[SEP]` (separator) از هم جدا میشوند.
بازنمایی نهایی هر token در ورودی مجموع سه embedding است:
- Token embedding: بردار متناظر با یک token خاص از واژگان (BERT از توکنسازی WordPiece استفاده میکند).
- Segment embedding: نشان میدهد که token به کدام جمله (اول یا دوم) تعلق دارد.
- Positional embedding: موقعیت token را در توالی نشان میدهد، زیرا معماری Transformer به خودی خود ترتیب کلمات را در نظر نمیگیرد.
وظایف پیشآموزش
برای تأمین دوطرفگی عمیق، BERT بهطور همزمان بر روی دو وظیفه منحصربهفرد آموزش میبیند.
Masked Language Modeling (MLM)
این نوآوری کلیدی BERT است. به جای پیشبینی کلمه بعدی، مانند مدلهای زبانی استاندارد، BERT کلمات «پوشاندهشده» تصادفی را در جمله پیشبینی میکند. فرآیند به این صورت است:
- از توالی ورودی، ۱۵٪ از tokenها بهصورت تصادفی انتخاب میشوند.
- از این ۱۵٪:
- ۸۰٪ با token ویژه `[MASK]` جایگزین میشوند.
- ۱۰٪ با یک token تصادفی از واژگان جایگزین میشوند.
- ۱۰٪ بدون تغییر باقی میمانند.
- وظیفه مدل پیشبینی مقادیر اصلی این ۱۵٪ از tokenها بر اساس زمینه اطراف آنها (چپ و راست) است.
چنین طرحی مدل را مجبور میکند روابط معنایی و نحوی عمیق بین کلمات را یاد بگیرد و به آن امکان میدهد واقعاً دوطرفه باشد.
Next Sentence Prediction (NSP)
این وظیفه برای آموزش BERT در درک روابط بین جملات طراحی شده است، که برای وظایفی مانند سیستمهای پرسش و پاسخ یا تحلیل استلزام متنی (NLI) حیاتی است. یک جفت جمله (A و B) به ورودی مدل داده میشود و مدل باید پیشبینی کند که آیا جمله B ادامه منطقی جمله A است یا خیر.
- در ۵۰٪ موارد، B واقعاً جمله بعدی از متن اصلی است.
- در ۵۰٪ موارد، B یک جمله تصادفی است که از جای دیگری در مجموعه داده گرفته شده است.
تحقیقات بعدی (مثلاً در مدل RoBERTa) نشان داد که وظیفه NSP اهمیت کمتری نسبت به MLM دارد و میتوان به نفع طرحهای آموزشی کارآمدتر از آن صرفنظر کرد، اما در BERT اصلی نقش مهمی داشت.
کاربرد و Fine-Tuning
قدرت BERT در الگوی یادگیری انتقالی نهفته است. پس از پیشآموزش گسترده و پرهزینه بر روی مجموعههای داده عظیم (Wikipedia + BooksCorpus)، مدل پیشآموزشدیده را میتوان به راحتی و سریع برای حل یک وظیفه کاربردی خاص fine-tune کرد.
فرآیند fine-tuning معمولاً به این صورت است: 1. یک لایه کوچک و آموزشندیده مختص به وظیفه (مثلاً یک طبقهبند برای تحلیل احساسات) به معماری BERT پیشآموزشدیده اضافه میشود. 2. کل مدل (شامل وزنهای BERT و لایه جدید) بر روی یک مجموعه داده کوچک و برچسبدار برای آن وظیفه خاص آموزش میبیند.
نمونههایی از وظایفی که BERT برای آنها تطبیق مییابد:
- طبقهبندی متن (تحلیل احساسات، فیلترهای اسپم): یک طبقهبند به خروجی token `[CLS]` اضافه میشود.
- سیستمهای پرسش و پاسخ (مثلاً SQuAD): مدل برای پیشبینی tokenهای شروع و پایان پاسخ در متن دادهشده آموزش میبیند.
- تشخیص موجودیتهای نامگذاریشده (NER): یک طبقهبند به خروجی هر token اضافه میشود که تعیین میکند آیا آن token بخشی از یک نام، سازمان، تاریخ و غیره است.
نسخهها و مدلهای مشتق
موفقیت BERT منجر به ظهور کل خانوادهای از مدلهای مبتنی بر ایدههای آن شد:
- RoBERTa (از Facebook AI): «BERT بهینهشده بهشکل قوی». معماری جدیدی نیست، بلکه نتیجه آموزش دقیقتر و طولانیتر BERT است: بر دادههای بیشتر، بدون وظیفه NSP و با masking پویا. RoBERTa نشان داد که BERT اصلی «کمتر از حد لازم آموزش دیده» بود و در تمام benchmarkهای اصلی از آن پیشی گرفت.
- DistilBERT (از Hugging Face): نسخه کوچکشده BERT که با استفاده از تکنیک تقطیر دانش ساخته شده است. DistilBERT ۴۰٪ کوچکتر، ۶۰٪ سریعتر است و ۹۷٪ از عملکرد BERT را حفظ میکند، که آن را برای استفاده در محیط production و دستگاههای با منابع محدود ایدهآل میسازد.
- ALBERT (A Lite BERT، از Google): نسخهای بهینهشده برای کاهش تعداد پارامترها. از دو تکنیک کلیدی استفاده میکند: فاکتورسازی embedding و اشتراکگذاری پارامتر بین لایهها (cross-layer parameter sharing). این امر امکان ایجاد مدلهای بسیار بزرگتر با تعداد پارامترهای کمتر را فراهم میکند.
- mBERT (Multilingual BERT): نسخهای از BERT که بهطور همزمان بر روی ۱۰۴ زبان پیشآموزش دیده است. توانایی شگفتانگیزی در انتقال دانش بین زبانها نشان داده است.
- مدلهای دامنهمحور: مدلهای متعددی که بر دادههای حوزههای خاص fine-tune شدهاند، مانند BioBERT (زیستپزشکی)، SciBERT (متون علمی) و FinBERT (مالی).
- ModernBERT (۲۰۲۴-۲۰۲۵): نسل جدیدی از مدلهای BERT-مانند از شرکتهای Answer.AI و LightOn که شامل بهبودهای معماری مدرن مانند RoPE (Rotary Position Embeddings) و پشتیبانی از زمینههای طولانیتر (تا ۸۱۹۲ token) است، در حالی که اصول پایه BERT را حفظ میکند.
مقایسه با سایر مدلها
| مدل | توسعهدهنده | معماری | جهت زمینه | وظیفه اصلی |
|---|---|---|---|---|
| BERT | Encoder | دوطرفه | درک متن، طبقهبندی، استخراج | |
| GPT | OpenAI | Decoder | یکطرفه (از چپ به راست) | تولید متن، ادامه توالی |
| XLNet | Google / CMU | خودرگرسیونی (جایگشتی) | دوطرفه (در تئوری) | درک متن (جایگزین MLM) |
| T5 | Encoder-Decoder | دوطرفه (encoder) + یکطرفه (decoder) | تبدیل جهانی «متن به متن» |
تأثیر
BERT انقلاب واقعی در NLP ایجاد کرد و پایهای برای بسیاری از پیشرفتهای بعدی گذاشت:
- الگوی «پیشآموزش + fine-tuning» را به عنوان رویکرد غالب در NLP تثبیت کرد.
- اهمیت زمینه دوطرفه عمیق را برای درک زبان اثبات کرد.
- سطح ورود به ایجاد سیستمهای NLP با عملکرد بالا را کاهش داد، زیرا پژوهشگران و توسعهدهندگان دیگر نیازی به ساخت معماریهای پیچیده از پایه برای هر وظیفهای نداشتند.
- در Google Search ادغام شد که یکی از بزرگترین بهروزرسانیهای موتور جستجو در تمام تاریخ آن بود و سودمندی عملی مدل را به وضوح نشان داد.
- یک اکوسیستم کامل از مدلهای مشتق، ابزارها و پژوهشها («BERTology») را به وجود آورد و به یکی از پراستنادترین آثار در حوزه هوش مصنوعی تبدیل شد.
علیرغم اینکه مدلهای جدیدتر و بزرگتری مانند GPT-3 و GPT-4 در بسیاری از benchmarkها (بهویژه در وظایف تولیدی) از BERT پیشی گرفتهاند، BERT و نسخههای آن همچنان ابزاری قدرتمند و پرکاربرد برای وظایف نیازمند درک عمیق متن باقی ماندهاند.
پیوندها
- مخزن رسمی BERT در GitHub
- اعلان BERT در وبلاگ Google AI
- The Illustrated BERT — توضیح بصری معماری BERT
منابع
- 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.