Benchmarki w NLP – GLUE, SuperGLUE i KLEJ

 In Technicznie

W pewnym momencie zmienił się sposób budowania modeli do przetwarzania języka naturalnego. Wcześniej budowano pojedyncze modele, które miały służyć do rozwiązania konkretnego zadania, np. modele analizy sentymentu czy wykrywania nazw własnych (NER). Następnie zaczęto korzystać z rozwiązań, które z powodzeniem były stosowane w obszarze przetwarzania obrazu (computer vision) opierające się na tzw. transfer learningu. Transfer learning zakłada stworzenie jednego wielkiego modelu, który „zna i rozumie” język, a potem ewentualne dotrenowanie go do konkretnych zadań.

Wraz z rozwojem takich bardzo dużych modeli językowych pojawiła się potrzeba stworzenia jakiegoś standardowego sposobu ich ewaluacji – tak, aby badacze z całego świata mieli jakiś punkt odniesienia co do jakości swoich modeli. Mówimy tutaj o bardzo dużych, rozbudowanych modelach języka, które mają ambicje do rozwiązywania wszystkich najważniejszych zadań w dziedzinie NLP. Aby możliwie dokładnie sprawdzić ich jakość, stworzono zestawy bardzo zróżnicowanych zadań językowych, z różnych dziedzin, a także z różną ilością danych treningowych. Tak powstały benchmarki GLUE, jego następca SuperGLUE, a także ich polski odpowiednik KLEJ.

 

GLUE BENCHMARK

Skrót GLUE pochodzi od General Language Understanding Evaluation i składa się z 9 różnych zadań z zakresu NLP dla języka angielskiego. Tabela ze skróconym opisem każdego zadania znajduje się poniżej. Dokładna tabela dostępna jest tutaj.

NAZWADZIEDZINASKRÓCONY OPISLINK
CoLAGramatykaBinarna klasyfikacja pojedynczych zdań: czy są gramatycznie poprawne czy nie.CoLA
SST-2Analiza sentymentuKlasyfikacja wydźwięku recenzji filmowych na 3 klasy: pozytywne, negatywne i neutralne.SST-2
MRPCParafrazaBinarna klasyfikacja czy dana para zdań ma takie samo znaczenie semantyczne.MRPC
STS-BPodobieństwo zdańRównież podobieństwo semantyczne par zdań, ale w skali od 1 do 5. Dane z nagłówków artykułów, opisów zdjęć i video, opisane przez ludzi (annotatorów).STS-B
QQPParafrazaBinarna klasyfikacja par zdań pytających zebranych z portalu Quora. Zadaniem modelu jest klasyfikacja czy dane 2 pytania są do siebie podobne czy nie.QQP
MNLIPowiązanie par zdańZbiór zawiera zanotowane pary zdań. Biorąc pod uwagę zdanie przesłanki i zdanie hipotezy, zadanie polega na przewidzeniu, czy przesłanka pociąga za sobą hipotezę (entailment), zaprzecza hipotezie (contradiction), czy też nie pociąga za sobą żadnego z nich (neutral). Zdania zebrane zostały z różnych źródeł, w tym z transkrybowanych wypowiedzi, popularnej beletrystyki i raportów rządowych.MNLI
QNLIQuestion AnsweringKlasyfikacja oparta na datasecie SQuAD. Zbiór zawiera pary tekstu składające się z pytania i tekstu. Zadaniem modelu jest prawidłowo wskazać dla każdej pary czy informacje w tekście pozwalają odpowiedzieć na pytanie.QNLI
RTEPowiązanie par zdańBinarna klasyfikacja par zdań (przesłanka i hipoteza). Zadaniem modelu jest wskazanie czy przesłanka pociąga za sobą hipotezę. Dane pochodzą z newsów online.RTE
WNLIPowiązanie par zdańZadanie oparte jest na Winograd Schema Challenge (ale w trochę ułatwionej wersji) polega na przewidzeniu, czy zdanie z podstawionym zaimkiem jest implikowane przez zdanie oryginalne.WNLI

