BERT (language model) (TL)

From Systems analysis Wiki
Jump to navigation Jump to search

BERT (Bidirectional Encoder Representations from Transformers, bidirectional encoder representations mula sa mga transformer) — ito ay isang malaking language model (LLM) para sa pag-unawa ng natural na wika, na binuo ng mga mananaliksik ng Google at ipinakita noong taong 2018. Minarkahan ng BERT ang isang bagong panahon sa natural language processing (NLP), na nagpakita ng nangunguna na pagganap sa malawak na hanay ng mga gawain at nagtakda ng paradigma ng "pre-training + fine-tuning" (pre-train & fine-tune) bilang pamantayan sa industriya.

Ang pangunahing inobasyon ng BERT ay ang malalim na bidirectional na arkitektura, na nagpapahintulot sa modelo na isaalang-alang ang konteksto ng isang salita nang sabay-sabay mula sa kaliwa at kanan sa lahat ng layer ng network. Nagagawa ito sa pamamagitan ng isang bagong gawain sa pre-training — Masked Language Modeling (MLM).

Pangalan at Prinsipyo ng Pagtatrabaho

Ang daglat na BERT ay nangangahulugang Bidirectional Encoder Representations from Transformers.

  • Bidirectional (Bidireksyonal): Tinutukoy ang pangunahing katangian ng modelo — ang kakayahang iproseso ang konteksto ng isang salita sa parehong direksyon (mula kaliwa patungong kanan at mula kanan patungong kaliwa) nang sabay-sabay. Hindi tulad ng unidirectional na mga modelo (tulad ng GPT), na sa pagproseso ng isang salita ay nakikita lamang ang nakaraang konteksto nito, nakikita ng BERT ang buong pagkakasunud-sunod nang buo, na nagpapahintulot sa kanya na bumuo ng mas malalim at tumpak na pag-unawa sa kahulugan ng salita.
  • Encoder (Encoder): Nangangahulugan na gumagamit ang BERT ng encoding na bahagi lamang ng arkitektura ng Transformer. Ang gawain ng encoder ay basahin ang input na pagkakasunud-sunod ng teksto at lumikha ng mayamang kontekstwal na representasyon (vector) para sa bawat token. Hindi inilaan ang BERT para sa malayang pagbuo ng teksto, tulad ng mga decoder na modelo.
  • Representations (Mga Representasyon): Ang modelo ay sinanay na lumikha ng mataas na kalidad na numerical na representasyon (mga vector o embedding) para sa mga salita at pangungusap, na maaaring gamitin para sa paglutas ng iba't ibang NLP na gawain.
  • from Transformers: Tinutukoy na ang arkitektura ng modelo ay ganap na nakabatay sa Transformer.

Kasaysayan ng Paglikha

Ang pagbuo ng BERT ay naging resulta ng ilang mahahalagang tagumpay sa NLP:

  1. Mga Contextual Embedding: Ang mga modelo tulad ng Word2vec at GloVe ay lumikha ng mga static na vector para sa mga salita nang hindi isinasaalang-alang ang konteksto. Ang modelo na ELMo (2018) ay naging isang hakbang pasulong, na nagbibigay ng mga kontekstwal na representasyon gamit ang bidirectional na mga LSTM network, gayunpaman ang bidirectionality na ito ay "mababaw" (concatenation ng dalawang unidirectional na modelo).
  2. Transfer Learning at GPT: Noong kalagitnaan ng 2018, nagpakita ang OpenAI ng modelong GPT, na nagpakita ng pagiging epektibo ng pre-training ng isang malaking transformer na modelo sa hindi na-label na datos na may kasunod na fine-tuning sa mga partikular na gawain. Gayunpaman, ang GPT ay mahigpit na unidirectional (mula kaliwa patungong kanan), na nagpipigil sa kakayahan nito sa mga gawaing nangangailangan ng pag-unawa sa buong konteksto.

