RoBERTa: A Robustly Optimized BERT Pretraining Approach
Metadane
- Autorzy: Yinhan Liu, Myle Ott, Naman Goyal, Jingfei Du, Mandar Joshi, Danqi Chen, Omer Levy, Mike Lewis, Luke Zettlemoyer, Veselin Stoyanov
- Rok: 2019
- Źródło: arXiv 1907.11692 (Facebook AI Research)
- DOI: arXiv:1907.11692
- Status: reference
- Cytowania: 29,503
- Kategoria: Natural Language Processing
- Tagi: reference roberta bert nlp pretraining transformer foundational high-citations
Streszczenie
RoBERTa (Robustly Optimized BERT Pretraining Approach) to ulepszona wersja BERT (Devlin 2019): dłuższy trening, większe batch sizes, trening na 160GB tekstu (vs 16GB BERT), usunięcie Next Sentence Prediction, dynamiczne maskowanie. Rezultat: SOTA na GLUE, SQuAD, RACE bez task-specific architecture changes.
29,503 cytowań — standard backbone dla wszelkich NLP zadań wymagających fine-tuningu, w tym Named Entity Recognition (NER).
Kluczowe Wnioski
- Kluczowe zmiany vs BERT: więcej danych, dłuższy trening, brak NSP, dynamic masking
- GLUE score: 88.5 (RoBERTa-large) vs 80.5 (BERT-base) — znacząca poprawa
- Fine-tuning: 1-3 epoki na downstream task wystarczą
- Warianty:
roberta-base(125M params),roberta-large(355M params) - Token classification (NER): dodaj Linear head nad każdym tokenem → entity labels
Zastosowanie w projekcie
M3 Brand NER — backbone dla Named Entity Recognition:
from transformers import RobertaForTokenClassification, RobertaTokenizerFast
tokenizer = RobertaTokenizerFast.from_pretrained("roberta-base")
model = RobertaForTokenClassification.from_pretrained(
"roberta-base",
num_labels=len(ENTITY_LABELS) # O/B-BANK/B-PAYMENT/B-FINTECH/B-CARD
)
# Fine-tune na HTML snippets z silver labels (bootstrapped z brand list)
# Input: "<title>Log in to PayPal</title> Secure checkout with your..."
# Output: O O O O B-PAYMENT O O O O OLatency: roberta-base inference ~20-50ms (CPU), ~5ms (GPU) — akceptowalne dla M3.
Alternatywa: distilroberta-base (82M params, 2× szybszy, ~95% jakości) — jeśli latency krytyczna.
Notatki
29k cytowań — nie wymaga uzasadnienia. Cytuj jako “(Liu et al., 2019)” przy opisie M3 backbone. Użyj roberta-base — wystarczający dla domeny finansowej, roberta-large zbyt wolny dla real-time.