Views
No views yet
notebooks/NAYARA_Colab.ipynb and follow COLAB_QUICKSTART.md. Its deadline-safe one-GPU L4/A100 profile trains the same 351.57M architecture for 50M tokens and exports a working preview plus Gradio demo. It is a pipeline/behavior preview, not the production-quality 3.8B-token checkpoint.LIGHTNING_H100_QUICKSTART.md. It includes exact machine settings, a 2B-token overnight profile, compiled single-GPU training, automatic unique-data clamping, INT8 export, API verification, and Snapshot Deploy settings.NAYARA_BUILD_PROMPT.md is the tightened execution prompt for a GPT-5.6 Codex SOL Ultra run. It replaces untestable superlatives with frozen-cohort quality and CPU performance gates.| Item | Value |
|---|---|
| Parameters (tied embedding/head) | 351,568,896 |
| Layers / width | 16 / 1024 |
| Query / KV heads | 8 / 2 |
| Head dimension | 128 |
| SwiGLU intermediate | 5632 |
| Vocabulary / context | 32,000 / 1024 |
| Position / normalization | RoPE / RMSNorm ε=1e-5 |
6 × parameters × tokens.| Token target | Approx. model FLOPs | Optimizer steps at 7×32×1024×GA2 |
|---|---|---|
| 3.8B (launch default) | 8.016e18 | 8,284 |
| 4.0B (corpus capacity) | 8.438e18 | 8,720 |
uint16 files on local NVMe first.1python -m venv .venv
2source .venv/bin/activate
3pip install -e '.[train,demo,dev]'
4
5# This can take many hours and substantial disk/network bandwidth.
6python -m nayara.prepare_data fetch --sources data/sources.example.json --raw-dir /mnt/nvme/nayara/raw
7python -m nayara.prepare_data tokenizer --raw-dir /mnt/nvme/nayara/raw --output /mnt/nvme/nayara/tokenizer.json
8python -m nayara.prepare_data pack --raw-dir /mnt/nvme/nayara/raw --tokenizer /mnt/nvme/nayara/tokenizer.json --output /mnt/nvme/nayara/packedtokenizer.json into every exported checkpoint directory before inference. The resulting manifest.json records the actual token count of every stream. Code documents receive a deterministic 50% fill-in-the-middle transform during packing. Do not start if any source has less than world_size × micro_batch × (sequence_length + 1) tokens.sm_120), one process per GPU, and a local PCIe Gen 5 NVMe path. FlashAttention-3's original package path was Hopper-specific; NAYARA instead forces PyTorch native fused flash SDPA and executes a real BF16 GQA probe at startup. It aborts rather than silently choosing the math kernel.1pytest -q
2nvidia-smi topo -m
3nvidia-smi --query-gpu=index,name,memory.total,pstate,temperature.gpu,power.draw --format=csv
4torchrun --standalone --nproc-per-node=7 -m nayara.train \
5 --data /mnt/nvme/nayara/packed --output /mnt/nvme/nayara/preflight \
6 --micro-batch 2 --grad-accum 1 --max-tokens 143360 --max-minutes 2--micro-batch and increase accumulation so global tokens per optimizer step remain similar. “32/64 tokens per GPU” is not a valid batch unit here: the implementation interprets 32 as sequences, or 32,768 tokens per GPU per micro-step.scripts/launch_train.sh, then:bash scripts/launch_train.shFULL_SHARD, block-level wrapping, BF16 parameters/reductions/buffers, fused AdamW, activation checkpointing, cosine decay with 2% warmup, norm clipping at 1.0, and torch.compile(mode="reduce-overhead"). It checkpoints at whichever occurs first: 200 optimizer steps or 15 minutes. --stop-at 15:15 is interpreted in the host's local time and refuses to run if that time has passed. With an explicit deadline, the default 15-minute shutdown reserve starts the final gather at 15:00 so checkpoint export does not consume the conversion window.1cp /mnt/nvme/nayara/tokenizer.json /mnt/nvme/nayara/checkpoints/step-XXXXXX/tokenizer.json
2python -m nayara.quantize /mnt/nvme/nayara/checkpoints/step-XXXXXX
3python app.py /mnt/nvme/nayara/checkpoints/step-XXXXXX --host 127.0.0.1 --port 7860python -m nayara.generate /path/to/checkpoint "def stable_topological_sort(graph):" --completion --max-new-tokens 128.[serve] and run uvicorn api:app --host 127.0.0.1 --port 8080 with NAYARA_CHECKPOINT set to a local checkpoint or S3 prefix. The container and ECS Fargate instructions are in deploy/aws/README.md.