9

Параллелизм GPU и улучшение эволюции с помощью эволюции

AI999第5课:方法演化:从优化解到优化算法本身
00:00

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

Улучшение эволюции с помощью эволюции: двухуровневый замкнутый цикл с параллелизмом GPUПередача конфигураций нового поколенияВнешняя эволюция: селектор конфигурацийНа основе обратной связи по приспособленности: выбор · мутация · обновление конфигураций алгоритмаОбратная связь по приспособленностиУровень агрегации оценок: статистическая обратная связьАгрегация результатов параллельных задач внутреннего уровня → оценка приспособленности каждой конфигурацииАгрегация результатов задачПакетное параллельное выполнение на GPU · внутренний уровень: конфигурация × экземпляр задачиКонфигурация θ1Конфигурация θ2Конфигурация θ3Конфигурация θ4Каждая ячейка = одно параллельное выполнение и оценка конфигурации алгоритма на определённом экземпляре задачиПочему параллелизм критиченБольше выборок обратной связиСтабильнее оценка приспособленностиНадёжнее направление поискаМеханизм замкнутого циклаПараллельная пропускная способностьОбратная связь по результатамВыбор конфигурации

Каждый уровень выполняет свою роль

  • Внутренний уровень (выполнение и оценивание): пакетное выполнение множества конфигураций-кандидатов алгоритма (разные гиперпараметры, операторы или стратегии поиска) на GPU с запуском и оценкой для каждого экземпляра задачи. Мелкая гранулярность и большое количество задач идеально соответствуют характеристикам пакетной пропускной способности GPU.
  • Средний уровень (агрегация обратной связи): агрегация сырых результатов огромного числа задач внутреннего уровня в статистические показатели, оценка качества каждой конфигурации по всему распределению задач и формирование приспособленности для использования на внешнем уровне.
  • Внешний уровень (выбор конфигурации): на основе статистической обратной связи выполняет выбор, мутацию или обновление, генерирует конфигурации следующего поколения и возвращает их на внутренний уровень, образуя замкнутый цикл.

Почему параллелизм GPU незаменим

В традиционном последовательном цикле астрономическое время одной итерации определяется произведением «число конфигураций-кандидатов × число выборок задач», и при сколько-нибудь значительном масштабе оно становится неприемлемым — последовательный цикл превращается в главное узкое место, ограничивающее масштаб конфигураций-кандидатов и выборок задач. Параллелизм GPU позволяет множеству алгоритмов внутреннего уровня работать одновременно, превращая последовательный цикл из «главного узкого места» в «приемлемые накладные расходы пакетной обработки» и тем самым одновременно расширяя как пространство исследуемых конфигураций, так и объём выборок задач.

Ключевой механизм: единый замкнутый цикл

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

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