[1/2] Stanford CME295: как обучают LLM (Рубрика #AI)
В третьей лекции Stanford CME295 Афшин и Шервин Амиди разбирают, как из модели, предсказывающей следующий токен, получается полезный ассистент. Мне здесь интересна связь между способами обучения: каждый дает модели свой сигнал о том, как ей следует отвечать.
Сначала — общая основа. В pretraining модель учится продолжать тексты, код, математические решения. Cross-entropy измеряет, насколько хорошо она предсказывает токены из обучающих данных: чем выше вероятность правильного следующего токена, тем меньше ошибка. Поэтому состав данных имеет огромное значение: нужно решать, что фильтровать, как смешивать источники и какие материалы повторять.
В midtraining обучение продолжается на более целевых данных; здесь же могут расширять контекст. Причем недостаточно разрешить модели принимать больше токенов. Нужны примеры, где для продолжения действительно приходится использовать информацию далеко назад по тексту.
Дальше удобно сравнивать методы по двум вопросам: на чьих ответах учимся и насколько подробную обратную связь получаем?
🔸 SFT (supervised fine tuning) — показываем желаемое поведение Даем пары «запрос — хороший ответ». Модель по-прежнему предсказывает следующий токен, но в показанной схеме ошибку считают по ответу, а запрос служит условием. Так можно обучать следованию инструкциям, формату диалога и нужному стилю. Рядом авторы разбирают LoRA (low-rank adaptation): основные веса замораживают, а их изменение задают произведением двух небольших обучаемых матриц. Это способ снизить стоимость адаптации; отдельной обязательной ступенью после SFT он не является.
🔸 Preference tuning — сравниваем ответы Человеку часто проще выбрать лучший из двух вариантов, чем написать идеальный ответ. В описанной схеме RLHF на таких предпочтениях сначала обучают модель награды. Затем она оценивает новые ответы LLM, а обучение повышает ожидаемую оценку, ограничивая отклонение от исходной модели. Оценщик может ошибаться, поэтому высокий балл еще не гарантирует качество.
DPO позволяет обучаться непосредственно на парах предпочтений, без отдельной модели награды. В базовом варианте пары фиксированы: новые попытки текущей модели на каждом шаге не требуются.
🔸 RL (reinforcement learning), обучение с подкреплением: оцениваем результат попытки Если награда проверяемая, для математической задачи можно сверить ответ, для программы — запустить тесты. В лекции это объясняют через GRPO: модель генерирует несколько решений и учится с учетом их относительной успешности. Сам GRPO — алгоритм обучения; проверяемость обеспечивает выбранный способ оценки. Но оценка целого решения мало говорит о том, где именно произошла ошибка. Агент мог сделать девятнадцать полезных действий, а на двадцатом сломать программу.
🔸 On-policy distillation — учитель помогает на собственных попытках ученика Ученик генерирует продолжение, а учитель дает сигнал о вероятностях следующих токенов в этих же контекстах. Ученик обучается уменьшать расхождения с учителем. Обратная связь получается подробной, хотя ее качество по-прежнему зависит от учителя.
Это возвращает нас к вопросу студента в начале лекции. При teacher forcing модель получает правильные предыдущие токены из датасета, даже если сама предсказала бы другое. При использовании она продолжает собственный текст, включая ошибки. Обучение на своих попытках позволяет работать с ситуациями, в которые модель действительно попадает.
Во второй части расскажу про практический пример GLM-5, которые рассматривали авторы на лекции. Так они показывали как все эти теоретические подходы сочетают на практике и что делают, если новый этап обучения ухудшил уже полученные навыки.
#AI #LLM #Learning #Engineering #Agents