В главе 1 мы рассказали немного о принципах обучения больших языковых моделей. Мы рассмотрели архитектуру трансформера – особый тип нейронной сети, применяемый в LLM, – и рассказали о некоторых источниках данных, которые используют LLM. Мы также поговорили о задаче, которую они обучены решать: генерировать наиболее вероятное следующее слово или символ, другими словами, предсказывать токен. Здесь мы рассмотрим процесс обучения более подробно и обсудим, пожалуй, самый удивительный и захватывающий аспект больших языковых моделей – их эмерджентные качества, позволяющие хорошо справляться с задачами, которые ранее LLM не изучали.
Первый шаг в создании LLM – обучение на задачах по предсказанию следующего токена на основе предшествующего контекста (авторегрессия) по гигантскому корпусу неразмеченных данных. Этот этап называют этапом предварительного обучения. Хотя на самом деле знания, полученные моделью на данном этапе, являются основой для любой задачи на естественном языке, которую она будет выполнять далее. Затем модель проходит один или несколько этапов тонкой настройки, то есть обучается на размеченных данных для решения специфической задачи. При тонкой настройке диалоговых агентов, таких как ChatGPT, могут использоваться разговорные данные; многие генеративные модели настраиваются по наборам инструкций, чтобы лучше выполнять инструкции вроде «Напиши мне стих»; другие могут настраиваться для генерации кода. Схема этого процесса изображена на рис. 2.1, но каждый этап стоит рассмотреть более подробно.
Рис. 2.1. Общая схема процесса обучения LLM