4

Поддержка параллельного поиска: тензорные вычисления и унифицированная архитектура

AI999第6课:系统级持续演化:Genesis 与软件世界的沉淀
00:00

Когда размер популяции растёт с десятков до тысяч,эволюционные вычисленияуже упираются не в вопрос «можно ли найти хорошее решение», а в вопрос «можно ли за ограниченное время оценить достаточно много кандидатов». EvoX предлагает инженерный ответ в виде двух взаимодополняющих линий:тензорные вычисленияпереписывают последовательный цикл по отдельным особям в пакетные тензорные операции,унифицированная архитектураразвязывает алгоритм, задачу, рабочий процесс и Runtime-планирование, благодаря чему этот механизм параллелизма можно переиспользовать в разных эволюционных алгоритмах и задачах.

Почему разнообразие требует пропускной способности

Эволюционный поиск опирается на разнообразие популяции: чем более разбросаны кандидаты, тем выше вероятность выйти из локального оптимума. Но «поддержание разнообразия» по сути является задачей о вычислительной мощности — оно требует, чтобы в каждом поколении выполнялась оценка и обновление состояния большого числа кандидатов. Если способы порождения кандидатов по-прежнему жёстко заданы человеком, а оценка по-прежнему выполняется по одной особи за раз, система будет лишь повторять заложенную схему, и выгода от разнообразия будет нивелирована узким местом вычислительной пропускной способности.

Эволюция методов: включаем в эволюцию и «метод порождения кандидатов»

Когда масштаб вычислительных ресурсов раскрывается, EvoX поднимает объект оптимизации на уровень выше: теперь эволюционирует не только решение задачи, но и сам метод порождения кандидатов — это и естьэволюция методов. На примере MetaDE внутренний алгоритм решает практические задачи, а внешний эволюционирует конфигурацию и стратегию внутреннего алгоритма (например, стратегию мутации и гиперпараметры дифференциальной эволюции) и параллельно запускает на GPU множество внутренних задач, так что их результаты, в свою очередь, направляют выбор конфигурации внешнего уровня;AutoPSO а AutoPSO и EvoGO идут дальше: комбинируя компоненты роя частиц и используя историческую обратную связь для обучения способу порождения кандидатов, они совершают переход от «изменения параметров» к «изменению структуры алгоритма». Такая двухуровневая эволюция — внутренняя и внешняя — естественно требует, чтобы в одном поколении и даже в один момент времени множество внутренних задач массово оценивались и обновлялись, что предъявляет более высокие требования к вычислительной пропускной способности и возможностям параллелизма.

Тензорный вычислительный граф: заменяем цикл пакетными тензорами

Традиционный последовательный цикл на CPU обычно выполняет для каждой особи «оценку — запись — обновление», каждый раз запуская лишь мелкомасштабные операторы, что влечёт три вида издержек:высокие накладные расходы на планирование,фрагментация операторов,недостаточная загрузка GPU. Тензорный вычислительный граф подходит к этому так: он объединяетподдержание популяции, пакетную оценку и обновление состоянияв единые пакетные тензорные операции, позволяя вычислять параллельно кандидатов одного и даже нескольких поколений. Например: когда одно поколение содержит N кандидатных решений, последовательная реализация перебирает их по одной особи, а тензорная реализация организует популяцию в один тензор и за один проход выполняет пакетную оценку и параллельное обновление состояния, что заметно снижает накладные расходы на планирование и повышает загрузку GPU.

Унифицированная архитектура: делаем механизм параллелизма переиспользуемым

Просто переписать цикл в тензоры недостаточно — если алгоритм, задача и логика планирования связаны друг с другом, то при смене эволюционного алгоритма или типа задачи всё придётся писать заново. Унифицированная архитектура, развязываяалгоритм, задачу, рабочий процесс и Runtime-планированиеи другие модули, позволяет переиспользовать механизм тензорного параллелизма в разных эволюционных алгоритмах и задачах (например, в сценариях эволюции методов, таких как MetaDE и AutoPSO); вместе спланированием гетерогенных вычислительных ресурсовэто даёт управление ресурсами CPU, GPU и других на уровне пакетных задач, поддерживая композируемый и масштабируемый параллельный поиск.

Традиционный последовательный цикл на CPUКандидат 1ОценкаОбновлениеКандидат 2ОценкаОбновлениеКандидат 3ОценкаОбновление⋯Загрузка GPUнизкая загрузкаПоследовательно по особям: оценка → запись → обновлениеВысокие накладные расходы · Фрагментация операторов · Недостаточная загрузка GPUПакетные тензорные вычисления на GPU1Тензор популяции (N кандидатных решений)2Пакетная оценка3Параллельное обновление состояния4Планирование гетерогенных ресурсов (CPU / GPU)Однократная пакетная тензорная операцияНизкие накладные расходы · Мало фрагментации операторов · Высокая загрузка GPUОткрытая развязанная унифицированная основаАлгоритмЗадачаРабочий процессRuntime-планирование

Почему это способность уровня «основы»

Инженерная основа, которую дают GPU и большие модели, поднимает тензорные пакетные вычисления от локальной оптимизации до базовой способности, поддерживающей эволюционный поиск на уровне системы. Иными словами, тензоризация решает задачу «работать быстро», а открытая развязанная унифицированная архитектура — задачу «легко заменяться»: первая обеспечивает пропускную способность, вторая — композируемые и масштабируемые границы переиспользования. Лишь вместе они превращают интенсивный, высокоразнообразный параллельный эволюционный поиск в реальную инженерную возможность.

Ключевой компромисс
Тензоризация — это не «ускорение отдельного оператора», а превращение популяции, оценки и обновления состояния в единые пакетные тензорные операции; только при совместном проектировании гранулярности пакетов и Runtime-планирования загрузка GPU и накладные расходы на планирование улучшаются одновременно.