Batid ang mga limitasyong ito, ang mga mananaliksik ng Google na pinamumunuan ni Jacob Devlin ay bumuo ng BERT upang lumikha ng tunay na malalim na bidirectional na modelo. Ang papel tungkol sa BERT ay inilathala sa arXiv noong Oktubre 2018, at ang code at mga pre-trained na modelo ay ginawang available sa publiko, na nagdulot ng napakalaking interes sa siyentipikong komunidad. Binigo ng BERT ang mga rekord sa 11 pangunahing NLP benchmark, kasama ang GLUE at SQuAD, at tinawag itong "ImageNet moment" para sa NLP, dahil ang isang unibersal na modelo ay madaling maaangkop para sa maraming gawain.

Arkitektura

Ang BERT ay ganap na nakabatay sa encoding na bahagi (encoder) ng arkitektura ng Transformer. Binubuo ito ng ilang magkaparehong layer na nakalagay sa ibabaw ng isa't isa. Mayroong dalawang pangunahing bersyon:

  • BERT-Base: 12 layer, 12 attention head, laki ng nakatagong estado na 768, kabuuang bilang ng mga parameter na ~110 milyon.
  • BERT-Large: 24 na layer, 16 attention head, laki ng nakatagong estado na 1024, kabuuang bilang ng mga parameter na ~340 milyon.

Ang bawat layer ay naglalaman ng dalawang pangunahing sublayer:

  1. Mekanismo ng Multi-Head Self-Attention: Pinapahintulutan ang bawat token sa input na pagkakasunud-sunod na "bigyan ng pansin" ang lahat ng iba pang token, tinitimbang ang kanilang kahalagahan para sa pagpapasya ng sarili nitong kontekstwal na kahulugan.
  2. Ganap na Konektadong Neural Network (Feed-Forward Network): Inilalapat sa bawat token nang hiwalay.

Mga Input na Datos

Para sa wastong operasyon, nangangailangan ang BERT ng espesyal na pag-format ng mga input na datos. Ang pagkakasunud-sunod ng mga token na ibinibigay bilang input ay palaging nagsisimula sa espesyal na token na `[CLS]` (classification), na ginagamit para sa mga gawain ng pag-uuri ng buong teksto. Kung ang isang pares ng mga pangungusap ay ibinibigay bilang input (halimbawa, sa mga gawain ng question-answering system), ang mga ito ay pinaghihiwalay ng token na `[SEP]` (separator).

Ang panghuling representasyon ng bawat token sa input ay ang kabuuan ng tatlong embedding:

  • Token Embedding: Ang vector na naaayon sa isang partikular na token mula sa bokabularyo (gumagamit ang BERT ng WordPiece tokenization).
  • Segment Embedding: Nagpapahiwatig kung aling pangungusap (una o pangalawa) ang kinabibilangan ng token.
  • Positional Embedding: Nagpapahiwatig ng posisyon ng token sa pagkakasunud-sunod, dahil ang arkitektura ng Transformer mismo ay hindi isinasaalang-alang ang pagkakasunud-sunod ng mga salita.

Mga Gawain sa Pre-Training

Upang matiyak ang malalim na bidirectionality, ang BERT ay sinanay sa dalawang natatanging gawain nang sabay-sabay.

Masked Language Modeling (MLM)

Ito ang pangunahing inobasyon ng BERT. Sa halip na hulaan ang susunod na salita, tulad ng sa mga karaniwang language model, hinuhulaan ng BERT ang mga random na "naka-mask" na salita sa pangungusap. Ganito ang hitsura ng proseso:

  • Mula sa input na pagkakasunud-sunod, 15% ng mga token ay pinili nang random.
  • Mula sa 15% na iyon:
    • Ang 80% ay pinalitan ng espesyal na token na `[MASK]`.
    • Ang 10% ay pinalitan ng isang random na token mula sa bokabularyo.
    • Ang 10% ay nananatiling walang pagbabago.
  • Ang gawain ng modelo ay hulaan ang mga orihinal na halaga ng 15% na mga token na ito, batay sa nakapaligid sa kanila (kaliwa at kanan) na konteksto.

