Pre-training of large language models (PL)
Wstępne uczenie dużych modeli językowych (LLM) — to fundamentalny etap w tworzeniu nowoczesnych dużych modeli językowych, polegający na ich uczeniu na ogromnych i różnorodnych zbiorach nieoznakowanego tekstu. Proces ten pozwala modelom przyswajać ogólne wzorce językowe, wiedzę o świecie i powiązania semantyczne, tworząc tak zwany model fundamentalny (foundation model), który następnie można dostosować do rozwiązywania konkretnych zadań.
Czym jest wstępne uczenie?
Wstępne uczenie (pre-training) stanowi początkową fazę uczenia, w której LLM jest trenowany na wielkoskalowych zbiorach danych tekstowych z wykorzystaniem metod uczenia samokontrolowanego (self-supervised learning). Oznacza to, że sygnały uczące (etykiety) są generowane z samych danych, bez konieczności ręcznego oznaczania przez człowieka.
Głównym celem tego etapu jest przewidywanie ukrytych lub przyszłych fragmentów tekstu. W zależności od architektury stosowane są dwa podstawowe zadania:
- Przyczynowe modelowanie języka (Causal Language Modeling, CLM): Model uczy się przewidywać następne słowo (token) w sekwencji na podstawie wszystkich poprzednich. Podejście to leży u podstaw modeli generatywnych, takich jak GPT.
- Maskowane modelowanie języka (Masked Language Modeling, MLM): Model uczy się odtwarzać losowo „zamaskowane" (ukryte) słowa w tekście, wykorzystując otaczający je dwukierunkowy kontekst (słowa po lewej i prawej stronie). Metoda ta jest stosowana w modelach takich jak BERT.
Dzięki tym zadaniom model jest zmuszony do poznawania składni, semantyki oraz faktycznej wiedzy o świecie, aby skutecznie dokonywać przewidywań.
Dane do wstępnego uczenia
Skuteczność wstępnego uczenia w znacznej mierze zależy od jakości i różnorodności danych uczących. Wykorzystywane są następujące główne źródła:
- Strony internetowe: Zbiory danych, takie jak Common Crawl i C4, zapewniają szeroki zakres tematów, stylów i języków, stanowiąc swoisty „obraz" internetu.
- Książki: Korpusy takie jak BookCorpus i The Pile dostarczają ustrukturyzowanego i spójnego tekstu, przydatnego do rozumienia długoterminowych zależności i narracji.
- Dane konwersacyjne: Dane z forów (np. Reddit) i mediów społecznościowych, które pomagają modelom opanować nieformalny język i wzorce dialogowe.
- Dane specjalistyczne: Artykuły naukowe (z arXiv), kod programistyczny (z GitHub i The Stack) lub teksty wielojęzyczne służące poprawie specyficznych możliwości modelu.
Przykłady rozkładu danych
Różne modele wykorzystują różne proporcje źródeł, co wpływa na ich końcowe możliwości:
- GPT-3 (175 mld parametrów):** 16% książki, 84% strony internetowe.
- PaLM (540 mld parametrów):** 5% książki, 14% strony internetowe, 50% dane konwersacyjne, 31% inne.
- LLaMA (65 mld parametrów):** 5% książki, 2% strony internetowe, 87% dane konwersacyjne.
Rozkłady te pokazują, że dobór danych jest decyzją strategiczną, która różni się w zależności od celów modelu.
Często używane korpusy
| Korpus | Rozmiar | Źródło | Ostatnia aktualizacja |
|---|---|---|---|
| BookCorpus | 5GB | Książki | Gru-2015 |
| Gutenberg | - | Książki | Gru-2021 |
| C4 | 800GB | Common Crawl | Kwi-2019 |
| CC-Stories-R | 31GB | Common Crawl | Wrz-2019 |
| CC-NEWS | 78GB | Common Crawl | Lut-2019 |
| REALNEWS | 120GB | Common Crawl | Kwi-2019 |
| OpenWebText | 38GB | Linki Reddit | Mar-2023 |
| Pushshift.io | 2TB | Linki Reddit | Mar-2023 |
| Wikipedia | 21GB | Wikipedia | Mar-2023 |
| The Pile | 800GB | Inne | Gru-2020 |
| ROOTS | 1.6TB | Inne | Cze-2022 |
Techniki uczenia
Wstępne uczenie LLM wymaga znacznych zasobów obliczeniowych. Do zarządzania tym procesem stosowane są następujące techniki:
- Uczenie rozproszone: Wykorzystanie wielu GPU lub TPU do równoległego przetwarzania.
- Mieszana precyzja (Mixed Precision): Stosowanie formatów liczbowych o niższej precyzji (np. 16-bitowych zamiast 32-bitowych) w celu przyspieszenia obliczeń i zmniejszenia zużycia pamięci.
- Punkty kontrolne gradientu (Gradient Checkpointing): Technika oszczędzania pamięci poprzez ponowne obliczanie, a nie przechowywanie niektórych pośrednich aktywacji.
- Równoległość modelu (Model Parallelism): Rozproszenie samego modelu na wiele urządzeń.
Uczenie modelu takiego jak GPT-3 może trwać kilka miesięcy na tysiącach GPU.
Prawa skalowania
Badania, takie jak praca OpenAI (Kaplan et al., 2020), wykazały, że wydajność modeli językowych poprawia się w przewidywalny sposób wraz ze wzrostem trzech czynników:
- Rozmiaru modelu (liczby parametrów).
- Objętości danych.
- Zasobów obliczeniowych.
Te empiryczne zależności, znane jako prawa skalowania, służą jako wskazówka dla twórców przy projektowaniu i uczeniu większych i bardziej wydajnych modeli, umożliwiając optymalne rozdysponowanie budżetu obliczeniowego.
Wyzwania i osiągnięcia
- Skalowanie: Głównym osiągnięciem wstępnego uczenia jest możliwość zrównoważenia rozmiaru modelu, danych i zasobów obliczeniowych w celu osiągnięcia optymalnej wydajności.
- Jakość danych: Zapewnienie czystości, różnorodności i braku stronniczości w danych uczących jest kluczowym wyzwaniem.
- Efektywność: Opracowanie metod redukcji kosztów obliczeniowych, takich jak ciągłe wstępne uczenie lub bardziej efektywne architektury.
- Wielojęzyczność: Tworzenie modeli zdolnych do efektywnego przetwarzania wielu języków wymaga starannego doboru i balansowania danych.
Zobacz też
- Duże modele językowe
- BERT
- GPT