Zadania różnią się nie tylko rodzajem rozwiązywanego problemu czy dziedziną, ale również ilością dostępnych danych. Jest to istotna kwestia, gdyż dobry model języka powinien być w stanie poradzić sobie nawet z małą ilością danych do treningu (powinien już na wejściu „znać” język).Benchmark GLUE jest zbiorem różnych wcześniej dostępnych zadań, datasetów, konkursów itp. które jako całość mają dawać ogólne pojęcie o jakości modelu językowego. Niektóre oryginalne zadania zostały trochę zmodyfikowane, aby móc wszystkie zadania ocenić w jednej skali. Ostateczny wynik GLUE dla danego modelu językowego to średnia arytmetyczna z wyników uzyskanych na poszczególnych zadaniach.

Jako ciekawostka warto wspomnieć, że dopiero po jakimś czasie od ogólnego udostępnienia benchmarku GLUE, jego twórcy zdecydowali się zainwestować i sprawdzić jak ludzie poradzą sobie z tymi 9 zadaniami. Twórcy GLUE chcieli złapać punkt odniesienia w stosunku do coraz lepszych wyników osiąganych przez takie modele jak Elmo, BERT czy GPT od OpenAI, żeby przekonać się ile jest jeszcze miejsca do poprawy. Ludzie uzyskali wynik ok. 5-6 pkt wyższy niż model BERT.

Niedługo po tym jak udostępnione zostały wyniki uzyskane przez człowieka (tzw. „Human Baselines”), pojawił się model od Microsoftu. Model ten był oparty na architekturze BERT (różnił się tylko metodą fine-tuningu) i przebił wynik uzyskany przez człowieka. Kolejne modele śrubowały wynik jeszcze wyżej. Aktualna tablica wyników dostępna jest tutaj. Na pierwszym miejscu znajduje się model ERNIE od Baidu, a człowiek jest na 15 miejscu 🙂

SUPERGLUE BENCHMARK

Skoro GLUE benchmark został praktycznie rozwiązany (modele radziły sobie lepiej niż ludzie) pojawiła się potrzeba stworzenia nowego benchmarku, który zawiesi poprzeczkę jeszcze wyżej. Twórcy GLUE zabrali się więc ochoczo do pracy i rozpoczęli od zebrania od społeczności NLP różnych propozycji zadań i datasetów, które miały odzwierciedlać trudne problemy w dziedzinie przetwarzania i rozumienia języka naturalnego (NLU). Otrzymali około 40 propozycji.

Następnie każde zadanie dali do rozwiązania ludziom i porównali ludzkie wyniki z modelem BERT large wytrenowanym na defaultowych parametrach. Postanowili zostawić te taski, w których ludzie byli znacząco lepsi od BERTa. W ten sposób zostało im tylko osiem zadań (pozostałe BERT rozwiązywał lepiej niż człowiek). Doskonale pokazuje to jaką rewolucję wprowadziły transformersy do NLP. Osiem zadań, w których ludzie byli lepsi niż BERT zostały uzupełnione o dwa zadania z oryginalnego GLUE (gdzie człowiek miał przewagę nad maszynami) i tak powstał benchmark SuperGLUE (szczegóły w tabeli poniżej).