Ang ganitong pamamaraan ay nagpipilit sa modelo na pag-aralan ang malalim na semantiko at sintaktikong ugnayan sa pagitan ng mga salita at nagpapahintulot sa kanya na maging tunay na bidirectional.

Next Sentence Prediction (NSP)

Ang gawaing ito ay binuo upang turuan ang BERT na maunawaan ang mga relasyon sa pagitan ng mga pangungusap, na kritikal para sa mga gawaing tulad ng mga question-answering system o pagsusuri ng textual implication (NLI). Isang pares ng mga pangungusap (A at B) ang ibinibigay sa input ng modelo, at dapat nitong hulaan kung ang pangungusap B ay lohikal na pagpapatuloy ng pangungusap A.

  • Sa 50% ng mga kaso, ang B ay talagang susunod na pangungusap mula sa orihinal na teksto.
  • Sa 50% ng mga kaso, ang B ay isang random na pangungusap na kinuha mula sa ibang lugar sa corpus.

Nang maglaon, ang mga pananaliksik (halimbawa, sa modelong RoBERTa) ay nagpakita na ang gawain ng NSP ay hindi gaanong mahalaga kaysa sa MLM, at maaari itong iwasan pabor sa mas epektibong mga pamamaraan ng pagsasanay, ngunit sa orihinal na BERT ay gumanap ito ng mahalagang papel.

Paggamit at Fine-Tuning

Ang lakas ng BERT ay nasa paradigma ng transfer learning. Pagkatapos ng malawak at mahal na pre-training sa napakalaking mga corpus (Wikipedia + BooksCorpus), ang pre-trained na modelo ay madali at mabilis na maaaring i-fine-tune para sa paglutas ng isang partikular na aplikadong gawain.

Karaniwang ganito ang hitsura ng proseso ng fine-tuning: 1. Isang maliit, hindi pa sinanay na layer na partikular sa gawain ang idinaragdag sa arkitektura ng pre-trained na BERT (halimbawa, isang classifier para sa sentiment analysis). 2. Ang buong modelo (kasama ang mga timbang ng BERT at ang bagong layer) ay sinasakanay sa isang maliit, na-label na dataset para sa partikular na gawaing iyon.

Mga halimbawa ng mga gawain kung saan iniaangkop ang BERT:

  • Pag-uuri ng teksto (sentiment analysis, mga spam filter): Isang classifier ang idinaragdag sa output ng token na `[CLS]`.
  • Mga question-answering system (halimbawa, SQuAD): Sinasakanay ang modelo na hulaan ang simula at katapusang token ng sagot sa ibinigay na teksto.
  • Pagkilala ng mga pinangalanang entity (NER): Isang classifier ang idinaragdag sa output ng bawat token, na nagpapasya kung ang token ay bahagi ng pangalan, organisasyon, petsa, atbp.

Mga Variant at Nagmumula na Modelo

