Jak najlepiej wykorzystać wstępnie wytrenowane modele
Opublikowany: 2022-03-11Większość nowych modeli uczenia głębokiego, szczególnie w NLP, jest bardzo, bardzo obszernych: ich parametry wahają się od setek milionów do dziesiątek miliardów.
Biorąc pod uwagę wystarczająco dobrą architekturę, im większy model, tym większą ma zdolność uczenia się. Dlatego te nowe modele mają ogromne możliwości uczenia się i są szkolone na bardzo, bardzo dużych zbiorach danych.
Dzięki temu uczą się całej dystrybucji zestawów danych, na których są szkoleni. Można powiedzieć, że kodują skompresowaną wiedzę o tych zbiorach danych. Pozwala to na wykorzystanie tych modeli w bardzo interesujących zastosowaniach — najczęstszym z nich jest uczenie transferowe. Uczenie transferu to dostrajanie wstępnie wytrenowanych modeli na niestandardowych zestawach danych/zadaniach, co wymaga znacznie mniej danych, a modele są bardzo szybko zbieżne w porównaniu do uczenia od podstaw.
Jak wstępnie wytrenowane modele są algorytmami przyszłości
Chociaż wstępnie wytrenowane modele są również używane w wizji komputerowej, ten artykuł skupi się na ich nowatorskim wykorzystaniu w dziedzinie przetwarzania języka naturalnego (NLP). Architektura transformatorowa jest najpowszechniejszą i najpotężniejszą architekturą używaną w tych modelach.
Chociaż BERT rozpoczął rewolucję uczenia się transferu NLP, będziemy badać modele GPT-2 i T5. Modele te są wstępnie wytrenowane — precyzyjne dostrojenie ich w określonych aplikacjach zapewni znacznie lepsze metryki oceny, ale będziemy ich używać po wyjęciu z pudełka, tj. bez dostrajania.
Wstępnie wytrenowane modele NLP: GPT-2 firmy OpenAI
GPT-2 wywołał spore kontrowersje, gdy został wydany w 2019 roku. Ponieważ był bardzo dobry w generowaniu tekstu, przyciągnął uwagę mediów i wzbudził wiele pytań dotyczących przyszłości sztucznej inteligencji.
Wyszkolony na 40 GB danych tekstowych GPT-2 jest bardzo dużym modelem zawierającym ogromną ilość skompresowanej wiedzy z przekroju Internetu.
GPT-2 ma wiele potencjalnych przypadków użycia. Może służyć do przewidywania prawdopodobieństwa zdania. To z kolei może służyć do autokorekty tekstu. Następnie przewidywanie słów może być bezpośrednio użyte do zbudowania komponentu autouzupełniania dla IDE (takiego jak Visual Studio Code lub PyCharm) do pisania kodu, a także ogólnego pisania tekstu. Wykorzystamy go do automatycznego generowania tekstu, a duży korpus tekstu można wykorzystać do analizy języka naturalnego.
Generowanie tekstu
Zdolność wstępnie wytrenowanego modelu, takiego jak GPT-2, do generowania spójnego tekstu jest bardzo imponująca. Możemy nadać mu przedrostek i poprosić o wygenerowanie następnego słowa, frazy lub zdania.
Przykładowym przypadkiem użycia jest wygenerowanie zbioru danych recenzji produktów, aby zobaczyć, jakiego rodzaju słowa są zwykle używane w opiniach pozytywnych, a jakie w opiniach negatywnych.
Spójrzmy na kilka przykładów, zaczynając od tego, co otrzymamy, jeśli zaczniemy od dodatniego przedrostka „Naprawdę podobał mi się ten film!”
Próbka 1 | Uwielbiałem emocje bohatera związane z ciągłym niebezpieczeństwem i to, jak jego wewnętrzne lęki zostały powoli przezwyciężone przez te wydarzenia. Uwielbiał też, że jest tak skupiony na przetrwaniu; nawet przez chwilę wydawało mi się, że coś z Batman v Superman pojawiało się ponownie, ponieważ zawsze wiedziałeś, że twój wróg i tak w końcu się pojawi :) Końcówka też naprawdę utkwiła we mnie… To znaczy tak, musieli… |
Próbka 2 | Zrobił dokładnie to, czego chciałem, po prostu świetnie się bawił. Obsada była niesamowita, a historia ma jak dotąd sens po obejrzeniu wszystkiego innego już na IMDB. Istnieją wskazówki dotyczące przebywania w podziemnym mieście od niepamiętnych czasów ze względu na ich „moc” (lub jej brak), ale tak naprawdę niewiele mówią… Myślę, że to bardziej jak jedna wielka tajemnica niż kilka innych aspektów, które na razie łączą się ze mną chociaż….Podobno… |
Jak widać, słowo recenzja nie było nigdzie w przedrostku, ale ponieważ większość recenzji to tytuły, po których następuje treść recenzji, zmusiło to model do dostosowania się do tej dystrybucji. Zwróć też uwagę na odniesienie do Batman v Superman .
Zobaczmy inny przykład. Zamiast recenzji filmu spróbujemy wygenerować recenzję produktu z negatywnym prefiksem „Produkt śmieciowy! Nie kupuj."
Próbka 1 | I proszę, NIE próbuj używać tego jako nawozu do swoich ogrodów lub trawników – spowoduje poważne uszkodzenie wody, jeśli zostanie połknięty przez ryby i ptaki. Używaj ostrożnie ze względu na możliwość, że pestycydy mogą być obecne w karmach dla zwierząt domowych dostępnych online w ekologicznych sklepach spożywczych, takich jak zbyt „dobre” marki, takie jak Petsmart, PetSmart i Safeway. Jak toksyczne są odpady żywnościowe? Produkty odpadowe mogą wnosić znaczne ilości - wystarczająco, aby nawet bardzo… |
Próbka 2 | Nikt nigdy więcej nie da ci kawałka tych śmieci. Po prostu zrób sobie i swojej firmie przysługę i posprzątaj przed zakupem tylko po to, aby zaoszczędzić trochę pieniędzy lub wygody w przyszłości. 1/2 uncji butelki plastikowe opakowanie do przechowywania żywności + 1 opakowanie #1636370105702615 (P, 3ml) 7 USD Kup teraz Możesz kupić te butelki w dowolnym sklepie detalicznym, ale oto, jak uzyskać… |
Ponownie prefiks można wywnioskować jako tytuł recenzji produktu, więc model zaczyna generować tekst zgodnie z tym wzorcem. GPT-2 może generować dowolny rodzaj tekstu, taki jak ten.
Notatnik Google Colab jest gotowy do eksperymentów, podobnie jak prezentacja na żywo „Write With Transformer”.
Odpowiedzi na pytania
Tak, ponieważ GPT-2 jest szkolony w Internecie, „zna” wiele ludzkiej wiedzy, która została opublikowana online do 2019 r. Może również działać w przypadku pytań kontekstowych, ale będziemy musieli postępować zgodnie z wyraźnym formatem „ Pytanie: X, Odpowiedź:” przed próbą autouzupełniania. Ale jeśli zmusimy model do odpowiedzi na nasze pytanie, może dać dość niejasną odpowiedź. Oto, co się dzieje, gdy próbuje zmusić go do odpowiedzi na pytania otwarte w celu sprawdzenia jego wiedzy:
Próbka 1 | Pytanie: Kto wynalazł teorię ewolucji? Odpowiedź: Teoria ewolucji została po raz pierwszy zaproponowana przez Karola Darwina w 1859 roku. |
Próbka 2 | Pytanie: Ile zębów mają ludzie? Odpowiedź: Ludzie mają 21 zębów. |
Jak widać, wstępnie wytrenowany model dał dość szczegółową odpowiedź na pierwsze pytanie. Po drugie, starał się jak najlepiej, ale nie ma porównania z wyszukiwarką Google.
Widać, że GPT-2 ma ogromny potencjał. Dostrajając go, można go zastosować do wyżej wymienionych przykładów ze znacznie większą dokładnością. Ale nawet wstępnie wytrenowany GPT-2, który oceniamy, wciąż nie jest taki zły.
Wstępnie przeszkolone modele NLP: Google T5
T5 firmy Google to jeden z najbardziej zaawansowanych dotychczas modeli języka naturalnego. Opiera się na poprzednich pracach nad modelami Transformera w ogóle. W przeciwieństwie do BERT, który miał tylko bloki kodera i GPT-2, który miał tylko bloki dekodera, T5 używa obu .

