Предобучение современной большой языковой модели — это месяцы работы тысяч видеокарт и десятки миллионов долларов вычислений. Поэтому позволить себе тренировать собственную большую модель с нуля могут только крупные лаборатории и компании.
Что происходит на этом этапе
- Собирается огромный корпус данных — интернет, книги, код, научные статьи.
- Данные чистятся, из них убираются повторы.
- Модель учится предсказывать следующий токен на этом корпусе с помощью обратного распространения ошибки.
- Это повторяется триллионы раз, пока модель не выучит широкие закономерности языка и мира.
Чего предобучение не даёт
- Готового полезного ассистента — после предобучения модель только умеет продолжать тексты, но не следовать инструкциям.
- Безопасного поведения — для этого нужны отдельные этапы тонкой настройки и обучения с подкреплением на обратной связи от людей.
- Знаний после даты остановки обучения — модель не знает событий, произошедших позже.
- Когда строите собственную фундаментальную модель — но это удел крупных лабораторий
- Когда нужна узкоспециализированная модель на закрытой области (например, биомедицина) и есть огромные объёмы текстов и ресурсы
- Для продуктовых задач почти всегда — гораздо разумнее взять готовую предобученную модель и настроить её под себя
- Когда нет миллионов долларов на вычисления и команды исследователей
Когда говорят, что модель знает русский, английский, китайский и сорок других языков, это означает, что в её корпусе предобучения были тексты на этих языках. Если же модель не видела на этом этапе, например, армянский — она будет работать с ним заметно хуже, и никакая короткая тонкая настройка этот пробел полностью не закроет.
Если вам нужна «своя специализированная языковая модель», в 99% случаев это не предобучение с нуля, а тонкая настройка готовой модели. Так получается дешевле в тысячи раз, быстрее и с понятным качеством. Полноценное предобучение оправдано только при очень узкой и при этом большой предметной области с особыми данными.