NAZWADZIEDZINASKRÓCONY OPISLINK
AX-bRozumienie językaZestaw danych diagnostycznych skonstruowany przez ekspertów, który automatycznie testuje modele pod kątem szerokiego zakresu wiedzy językowej, zdrowego rozsądku i wiedzy o świecie. Każdy przykład w tej szeroko zakrojonej diagnostyce to para zdań oznaczona trzystopniową relacją wynikającą (powiązanie, neutralność lub sprzeczność) i oznaczona etykietami, które wskazują na zjawiska charakteryzujące związek między dwoma zdaniami. AX-b
CBPowiązanie par zdańCB jest korpusem krótkich tekstów, w których przynajmniej jedno zdanie zawiera klauzulę osadzoną. Każda z tych klauzul jest opatrzona adnotacją o stopniu, w jakim wydaje się, że osoba, która napisała tekst, jest przekonana o prawdziwości tej klauzuli. Każdy przykład składa się z przesłanki zawierającej osadzoną klauzulę, a odpowiadająca jej hipoteza jest ekstrakcją tej klauzuli.CB
COPAQuestion AnsweringJest to zadanie rozumowania przyczynowego, w którym model otrzymuje zdanie z przesłanką i musi określić przyczynę lub skutek przesłanki z dwóch możliwych wyborów.COPA
MultiRCQuestion AnsweringJest to zadanie QA, w którym każdy przykład składa się z kontekstowego tekstu, pytania dotyczącego tego akapitu oraz listy możliwych odpowiedzi. System musi przewidzieć, które odpowiedzi są prawdziwe, a które fałszywe.MultiRC
RTEPowiązanie par zdańBinarna klasyfikacja par zdań (przesłanka i hipoteza). Zadaniem modelu jest wskazanie czy przesłanka pociąga za sobą hipotezę. Dane pochodzą z newsów online.RTE
WiCUjednoznacznienie sensu słowaMając do dyspozycji dwa fragmenty tekstu i wieloznaczne słowo, które pojawia się w obu zdaniach, należy określić, czy słowo to jest użyte w tym samym znaczeniu w obu zdaniach.WiC
WSCKoreferencja słówJest to zadanie typu „coreference resolution”, w którym przykłady składają się ze zdania z zaimkiem oraz listy fraz rzeczownikowych z tego zdania. Model musi określić której frazy dotyczy zaimek.WSC
BoolQQuestion AnsweringDane składają się z tekstu i pytania zamkniętego dotyczącego tego tekstu. Model musi prawidłowo odpowiedzieć tak lub nie.BoolQ
ReCoRDQuestion AnsweringJest to zadanie typu QA wielokrotnego wyboru. Każdy przykład składa się z artykułu prasowego i tzw. pytania „cloze”, w którym jeden podmiot jest zamaskowany. System musi przewidzieć zamaskowaną jednostkę z listy możliwych jednostek w podanym fragmencie.ReCoRD
AX-gRozumienie językaWinogender jest przeznaczony do pomiaru uprzedzeń płciowych w systemach rozwiązywania koreferencji. Każdy przykład składa się ze zdań z zaimkiem męskim lub żeńskim oraz hipotezy podającej możliwy poprzednik zaimka. Przykłady występują w parach minimalnych, gdzie jedyną różnicą między przykładem, a jego parą jest płeć zaimka w przesłance.AX-g

SuperGLUE jest bardziej wymagający nie tylko ze względu na złożoność zadań. Poniższy wykres pokazuje ilości danych treningowych w nowych zadaniach w benchmarku SuperGLUE. Jak widać danych jest o wiele mniej niż dla benchmarku GLUE i jest to oczywiście dodatkowe utrudnienie dla modeli językowych.

Poniżej przedstawiam aktualny ranking SuperGLUE. Jak widać ludzie również w tym benchmarku zostali już pokonani przez dwa modele takich gigantów jak Google czy Microsoft, ale wciąż trzymamy się na podium 🙂

KLEJ BENCHMARK

GLUE i Super GLUE to benchmarki stworzone dla języka angielskiego. Język angielski i język chiński to dwa najprężniej rozwijające się języki w dziedzinie NLU (Natural Language Understanding). Jest to zrozumiałe ze względu na popularność tych języków i ilość osób na świecie, które ich uważają. Ale język polski w myśl poniższej sentencji Mikołaja Reja również stara się dodać swoją cegiełkę do światowego NLP.

„A niechaj narodowie wżdy postronni znają, iż Polacy nie gęsi, iż swój język mają.”

                                                                                                    Mikołaj Rej

Polskie Allegro ma silny dział specjalizujący się w NLP i stworzyło benchmark analogiczny do GLUE, ale dotyczący zadań dla polskojęzycznych modeli językowych. Inspirację benchmarkiem GLUE widać nawet w nazwie polskiego benchmarku: KLEJ, czyli Kompleksowa Lista Ewaluacji Językowych. Idea jest identyczna jak dla GLUE: zebranie istniejących zadań i datasetów w zestaw, który będzie zróżnicowany pod względem rozwiązywanych problemów i ilości danych treningowych. Benchmark ten był potrzebny Allegro do ewaluacji tworzonego przez nich ogólnego modelu języka polskiego. Co ciekawe szybko okazało się, że stworzenie benchmarku było ważniejsze niż sam początkowy model, który Allegro chciało wytrenować. Benchmark ten stał się swoistą bazą do ewaluacji wszystkich modeli tworzonych przez Allegro.

