Найти тему
10,1 тыс подписчиков

🖥 Как происходит обучение с нуля на собственных данных (LLM). Какую архитектуру выбрать для pre-training обучения?


Такое обучение, которое ещё называется pre-training, решает задачу моделирования языка или, говоря проще, позволяет нашей модели выучить (насколько это возможно) язык, с которым она работает.

Для этого обучение проходит в парадигме Masked Language Modeling, MLM (проходим по тексту, маскируем по очереди каждый токен и пытаемся по окружающим его токенам – контексту предсказать этот токен) и Next Sentence Prediction, NSP (предсказание по паре текстовых фрагментов, следуют они друг за другом или нет). Есть ещё также Casual Language Modeling, но MLM обычно используется чаще.

На практике прибегнуть к процедуре pre-training может быть полезно, когда тексты, с которыми нужно работать, отличны от тех, на которых обучались общедоступные известные модели. Это может происходить в следующих случаях:

•специфичный стиль текста, его структура (яркий пример – юридические тексты, договора, сметы),

•наличие специфичных терминов (пример – медицинские тексты).

На что стоит обратить внимание перед процедурой pre-training:

•данные, с которыми вы работаете, может быть недостаточно для эффективного обучения модели, поэтому даже обладая хорошим потенциалом, они могут не обучиться и показывать такое же либо даже худшее качество по сравнению с бейзлайном;

• хорошие эмбеддинги – это лишь один из этапов во всём пайплайне и вовсе не единственная точка роста. Поэтому если вы стоите перед выбором, стоит ли тратить ресурсы на pre-training, аренду видеокарт и т.д., возможно, стоит сначала сделать упор на другие вещи, например, на более качественный сбор/обработку/обогащение данных.

Если решили идти по этому пути, то рабочим вариантом может быть следующий: взять веса общедоступной модели, обученной на таких текстах, как Википедия, затем обучить её на собственных текстах в парадигме MLM, дав возможность изучить тонкости именно ваших текстов. А затем снова дообучить в парадигме fine-tuning для решения целевой задачи.

Можно взять классический Bert. Но c другой стороны, с его создания уже утекло много воды и появились более продвинутые архитектуры. Особенно заслуживают внимания следующие архитектуры.

RoBERTa (A Robustly Optimized BERT Pre-training Approach) – это архитектура, основанная на BERT, но в которой оптимизировали параметры обучения, отказались от обучения в парадигме NSP и показали, что так качество будет выше.

DeBERTa (Decoding-enhanced BERT with disentangled attention) – дословно BERT улучшенного декодирования с рассеянным вниманием. Это основанная на RoBERTa архитектура, в которой авторы дополнительно применили механизм кодирования слова двумя векторами (кодирующими его содержание и положение в тексте) и заменили выходной softmax-слоя усовершенствованным декодером. Вот пример успешного применения этой архитектуры.

ELECTRA – архитектура (оригинальная статья), в которой отказались от обучения в парадигмах MLM и NSP и тренируют генератор и дискриминатор. Первая модель учится выборочно заменять токены в тексте, а вторая (которую и будем использовать после обучения) учится определять токены, которые были заменены, и таким образом осваивает структуру языка. Архитектура модели и её преимущества довольно подробно расписаны в статье Более эффективное предварительное обучение NLP моделей с ELECTRA.

2 минуты