EvoX v2.0.0a1 — первая альфа полностью переписанной версии на базе EvoX Compiler (evoxc).

Экспериментальный предварительный выпуск: новый API несовместим с 1.x, прямая замена невозможна. Для промышленного применения по-прежнему рекомендуется стабильная серия 1.x. Используйте отдельное окружение для проверки альфы.

Явный конвейер компиляции

EvoX Compiler позволяет исследовать и преобразовывать тензорные графы, разделяя трассировку, преобразования графа, понижение уровня представления, компиляцию и выполнение. Доступны комбинируемые преобразования vectorize/vmap, grad, jvp, vjp и batch_functions, а также бэкенды NumPy, IREE, TVM и XLA/PJRT. StableHLO задаёт общую границу понижения представления для компилируемых бэкендов.

EvoX 2.0 больше не зависит от PyTorch или JAX. NumPy — единственная обязательная зависимость времени выполнения EvoX Compiler; компилируемые бэкенды необязательны.

Новый функциональный API

  • Алгоритмы используют init(config, key) и step(config, state, evaluate).
  • Задачи используют evaluate(config, state, candidates).
  • Конфигурации неизменяемы, тензорное состояние явно задано, а случайность управляется воспроизводимыми ключами PRNG.
  • StdWorkflow трассирует эволюционный шаг, компилирует его выбранным бэкендом и выполняет цикл оптимизации.

Возможности этой альфы

  • 32 класса алгоритмов и 15 эволюционных операторов.
  • Базовые численные тестовые задачи, DTLZ, CEC2022 и виртуальная нейроэволюция.
  • Метрики GD, IGD и гиперобъём; визуализация Plotly и трассы .exv.
  • Оптимизация гиперпараметров на стороне хоста и обнаружение расширений через evox_ext.

В исходном релизе сообщается о 552 успешно пройденных тестах на бэкенде NumPy. Это не подтверждает аналогичное покрытие компилируемых бэкендов или GPU.

Установка

Требуется Python 3.11+. В отдельном окружении выберите один вариант установки:

pip install --pre "evox==2.0.0a1"

Для дополнительной поддержки компиляторов:

pip install --pre "evox[iree]==2.0.0a1"
pip install --pre "evox[compilers]==2.0.0a1"

Текущие ограничения

Распределённые процессы оптимизации, Brax/MuJoCo, интеграция с нейросетями PyTorch и ядра Triton ещё не перенесены. Компилируемые бэкенды и выполнение на GPU остаются экспериментальными; некоторые операторы и конструкции управления поддерживаются не всеми бэкендами. Мониторинг, визуализация, метрики и HPO пока выполняются вне скомпилированных графов. В ходе предварительных выпусков API может меняться.

Сообщения об ошибках, результаты тестирования производительности и отзывы об API приветствуются в GitHub Issues.

Релиз: v2.0.0a1

← Вернуться к релизамНаверх ↑