На ранних этапах практики эволюционных вычислений объектами «эволюции» почти всегда быличисловые параметры— скорость обучения, размер батча, сила регуляризации, способ инициализации весов. Пространство поиска — это набор чисел, а оценка сводится к одному обучению и одной валидации. По мере роста вычислительных мощностей и зрелости больших моделей множество доступных для эволюции объектов заметно расширилось: программы, архитектуры моделей, алгоритмические механизмы и даже целостныесостояния программной инженерии(конфигурации, версии зависимостей, контракты интерфейсов, стратегии развёртывания и эксплуатации).
Этот путь расширения можно представить в виде чёткой цепочки стрелок: числовые параметры → программы и архитектуры моделей → состояния программной инженерии и кандидаты системного уровня. Чем правее уровень, тем выше выразительность и тем больше типов изменений он охватывает, — именно поэтому системноуровневая эволюция становится возможной.
Три уровня объектов эволюции — у каждого своя цена
- Уровень числовых параметров: кандидат — это набор чисел; его дёшево генерировать и быстро оценивать, но он отвечает лишь на вопрос «хорошо ли настроено» и не способен добавить изначально отсутствующий механизм.
- Уровень программ и архитектур моделей: кандидат — это архитектура сети, комбинация операторов, рабочий процесс промптов или патч кода; изменения влияют на то, «что система может делать», а не только на то, «насколько точно она это делает».
- Уровень состояний программной инженерии: кандидат — это конфигурация, версии зависимостей, контракты интерфейсов и стратегии развёртывания; они напрямую определяют, сможет ли система стабильно работать и воспроизводиться.
Смена акцента: от «как генерировать кандидатов» к «как выполнять и оценивать»
Когда кандидат превращается из числа в программу, этап «генерация кандидатов» перестаёт быть узким местом: большие модели способны массово порождать архитектуры, механизмы и патчи. Что действительно определяет эффективность эволюции — этомеханизмы выполнения и оценивания— тот, кто способен реально запустить кандидата и в пределах приемлемых затрат решить, стоит ли его сохранять.
Чем выше выразительность, тем тяжелее оценивание. Числовой параметр можно оценить за одно обучение; а для патча кода нужны изоляция в песочнице, регрессионные тесты и сравнение с базовыми метриками, чтобы ответить на три вопроса: действительно ли он эффективен, не несёт ли рисков и воспроизводим ли результат. Песочница, регрессионные тесты и базовые метрики — это инженерные механизмы, ограничивающие стоимость, риски и обеспечивающие воспроизводимость, а также позволяющие стабильно сохранять или отклонять изменения.
Инженерный компромисс: больше кандидатов — не значит лучше эволюция
На практике команды обычно начинают с настройки скорости обучения и гиперпараметров, а затем постепенно переходят к поиску архитектур сетей, комбинаций операторов, рабочих процессов промптов или патчей кода. При каждом расширении уровня необходимо одновременно ответить: сколько вычислений и времени потребует оценивание? Не загрязнят ли неудачные кандидаты существующую систему? Можно ли воспроизвести тот же результат в следующий раз? Системноуровневая эволюция действительно возможна лишь при балансе между выразительностью, стоимостью оценивания, воспроизводимостью и безопасностью.
