Предобучване
Предобучване на големи езикови модели (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% разговорни данни.
Тези разпределения показват, че изборът на данни е стратегическо решение, което варира в зависимост от целите на модела.
Често използвани корпуси
| Корпус | Размер | Източник | Последна актуализация |
|---|---|---|---|
| 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