Ang tagumpay ng BERT ay humantong sa paglabas ng isang buong pamilya ng mga modelo batay sa kanyang mga ideya:

  • RoBERTa (mula sa Facebook AI): "Matibay na Na-optimize na BERT". Hindi ito isang bagong arkitektura, kundi ang resulta ng mas maingat at matagalang pagsasanay ng BERT: sa mas maraming datos, nang wala ang gawain ng NSP at may dynamic na masking. Ipinakita ng RoBERTa na ang orihinal na BERT ay "kulang sa pagsasanay", at nalampasan nito ito sa lahat ng pangunahing benchmark.
  • DistilBERT (mula sa Hugging Face): Isang pinaikling bersyon ng BERT, na nilikha gamit ang teknik ng knowledge distillation. Ang DistilBERT ay 40% mas maliit, 60% mas mabilis at nagpapanatili ng 97% ng pagganap ng BERT, na ginagawa itong perpekto para gamitin sa produksyon at sa mga device na may limitadong mga mapagkukunan.
  • ALBERT (A Lite BERT, mula sa Google): Isang bersyon na na-optimize para mabawasan ang bilang ng mga parameter. Gumagamit ng dalawang pangunahing teknik: factorization ng mga embedding at cross-layer parameter sharing. Nagbibigay-daan ito sa paglikha ng mas malalaking modelo na may mas kaunting mga parameter.
  • mBERT (Multilingual BERT): Isang bersyon ng BERT na pre-trained sa 104 na wika nang sabay-sabay. Nagpakita ng kahanga-hangang kakayahan para sa cross-language na paglipat ng kaalaman.
  • Mga Modelo na Espesipiko sa Domain: Maraming modelo na fine-tuned sa datos mula sa mga partikular na larangan, tulad ng BioBERT (biomedikal), SciBERT (mga siyentipikong teksto) at FinBERT (pananalapi).
  • ModernBERT (2024-2025): Ang bagong henerasyon ng mga BERT-like na modelo mula sa mga kumpanyang Answer.AI at LightOn, na kinabibilangan ng mga modernong pagpapabuti ng arkitektura, tulad ng RoPE (Rotary Position Embeddings) at suporta para sa mas mahabang mga konteksto (hanggang 8192 token), habang pinapanatili ang mga pangunahing prinsipyo ng BERT.

Paghahambing sa Ibang mga Modelo

Paghahambing ng BERT sa iba pang mga pangunahing arkitektura
Modelo Developer Arkitektura Direksyon ng Konteksto Pangunahing Gawain
BERT Google Encoder Bidireksyonal Pag-unawa ng teksto, pag-uuri, pagkuha
GPT OpenAI Decoder Unidireksyonal (mula kaliwa patungong kanan) Pagbuo ng teksto, pagpapatuloy ng pagkakasunud-sunod
XLNet Google / CMU Autoregressive (permutation) Bidireksyonal (sa teorya) Pag-unawa ng teksto (alternatibo sa MLM)
T5 Google Encoder-Decoder Bidireksyonal (encoder) + Unidireksyonal (decoder) Unibersal na pagsasalin ng "teksto-sa-teksto"

Impluwensya

Nagdulot ang BERT ng tunay na rebolusyon sa NLP at naglatag ng pundasyon para sa maraming kasunod na pag-unlad:

  1. Pinatibay ang paradigma ng "pre-training + fine-tuning" bilang nangingibabaw na diskarte sa NLP.
  2. Pinatunayan ang kahalagahan ng malalim na bidirectional na konteksto para sa pag-unawa ng wika.
  3. Pinababa ang hadlang sa pagpasok para sa paglikha ng mga mataas na pagganap na NLP system, dahil hindi na kailangang lumikha ang mga mananaliksik at developer ng mga kumplikadong arkitektura mula sa simula para sa bawat gawain.
  4. Naisama sa Google Search, na naging isa sa pinakamalaking update ng search engine sa buong kasaysayan nito at malinaw na nagpakita ng praktikal na benepisyo ng modelo.
  5. Nagsilang ng isang buong ecosystem ng mga nagmumula na modelo, mga kasangkapan at pananaliksik ("BERTology"), na naging isa sa pinaka-cited na mga gawa sa larangan ng AI.

Kahit na ang mga mas bago at mas malalaking modelo, tulad ng GPT-3 at GPT-4, ay nalampasan ang BERT sa maraming benchmark (lalo na sa mga gawaing generative), ang BERT at ang mga variant nito ay nananatiling isang makapangyarihan at malawakang ginagamit na kasangkapan para sa mga gawaing nangangailangan ng malalim na pag-unawa ng teksto.

Mga Sanggunian

  • Opisyal na repositoryo ng BERT sa GitHub
  • Anunsyo ng BERT sa blog ng Google AI
  • The Illustrated BERT — visual na paliwanag ng arkitektura ng BERT

Mga Akda

  • 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.