Szkolenie GPT-2 na 40 GB danych tekstowych już robiło wrażenie, ale T5 był trenowany na zestawie danych o pojemności 7 TB . Mimo że został wyszkolony do bardzo, bardzo dużej liczby iteracji, nie mógł przejść przez cały tekst. Chociaż T5 może wykonywać generowanie tekstu jak GPT-2, użyjemy go w bardziej interesujących biznesowych przypadkach użycia.

Podsumowanie
Zacznijmy od prostego zadania: podsumowania tekstu. Dla tych firm zajmujących się rozwojem sztucznej inteligencji, które chcą zbudować aplikację podsumowującą artykuł z wiadomościami, T5 doskonale nadaje się do tego zadania. Na przykład, przekazując ten artykuł T5, oto trzy różne podsumowania, które stworzył:
V1 | W następnym sezonie destiny 2, który rozpocznie się 10 marca, przerobimy miecze. będą one miały energię doładowania, która służy zarówno do zasilania ciężkich ataków, jak i do obrony . w tym miesiącu odbywa się również impreza walentynkowa, karmazynowe dni. |
V2 | Bungie ujawniło, że w następnym sezonie w destiny 2 miecze zostaną radykalnie przerobione. studio było w większości nieśmiałe co do tego, co przyniesie sezon. ponowne przemyślenie pozwoli mieczom częściowo ominąć tarcze wrogów . |
V3 | W następnym sezonie destiny 2 przerobi miecze i pozwoli im ominąć tarcze wrogów. sezon zaczyna się 10 marca. możesz grać w Destiny 2 podczas Karmazynowych Dni, wydarzenia walentynkowego. |
Jak widać, wykonał całkiem niezłą robotę, podsumowując artykuł. Ponadto każde podsumowanie różni się od pozostałych.
Podsumowanie przy użyciu wstępnie wytrenowanych modeli ma ogromne potencjalne zastosowania. Jednym z interesujących przypadków użycia może być automatyczne wygenerowanie podsumowania każdego artykułu i umieszczenie go na początku dla czytelników, którzy chcą tylko streszczenia. Można to posunąć dalej, personalizując podsumowanie dla każdego użytkownika . Na przykład, jeśli niektórzy użytkownicy mają mniejsze słownictwo, mogą otrzymać podsumowanie z mniej skomplikowanymi wyborami słów. To bardzo prosty przykład, ale pokazuje moc tego modelu.
Innym ciekawym przypadkiem użycia może być wykorzystanie takich podsumowań w SEO strony internetowej. Chociaż T5 można wytrenować, aby automatycznie generować bardzo wysokiej jakości SEO, użycie podsumowania może pomóc od razu, bez ponownego uczenia modelu.
Czytanie ze zrozumieniem
T5 może być również używany do czytania ze zrozumieniem, np. odpowiadania na pytania z danego kontekstu. Ta aplikacja ma bardzo ciekawe przypadki użycia, które zobaczymy później. Ale zacznijmy od kilku przykładów:
Pytanie | Kto wynalazł teorię ewolucji? |
Kontekst (Encyklopadia Britannica) | Odkrycie skamieniałych kości dużych wymarłych ssaków w Argentynie oraz obserwacja licznych gatunków zięb na Wyspach Galapagos były jednymi z wydarzeń, którym przypisuje się rozbudzanie zainteresowania Darwina pochodzeniem gatunków. W 1859 r. opublikował O powstawaniu gatunków za pomocą doboru naturalnego, traktat ustanawiający teorię ewolucji i, co najważniejsze, rolę doboru naturalnego w określaniu jej przebiegu. |
Odpowiedź | Darwin |
Nie ma wyraźnej wzmianki, że Darwin wynalazł teorię, ale model wykorzystał swoją istniejącą wiedzę wraz z pewnym kontekstem, aby dojść do właściwych wniosków.
Co powiesz na bardzo mały kontekst?
Pytanie | Gdzie poszliśmy? |
Kontekst | W moje urodziny postanowiliśmy odwiedzić północne tereny Pakistanu. Było naprawdę zabawnie. |
Odpowiedź | północne obszary Pakistanu |
Ok, to było całkiem proste. A może pytanie filozoficzne?
Pytanie | Jaki jest sens życia? |
Kontekst (Wikipedia) | Postrzegany przez nas sens życia wywodzi się z filozoficznej i religijnej kontemplacji oraz naukowych dociekań o egzystencję, więzi społeczne, świadomość i szczęście. W grę wchodzi również wiele innych kwestii, takich jak znaczenie symboliczne, ontologia, wartość, cel, etyka, dobro i zło, wolna wola, istnienie jednego lub wielu bogów, koncepcje Boga, duszy i życia pozagrobowego. Wkłady naukowe skupiają się przede wszystkim na opisywaniu powiązanych faktów empirycznych dotyczących wszechświata, badaniu kontekstu i parametrów dotyczących „jak” życia. |
Odpowiedź | filozoficzna i religijna kontemplacja i naukowe dociekania na temat istnienia, więzi społecznych, świadomości i szczęścia |
Chociaż wiemy, że odpowiedź na to pytanie jest bardzo skomplikowana, T5 próbował znaleźć bardzo zbliżoną, ale rozsądną odpowiedź. Sława!
Idźmy dalej. Zadajmy kilka pytań, wykorzystując jako kontekst wspomniany wcześniej artykuł z Engadget.
Pytanie | O czym to jest? |
Odpowiedź | destiny 2 radykalnie się zmieni |
Pytanie | Kiedy możemy spodziewać się tej aktualizacji? |
Odpowiedź | 10 marca |
Jak widać, kontekstowe odpowiedzi na pytania w T5 są bardzo dobre. Jednym z zastosowań biznesowych może być zbudowanie kontekstowego chatbota dla witryn internetowych, który odpowiada na zapytania dotyczące bieżącej strony.
Innym przypadkiem użycia może być wyszukiwanie pewnych informacji w dokumentach, np. zadawanie pytań typu „Czy używanie firmowego laptopa do osobistego projektu jest naruszeniem umowy?” używanie dokumentu prawnego jako kontekstu. Chociaż T5 ma swoje ograniczenia, całkiem dobrze nadaje się do tego typu zadań.
Czytelnicy mogą się zastanawiać, dlaczego nie użyć wyspecjalizowanych modeli do każdego zadania? To dobry punkt: dokładność byłaby znacznie wyższa, a koszt wdrożenia wyspecjalizowanych modeli byłby znacznie niższy niż wstępnie wytrenowanego modelu NLP T5. Ale piękno T5 polega właśnie na tym, że jest „jednym modelem, który rządzi wszystkimi”, tj. możesz użyć jednego wytrenowanego modelu do prawie każdego zadania NLP. Ponadto chcemy korzystać z tych modeli po wyjęciu z pudełka, bez przekwalifikowania lub dostrajania. Tak więc dla programistów tworzących aplikację, która podsumowuje różne artykuły, a także aplikację, która odpowiada na pytania kontekstowe, ten sam model T5 może wykonać oba te zadania.
Wstępnie wytrenowane modele: modele głębokiego uczenia się, które wkrótce staną się wszechobecne
W tym artykule omówiliśmy wstępnie wytrenowane modele i sposoby ich użycia po wyjęciu z pudełka w różnych biznesowych przypadkach użycia. Podobnie jak klasyczny algorytm sortowania jest używany prawie wszędzie do rozwiązywania problemów, te wstępnie wytrenowane modele będą używane jako standardowe algorytmy. Jest całkiem jasne, że to, co zbadaliśmy, było tylko zarysowaniem powierzchni aplikacji NLP, a te modele mogą zrobić o wiele więcej.
Wstępnie przeszkolone modele głębokiego uczenia, takie jak StyleGAN-2 i DeepLabv3, mogą w podobny sposób zasilać aplikacje komputerowego widzenia. Mam nadzieję, że podobał Ci się ten artykuł i czekamy na Twoje komentarze poniżej.