This repository contains implementations of computational primitives for convolutional multi-hybrid models and layers: Hyena-[SE, MR, LI], StripedHyena 2, Evo 2.
For training, please refer to the savanna project.
There are two main ways to interface with vortex:
- Use
vortexas the inference engine for pre-trained multi-hybrids such as Evo 2 40B. In this case, we recommend installingvortexin a new environment (see below). - Import from
vortexspecific classes, kernels or utilities to work with custom convolutional multi-hybrids. For example,sourcing utilities fromhyena_ops.interface.
make setup-vortex-opsNote that this does not install all dependencies required to run autoregressive inference with larger pre-trained models.
To run e2e installation in a uv environment, use the following command:
make setup-fullNote that the setup-full step will compile various CUDA kernels, which usually takes at most several minutes. It may be necessary to customize CUDA header and library paths in Makefile.
python3 generate.py \
--config_path <PATH_TO_CONFIG> \
--checkpoint_path <PATH_TO_CHECKPOINT> \
--input_file <PATH_TO_INPUT_FILE> \
--cached_generation--cached_generation activates KV-caching and custom caching for different variants of Hyena layers, reducing peak memory usage and latency.
Vortex was developed by Michael Poli (Zymrael) and Garyk Brixi (garykbrixi). Vortex maintainers include Michael Poli (Zymrael), Garyk Brixi (garykbrixi), Anton Vorontsov (antonvnv) with contributions from Amy Lu (amyxlu), Jerome Ku (jeromeku).
If you find this project useful, consider citing the following references.