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