В открытой развязанной основе EvoX модуль рабочего процессаотвечает за оркестрацию этапов эволюционных итераций, порядка их выполнения и способов их связывания,модуль мониторингаотвечает за сбор состояния и метрик в реальном времени во время работы. Вместе они превращают «неизвестный чёрный ящик эволюционного цикла» в наблюдаемый, диагностируемый, управляемый и воспроизводимый контролируемый процесс. Если сформулировать кратко: рабочий процесс отвечает на вопрос «в каком порядке выполнять», а мониторинг — на вопрос «где мы сейчас, всё ли в порядке и нужно ли вмешаться».
Рабочий процесс: оркестрация порядка и границ этапов
Объектом оркестрации рабочего процесса являютсяшаги и зависимости, а не сама логика алгоритма. Он определяет порядок, обратные рёбра и границы этапов для цепочки «инициализация → оценка → отбор → мутация/скрещивание → обновление состояния → критерий остановки» и через единый интерфейс связывает модули алгоритма и задачи. Ключ к оркестрации —гранулярность и границы: рассматривать «одну пакетную оценку» как этап, планируемый целиком, а не продвигать особей по одной; границы этапов одновременно являются точками выборки мониторинга и точками переключения планировщика.
- Порядок: определение последовательности этапов и условия возврата к «оценке» для формирования основного цикла.
- Обратные рёбра: определение того, какие условия запускают следующую итерацию, а какие — выход из цикла.
- Граница этапа: одновременно являются точками переключения рабочего процесса и естественными точками выборки мониторинга.
Мониторинг: сбор состояния, предоставление метрик, управление решениями
Модуль мониторинга — этослой сбора и предоставления состояния выполнения: он непрерывно отслеживает размер популяции, число оценок, распределение целевых значений/приспособленности, сходимость и разнообразие, время на поколение и такие ресурсные показатели, как видеопамять и пропускная способность. Однако цель наблюдения — не запись, арешение — метрики используются для запуска остановки, ранней остановки, перезапуска, смены параметров или стратегии, образуя замкнутый цикл «мониторинг → решение → вмешательство». Именно в этом и заключается управляемость эволюционного процесса.
Управляемость также требует, чтобы состояние былосериализуемым: сохранение и восстановление контрольных точек позволяют прерывать и возобновлять длительные эволюции, локализовать сбои и воспроизводить эксперименты — это основа инженерной надёжности. Кроме того, развязка требует, чтобы мониторинг подключался черезобратные вызовы/хуки, не проникая в модули алгоритма и задачи; благодаря этому различные бэкенды мониторинга — консоль, логи, панели графиков — могут заменять друг друга без изменений в основном алгоритме.
Вернёмся к примеру: в тензоризованной эволюции на GPU рабочий процесс планирует «пакетную оценку» как единый этап, а модуль мониторинга в рамках этого этапа по поколениям записывает лучшую/среднюю приспособленность, разнообразие популяции и время на поколение; когда показатели не улучшаются N поколений подряд, срабатывает критерий остановки или происходит переключение на стратегию с более сильными возмущениями, а контрольная точка синхронно сохраняется на диск, что позволяет как воспроизвести эту эволюцию, так и возобновить её с места прерывания.
