Предобучване

From Systems analysis wiki
Jump to navigation Jump to search

Предобучване на големи езикови модели (LLM) — това е фундаментален етап в създаването на съвременни големи езикови модели, който се изразява в тяхното обучение върху огромни и разнородни масиви от неразмеченост текст. Този процес позволява на моделите да усвояват общи езикови закономерности, знания за света и семантични връзки, формирайки така наречения фундаментален модел (foundation model), който след това може да бъде адаптиран за решаване на конкретни задачи.

Какво представлява предобучването?

Предобучването (pre-training) представлява начална фаза на обучение, в която LLM се подлага на обучение върху мащабни текстови набори от данни с използване на методи самоконтролирано обучение (self-supervised learning). Това означава, че обучаващите сигнали (етикети) се генерират от самите данни, без необходимост от ръчна разметка от човек.

Основната цел на този етап е предсказване на скрити или бъдещи части от текста. В зависимост от архитектурата се използват две основни задачи:

  • Каузално езиково моделиране (Causal Language Modeling, CLM): Моделът се учи да прогнозира следващата дума (token) в последователността въз основа на всички предишни. Този подход стои в основата на генеративните модели като GPT.
  • Маскирано езиково моделиране (Masked Language Modeling, MLM): Моделът се учи да възстановява произволно „маскирани" (скрити) думи в текста, използвайки заобикалящия ги двупосочен контекст (думи вляво и вдясно). Този метод се използва в модели като BERT.

Благодарение на тези задачи моделът е принуден да изучава синтаксис, семантика и фактически знания за света, за да прави успешни предсказания.

Данни за предобучване

Ефективността на предобучването в значителна степен зависи от качеството и разнообразието на обучаващите данни. Използват се следните основни източници:

  • Уеб страници: Масиви от данни като Common Crawl и C4 осигуряват широк спектър от теми, стилове и езици, представлявайки „снимка" на интернет.
  • Книги: Корпуси като BookCorpus и The Pile предоставят структуриран и свързан текст, полезен за разбиране на дългосрочни зависимости и наративи.
  • Разговорни данни: Данни от форуми (например Reddit) и социални мрежи, които помагат на моделите да усвояват неформален език и диалогови патерни.
  • Специализирани данни: Научни статии (от arXiv), програмен код (от GitHub и The Stack) или многоезични текстове за подобряване на специфичните възможности на модела.

Примери за разпределение на данните

Различните модели използват различно съотношение на източници, което влияе върху крайните им способности:

  • GPT-3 (175 млрд. параметъра):** 16% книги, 84% уеб страници.
  • PaLM (540 млрд. параметъра):** 5% книги, 14% уеб страници, 50% разговорни данни, 31% други.
  • LLaMA (65 млрд. параметъра):** 5% книги, 2% уеб страници, 87% разговорни данни.

Тези разпределения показват, че изборът на данни е стратегическо решение, което варира в зависимост от целите на модела.

Често използвани корпуси

Често използвани набори от данни за предобучване на LLM
Корпус Размер Източник Последна актуализация
BookCorpus 5GB Книги Дек-2015
Gutenberg - Книги Дек-2021
C4 800GB Common Crawl Апр-2019
CC-Stories-R 31GB Common Crawl Сеп-2019
CC-NEWS 78GB Common Crawl Фев-2019
REALNEWS 120GB Common Crawl Апр-2019
OpenWebText 38GB Връзки от Reddit Мар-2023
Pushshift.io 2TB Връзки от Reddit Мар-2023
Wikipedia 21GB Уикипедия Мар-2023
The Pile 800GB Други Дек-2020
ROOTS 1.6TB Други Юни-2022

Техники на обучение

Предобучването на LLM изисква значителни изчислителни ресурси. За управление на този процес се прилагат следните техники:

  • Разпределено обучение: Използване на множество GPU или TPU за паралелна обработка.
  • Смесена точност (Mixed Precision): Използване на числови формати с по-малка точност (например 16-битови вместо 32-битови) за ускоряване на изчисленията и намаляване на използването на памет.
  • Контролни точки на градиента (Gradient Checkpointing): Техника за пестене на памет чрез преизчисляване, а не съхраняване на някои междинни активации.
  • Паралелизъм на модели (Model Parallelism): Разпределяне на самия модел върху множество устройства.

Обучението на модел като GPT-3 може да отнеме няколко месеца на хиляди GPU.

Закони за мащабиране

Изследвания като тази на OpenAI (Kaplan et al., 2020) показаха, че производителността на езиковите модели се подобрява предсказуемо с увеличаването на три фактора:

  • Размера на модела (броя параметри).
  • Обема на данните.
  • Изчислителните ресурси.

Тези емпирични зависимости, известни като закони за мащабиране, служат като насока за разработчиците при проектирането и обучението на по-големи и мощни модели, позволявайки оптимално разпределяне на изчислителния бюджет.

Предизвикателства и постижения

  • Мащабиране: Основното постижение на предобучването е възможността за балансиране на размера на модела, данните и изчисленията с цел постигане на оптимална производителност.
  • Качество на данните: Осигуряването на чистота, разнообразие и отсъствие на предубеденост в обучаващите данни е ключово предизвикателство.
  • Ефективност: Разработването на методи за намаляване на изчислителните разходи, като непрекъснато предобучване или по-ефективни архитектури.
  • Многоезичност: Създаването на модели, способни ефективно да обработват няколко езика, изисква внимателен подбор и балансиране на данните.

Вижте също

  • Големи езикови модели
  • BERT
  • GPT