Yoshua Bengio, Stefano Ermon, Christopher Ré, Michael Poli, Stefano Massaroli, Eric Nguyen, Stephen Baccus, Armin Thomas, Marjan Faizi, Callum Sykes, Michael Wornow, Aman Patel, and 1 more
We lifted 28 functions out of this paper's own repositories and ran 17 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.
| Repository | Role | Ran |
|---|---|---|
| frederikkemarin/bend | — | 11 of 19 |
| HazyResearch/hyena-dna | — | 5 of 8 |
| copy not recorded | — | 1 of 1 |
| Function | Status | Where it lives |
|---|---|---|
| Activation | Ran | HazyResearch/hyena-dna/src/models/sequence/hyena.py code served (permissive licence) · get_code("3cd2f572b4362749") |
| ExponentialModulation | Ran | frederikkemarin/bend/bend/models/hyena_dna.py code served (permissive licence) · get_code("71c56d498ff19d96") |
| GPT2Embeddings | Ran | frederikkemarin/bend/bend/models/hyena_dna.py code served (permissive licence) · get_code("fb99304499c57d08") |
| HyenaFilter | Ran | frederikkemarin/bend/bend/models/hyena_dna.py code served (permissive licence) · get_code("b65ebc2556b1f0bd") |
| Laplace | Ran | HazyResearch/hyena-dna/src/models/sequence/hyena.py code served (permissive licence) · get_code("916ff67d7cc5dec1") |
| LinearResidual | Ran | frederikkemarin/bend/bend/models/hyena_dna.py code served (permissive licence) · get_code("e9b64f401a36c5e0") |
| MHA | Ran | frederikkemarin/bend/bend/models/hyena_dna.py code served (permissive licence) · get_code("2108a9e482ae37a6") |
| Mlp | Ran | frederikkemarin/bend/bend/models/hyena_dna.py code served (permissive licence) · get_code("d86ea40df8708d4d") |
| PositionalEmbedding | Ran | frederikkemarin/bend/bend/models/hyena_dna.py code served (permissive licence) · get_code("0e977f11203102fd") |
| SelfAttention | Ran | frederikkemarin/bend/bend/models/hyena_dna.py code served (permissive licence) · get_code("f745e0dbcc9bb059") |
| SequenceDecoder | Ran | frederikkemarin/bend/bend/models/hyena_dna.py code served (permissive licence) · get_code("d30504da4d509b40") |
| Sin | Ran | frederikkemarin/bend/bend/models/hyena_dna.py code served (permissive licence) · get_code("3f162814e9da788b") |
| SquaredReLU | Ran | HazyResearch/hyena-dna/src/models/sequence/hyena.py code served (permissive licence) · get_code("2c0fd690964e38f6") |
| TransposedLN | Ran | HazyResearch/hyena-dna/src/models/sequence/hyena.py code served (permissive licence) · get_code("f930c490ea93d623") |
| create_mlp_cls | Ran | frederikkemarin/bend/bend/models/hyena_dna.py code served (permissive licence) · get_code("f365c364e5fb2475") |
| laplace | Ran | HazyResearch/hyena-dna/src/models/sequence/hyena.py code served (permissive licence) · get_code("452d521c52ebdf0f") |
| mul_sum | Ran | this paper's copy was not recorded; identical code first harvested from HazyResearch/H3 pointer only · get_code("5dd28d20c60f0c19") |
| Block | Not yet run | frederikkemarin/bend/bend/models/hyena_dna.py code served (permissive licence) · get_code("15e87d04566e903e") |
| HyenaDNAModel | Not yet run | frederikkemarin/bend/bend/models/hyena_dna.py code served (permissive licence) · get_code("1a0693ded9212e71") |
| HyenaOperator | Not yet run | HazyResearch/hyena-dna/src/models/sequence/hyena.py code served (permissive licence) · get_code("bdfcfc1b78dd3774") |
| HyenaOperator | Not yet run | frederikkemarin/bend/bend/models/hyena_dna.py code served (permissive licence) · get_code("7b17a3ba43c38567") |
| LMBackbone | Not yet run | frederikkemarin/bend/bend/models/hyena_dna.py code served (permissive licence) · get_code("989ba1bad54bbbc8") |
| _init_weights | Not yet run | frederikkemarin/bend/bend/models/hyena_dna.py code served (permissive licence) · get_code("8ae5fabb54f1ee70") |
| auto_assign_attrs | Not yet run | HazyResearch/hyena-dna/src/models/sequence/hyena.py code served (permissive licence) · get_code("b37e90eb829295dc") |
| create_block | Not yet run | frederikkemarin/bend/bend/models/hyena_dna.py code served (permissive licence) · get_code("78db10ce14ffa95c") |
| create_mixer_cls | Not yet run | frederikkemarin/bend/bend/models/hyena_dna.py code served (permissive licence) · get_code("fe93a5054c8dd38f") |
| fftconv | Not yet run | frederikkemarin/bend/bend/models/hyena_dna.py code served (permissive licence) · get_code("41b32f57fc8ec1e5") |
| instantiate | Not yet run | HazyResearch/hyena-dna/src/models/sequence/hyena.py code served (permissive licence) · get_code("ef3e1ed020307a6f") |
Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.
Genomic (DNA) sequences encode an enormous amount of information for gene regulation, protein synthesis, and numerous other cellular properties. Similar to natural language models, researchers have proposed foundation models in genomics to learn generalizable features from unlabeled genome data that can then be fine-tuned for downstream tasks such as identifying regulatory elements. Due to the quadratic scaling of attention, previous Transformer-based genomic models have used 512 to 4k tokens as context (<0.001% of the human genome), significantly limiting the modeling of long-range interactions in DNA. In addition, these methods rely on tokenizers or fixed k-mers to aggregate meaningful DNA units, losing single nucleotide resolution (i.e. DNA "characters") where subtle genetic variations can completely alter protein function via single nucleotide polymorphisms (SNPs). Recently, Hyena, a large language model based on implicit convolutions was shown to match attention in quality while allowing longer context lengths and lower time complexity. Leveraging Hyena's new long-range capabilities, we present HyenaDNA, a genomic foundation model pretrained on the human reference genome with context lengths of up to 1 million tokens at the single nucleotide-level -an up to 500x increase over previous dense attention-based models. HyenaDNA scales sub-quadratically in sequence length (training up to 160x faster than Transformer), uses single nucleotide tokens, and has full global context at each layer. We explore what longer context enables -including the first use of in-context learning in genomics for simple adaptation to novel tasks without updating pretrained model weights. On a long-range species classification task, HyenaDNA is able to effectively solve the challenge by increasing the context length to 1M without downsampling. On fine-tuned benchmarks from the Nucleotide Transformer, HyenaDNA reaches state-of-the-art (SotA) on 12 of 18 datasets using a model with orders of magnitude less parameters and pretraining data. 1 On the GenomicBenchmarks, HyenaDNA surpasses SotA on 7 of 8 datasets on average by +10 accuracy points, and by as much as +20 accuracy points on enhancer identification. Code available at https://github.com/HazyResearch/hyena-dna.
The same record, over MCP at https://syntology.ai/mcp:
get_harvested_code_for_paper("2306.15794")
get_code_for_paper("2306.15794")
have("2306.15794")
Connect an agent — have() is free.