--- license: apache-2.0 library_name: transformers tags: - dna - genomics - dna-language-model - mamba - moe pipeline_tag: text-generation --- # CENO-600M-base **CENO-600M-base** is the base pretraining checkpoint of the 600M **CENO** DNA foundation model — a causal language model over genomic sequence built on a Nemotron-H **Mamba / Attention / Mixture-of-Experts** hybrid backbone (no MSA inputs). It is part of the **CENO** DNA foundation model family. Model code, the VEP pipeline, and a generation demo live in the companion [CENO code repository](https://github.com/CladeTeam/CENO). This checkpoint is standalone-loadable with `trust_remote_code=True` — the model code is bundled here. ## Model details | | | |---|---| | Family | CENO (base) | | Training stage | Base pretraining (stage 2) | | Parameters | 630.8M | | Precision | bfloat16 | | `model_type` | `ceno` | | Architecture class | `CENOForCausalLM` | | Auto-map (model) | `modeling_ceno.CENOForCausalLM` | | Auto-map (tokenizer) | `ceno_tokenizer.CENOCharLevelTokenizer` | ## Architecture | Property | Value | |---|---| | Hidden layers | 20 | | Hidden size | 1024 | | Attention heads | 16 | | Intermediate size | 4096 | | Experts (MoE) | 8 (top-2 per token) | | Vocabulary | 512 (byte / character-level) | The backbone is a Mamba / Attention / Mixture-of-Experts hybrid (Nemotron-H architecture). The tokenizer is character-level, mapping DNA bases to their ASCII byte codes. ## Usage ```python from transformers import AutoModelForCausalLM, AutoTokenizer ckpt = "CladeTeam/CENO-600M-base" model = AutoModelForCausalLM.from_pretrained(ckpt, trust_remote_code=True) tokenizer = AutoTokenizer.from_pretrained(ckpt, trust_remote_code=True) ids = tokenizer.encode("ATCGATCG", return_tensors="pt") # out = model.generate(ids, max_new_tokens=128) # needs a CUDA GPU (Mamba kernels) ``` > The Mamba layers require CUDA kernels, so forward passes and generation need a GPU. > Config, tokenizer, and weight loading are CPU-safe. ## Intended use - **Base checkpoints (`CENO-*`)** — genomic-sequence generation and embedding extraction; downstream adaptation (fine-tuning, probing) for genomics tasks. - **MSA checkpoints (`CENO-P-*`)** — variant effect prediction (VEP) by scoring wild-type vs. variant sequences with delta log-likelihood. See the TraitGym VEP example in the [CENO code repository](https://github.com/CladeTeam/CENO). ## License Apache-2.0. The bundled model code is derived from NVIDIA's Nemotron-H Hugging Face implementation (Apache-2.0); the tokenizer is derived from the Arc Institute Evo2 `CharLevelTokenizer` (Apache-2.0). See the `LICENSE` and `NOTICE` files in this repository for full attribution. ## Current inference implementation Model weights and token IDs are unchanged. Current source and usage instructions are maintained at [CladeTeam/CENO](https://github.com/CladeTeam/CENO). Use the updated model revision instead of historical diagnostic archives. CUDA BF16 inference uses the corrected Mamba, MoE, normalization and attention arithmetic selected by this model's explicit reference configuration. Loading uses the checkpoint dtype by default; explicit caller dtype overrides are honored. Use `torch_dtype="auto"`, `.cuda().eval()` and `torch.inference_mode()` for raw forward calls. `generate()` enters no-grad mode automatically. The HF precision path is single-GPU, unpadded, and permits at most 131072 tokens per prefill. Use the repository's vLLM entry for larger prefills. CPU, explicit FP32 and explicit eager attention retain ordinary compatible behavior and are not covered by the BF16 bitwise-reference claim. Different Megatron CP references are not interchangeable. The long 1M reference evidence belongs to CENO-1B-1m; short multi-size checks do not imply the same long coverage for every model. The tested HF stack is PyTorch 2.7.0a0 (NVIDIA 25.03), Transformers 4.48.3, mamba-ssm 2.2.4, causal-conv1d 1.2.2.post1 and FlashAttention 2.7.3. HF and vLLM use separate environments. Numerical correctness is not a guarantee of repetition-free or biologically functional generation.