Что такое early stopping в HPO (ASHA, Hyperband)?
Answer from AI
sobes.tech AI
Что хотят услышать интервьюеры:
Early stopping в HPO — это способ экономить вычисления, останавливая слабые конфигурации раньше, чем они закончат обучение полностью. Идея в том, чтобы не тратить ресурсы на заведомо плохие гиперпараметры и перераспределять бюджет на более перспективные. ASHA и Hyperband — популярные стратегии, которые используют этот принцип для быстрого отбора лучших вариантов.
Определение:
Early stopping в hyperparameter optimization — это механизм, при котором обучение части запусков прекращается до достижения полного бюджета, если их промежуточное качество выглядит недостаточно хорошим. Обычно решение принимается по метрике на валидации после нескольких эпох, итераций или другого ресурса.
ASHA и Hyperband реализуют это как последовательное сравнение конфигураций на увеличивающихся бюджетах: сначала много кандидатов с малым бюджетом, затем только лучшие продолжают обучение.
Пример использования:
Допустим, нужно подобрать learning rate, batch size и depth для модели. Полный прогон занимает 10 часов. Вместо того чтобы обучать 100 конфигураций до конца, запускают все на 1 эпохе, затем оставляют, например, лучшие 25%, потом лучшие 25% из них на 3 эпохах и так далее.
# Псевдокод идеи ранней остановки в HPO
configs = sample_hyperparameters(100)
for budget in [1, 3, 9]:
scores = []
for cfg in configs:
model = train(model_factory(cfg), epochs=budget)
score = validate(model)
scores.append((cfg, score))
configs = select_top_fraction(scores, fraction=0.25)
if len(configs) <= 1:
break
Пояснение кода:
Код показывает общий принцип без привязки к конкретной библиотеке.
Сначала генерируются 100 наборов гиперпараметров. Затем все они обучаются только на маленьком бюджете, например на 1 эпохе, и оцениваются по метрике качества. После этого остаются только лучшие конфигурации, которым дают больше бюджета — 3 эпохи, потом 9 и так далее.
Смысл в том, что плохие варианты отсекаются как можно раньше, а вычисления концентрируются на сильных.
Ключевые моменты:
- Early stopping в HPO — это не ранняя остановка одной модели ради переобучения, а именно отбраковка слабых конфигураций в поиске гиперпараметров.
- ASHA и Hyperband уменьшают стоимость HPO за счет multi-fidelity подхода: сначала мало ресурсов многим кандидатам, потом больше ресурсов немногим.
- Решение об остановке принимается по промежуточной метрике, поэтому метод работает лучше, когда ранний сигнал качества коррелирует с финальным.
- Есть риск ошибочно остановить перспективную конфигурацию, если она «разгоняется» медленно или метрика шумная.
- ASHA обычно асинхронный и лучше утилизирует ресурсы, чем строго синхронные схемы.
- Hyperband можно рассматривать как надстройку над Successive Halving, которая балансирует между количеством стартующих конфигураций и размером бюджета на каждую.