Pre-training of large language models (PL)

From Systems analysis Wiki
Jump to navigation Jump to search

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

Często używane zbiory danych do wstępnego uczenia LLM
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