Self-training — итеративный процесс, в котором модель сама разметает неразмеченные данные, формирует псевдолейблы и использует их для собственного дообучения.
Определение
Self-training — это метод полуразмеченного обучения, основанный на использовании собственных предсказаний модели для расширения обучающего набора. Модель генерирует псевдоразметку (pseudo-labels) на неразмеченных данных и затем переобучается на этих примерах. Такой цикл повторяется несколько раз, что позволяет задействовать огромные объёмы неразмеченного текста, кода или других данных без затрат на ручную аннотацию.
Как работает
Self-training строится вокруг итеративной схемы pseudo-labeling:
- Начальная модель обучается на небольшом размеченном наборе (human-annotated или weak-supervised).
- Предсказание на неразмеченных данных — модель генерирует лейблы или ответы.
- Фильтрация — псевдолейблы с низкой уверенностью отбрасываются; применяются confidence thresholds, ML-фильтры и проверки форматов.
- Смешивание датасетов — высокоуверенные псевдолейблы объединяются с исходными размеченными данными.
- Дообучение — модель обучается на расширенном корпусе.
- Повтор — цикл продолжается, при этом модель постепенно улучшает собственную разметку.
Для LLM self-training применяется на уровне ответов, инструкций, reasoning-трейсов и даже генерации качественных диалогов. В отличие от synthetic dataset generation, здесь используется сама модель-ученик, а не сторонняя сильная модель.
Где применяется
- Полуразмеченное обучение классификаторов и NER-моделей.
- LLM — генерация псевдоинструкций и псевдоответов.
- Code-models — автогенерация решений и последующая проверка тестами.
- Reasoning — улучшение цепочек рассуждений через повторную генерацию.
- RAG — доразметка документов на основе текущей версии модели.
Практические примеры использования
В пайплайнах обучения LLM self-training применяется как один из способов масштабирования данных без сильных моделей. Например, модель генерирует ответы на набор инструкций, фильтрует их, затем обучается на собственных успешных примерах. В моделях кода self-training работает через тестирование: модель создаёт решение, тесты проверяют корректность, валидные примеры добавляются в обучающий набор.
В задачах классификации self-training используется для работы с большими неразмеченными датасетами: модель создаёт лейблы, которые затем проходят confidence filtering. В NER self-training помогает расширять набор сущностей без ручной аннотации.
Ключевые свойства
- Позволяет использовать огромные массивы неразмеченных данных.
- Может работать без внешней модели-учителя.
- Повышает устойчивость и разнообразие обучающего корпуса.
- Силён в комбинации с weak supervision и synthetic data.
- Итеративный характер приводит к постепенному улучшению качества.
Проблемы и ограничения
- Ошибка модели масштабируется: неправильные лейблы усиливают смещение.
- Требуется жёсткая фильтрация по уверенности.
- Сложно контролировать качество reasoning-трейсов.
- Может приводить к деградации разнообразия данных.
- Без внешних эталонов модель может «закольцевать» собственные ошибки.
Преимущества и ограничения
- Плюс: дешёвое масштабирование обучающих данных без большой аннотации.
- Минус: высокая чувствительность к ошибкам псевдоразметки.
Связанные термины
- Pseudo-labeling
- Synthetic dataset
- Weak supervision
- Self-distillation
- Semi-supervised learning