Aktualne wyniki KLEJ udostępnione są online wraz z rankingiem (tzw. leaderboard), który zbiera w jednym miejscu wszystkie najlepsze obecnie modele dla języka polskiego. Analizując wyniki KLEJ warto patrzeć nie tylko na wynik końcowy danego modelu i jego miejsce w rankingu, ale również na wyniki uzyskane dla poszczególnych tasków. Warto zwrócić uwagę, że cały benchmark jest na tyle zróżnicowany, że nie ma modelu, który górowałby nad innymi we wszystkich zadaniach. Najlepszy obecnie model HerBert jest najlepszy w tylko 3 z 9 zadań. Niestety nie mamy informacji o tym jaki wynik osiągnęliby ludzie w tym benchmarku. Dzięki temu moglibyśmy określić ile nasze (polskie) modele językowe mają jeszcze przestrzeni na ewentualną poprawę.

Poniższa tabela pokazuje szczegóły benchmarku KLEJ.

NAZWADZIEDZINASKRÓCONY OPISLINK
NKJP-NERNERWykrywanie nazw własnych w zdaniach. Z małym ułatwieniem, że model nie musimy dokładnie wskazać, które słowo w zdaniu to NER, tylko wystarczy, że dokona klasyfikacji czy w danym zdaniu występuje nazwa własna czy nie (i jeśli tak to z jakiej kategorii).NKJP-NER
DCSC-EPowiązanie par zdańZadanie polega na przewidywaniu pokrewieństwa pomiędzy parą zdań, w zakresie od 0 (brak pokrewieństwa) do 5 (bardzo duże pokrewieństwo). Wynik jest średnią z ocen przyznanych przez trzech ludzkich anotatorów. Metryką sukcesu modelu jest korelacja Spearmana.DCSC-E
CDSC-RPowiązanie par zdańZadanie wykorzystuje tekstowe adnotacje o implikacjach, aby przewidzieć, czy przesłanka pociąga za sobą hipotezę (“entailment”), neguje hipotezę (“contradiction”), czy też jest niezwiązana (“neutral”). Pomimo bardzo niezrównoważonego rozkładu klas (większość przypadków jest neutralna) metryką sukcesu jest “accuracy”.CDSC-R
CBDAnaliza sentymentuWykrywanie mowy nienawiści w tweetach. Dataset z konkursu Poleval. Metryką sukcesu jest f1-score.CBD
PolEmo2.0-INAnaliza sentymentuKlasyfikacja sentymentu opinii na temat leków i hoteli. Walidacja na danych z domeny (medycyna i hotele).PolEmo2.0-IN
PolEmo2.0-OUTAnaliza sentymentuKlasyfikacja sentymentu opinii na temat leków i hoteli. Walidacja na danych spoza domeny (produkty i uniwersytety).PolEmo2.0-OUT
DYKQuestion AnsweringModel ma sklasyfikować czy dana para (pytanie, odpowiedź) jest prawidłowa. Aby utrudnić twórcy wybrali te negatywne przykłady, w których odpowiedzi najbardziej pokrywały się z pytaniem. Najtrudniejsze zadanie w całym benchmarku, gdyż ilość danych jest tak mała, że nie da się na nich wytrenować modelu. Wiedza musi przyjść z zewnątrz.DYK
PSCParafrazaStreszczenie artykułów. Czy dana para streszczeń odnosi się do tego samego artykułu, czy nie (model musi sobie radzić na długich tekstach)? Aby utrudnić zadanie jako negatywne przykłady wybrano streszczenia najbardziej zbliżonych do siebie artykułów.PSC
ARAnaliza sentymentuRecenzje produktów z allegro.pl. Model musi przewidzieć ocenę produktu w skali 1 (negatyw) do 5 (pozytyw), na podstawie jego recenzji. Dataset zawiera 12 tys. recenzji, których minimalna długość wynosi co najmniej 50 słów.AR

Obecnie na prowadzeniu w benchmarku znajduje się model HerBERT (large) stworzony przez Allegro i IPI PAN.

PODSUMOWANIE

Benchmarki to świetne narzędzia do ewaluacji modeli językowych. Jedyną wadą, którą można im zarzucić to skupienie się tylko na wydajności danego modelu. Benchmarki te nie biorą pod uwagę takich parametrów jak ilość potrzebnych danych treningowych, szybkości czy liczby parametrów danego modelu, która przekłada się na czas treningu i zasoby obliczeniowe. Zasadne wydaje się stworzenie dodatkowych benchmarków poprzez wymaganie od uczestniczących modeli określonego poziomu efektywności.

Autor:

Andrzej Jankowski, pasjonat sztucznej inteligencji i uczenia maszynowego, absolwent Politechniki Warszawskiej, specjalista ks. zarządzania projektami i automatyzacji procesów.

Recent Posts