Download ENVIRONMENT.md from Endikavi/Ines-1: direct link, hf CLI and curl.
- Browser
- Download file 3.3 kB
-
https://huggingface.co/Endikavi/Ines-1/resolve/2e965de13e416b59fde9364bec1695fe3093fe07/ENVIRONMENT.md
- Command line
-
hf download hf://Endikavi/Ines-1@2e965de13e416b59fde9364bec1695fe3093fe07/ENVIRONMENT.md
-
curl -L -o ENVIRONMENT.md https://huggingface.co/Endikavi/Ines-1/resolve/2e965de13e416b59fde9364bec1695fe3093fe07/ENVIRONMENT.md
Canonical evaluation environment (Ines-1)
Every canonical number in this repository was measured in this environment. Other environments may differ in the last bits of bf16 arithmetic; see What changes the numbers.
| GPU | 1× NVIDIA H200 (143,771 MiB), driver 595.58.03 (CUDA driver 13.2) |
| Python | 3.12.3 |
| PyTorch | 2.14.0+cu130 (CUDA runtime 13.0, cuDNN 9.24.0), triton 3.8.0; wheels from https://download.pytorch.org/whl/cu130 |
| other packages | requirements.lock (exact versions of the evaluation environment, plus safetensors to load the bundle) |
| weights / compute | bf16 weights, forward under torch.autocast("cuda", dtype=torch.bfloat16) |
| readout | one prompt per question, MiniV41.prefill(ids, num_logits=1), softmax over the option-letter logits (mini_v41_jev.Decider.decide, default path) |
| TF32 | torch.backends.cuda.matmul.allow_tf32 = False, torch.backends.cudnn.allow_tf32 = True (PyTorch defaults), float32_matmul_precision = "highest" |
| determinism | torch.use_deterministic_algorithms off, cudnn.deterministic = False, cudnn.benchmark = False (defaults) |
| attention (SDPA) | default backend selection (flash, memory-efficient, math and cuDNN all enabled) |
| CUDA graphs / compile | not used by the canonical readout; the HTTP server uses CUDA graphs for small prefill buckets (scripts/serve_jev.py), under the same autocast; no torch.compile |
What changes the numbers (measured, 400 typed-decisions questions, released weights)
| change | max |Δp| | answers changed | |---|---:|---:| | PyTorch 2.13.0 vs 2.14.0, same code, same settings (default, math-only and efficient-only SDPA) | 0 | 0 / 400 | | bf16 autocast on vs off | 0.0705 | 8 / 400 | | default SDPA vs math-only SDPA (either PyTorch version) | 0.0506 | 8 / 400 | | this bundle vs the original training checkpoint and code, same environment and settings | 0 | 0 / 400 |
So the version of PyTorch is not what moves results; the precision policy (autocast) and the attention backend are.
The batched path (Decider.decide(..., batched=True) and the HTTP server: right-padded rows, per-row decoder span)
is not bit-identical to the canonical one; its accuracy through HTTP matched the canonical evaluation within bf16 noise.
Dockerfile
Dockerfile reproduces this environment as an image: python:3.12.3-slim-bookworm + pip install -r requirements.lock (PyTorch 2.14.0 from PyPI is the CUDA 13.0 build: it reports 2.14.0+cu130, with the CUDA and cuDNN
libraries as pip wheels; the NVIDIA driver comes from the host). The model is not copied into the image; mount the
repository at /model:
docker build -t ines-1-env .
docker run --rm --gpus all -v "$PWD":/model ines-1-env # GPU: examples/quickstart.py, bf16 + autocast
docker run --rm -v "$PWD":/model ines-1-env # CPU (fp32)
Built once from scratch (--no-cache --pull, 2026-10-02) and tested on a copy of this repository: Python 3.12.3,
torch 2.14.0+cu130, CUDA 13.0, cuDNN 9.24.0, numpy 2.5.3, tokenizers 0.23.2, safetensors 0.8.0; quickstart on CPU and
GPU; on GPU (bf16 + autocast) the 400-question probe matched the canonical outputs exactly (0 answers changed, max
|Δp| 6e-8), and the batched path differed in 8 of 400, as above.