|
Download docs/REPRODUCE.md from EndlessChasing/Mamb2_8B_Recall: direct link, hf CLI and curl.
- Browser
- Download file 3.39 kB
-
https://huggingface.co/EndlessChasing/Mamb2_8B_Recall/resolve/main/docs/REPRODUCE.md
- Command line
-
hf download hf://EndlessChasing/Mamb2_8B_Recall/docs/REPRODUCE.md
-
curl -L -o REPRODUCE.md https://huggingface.co/EndlessChasing/Mamb2_8B_Recall/resolve/main/docs/REPRODUCE.md
3.39 kB
| # Reproduce the source control | |
| Use the verified NVIDIA `nvidia/mamba2-8b-3t-4k` source checkpoint and | |
| tokenizer revision recorded in [PROTOCOL.md](PROTOCOL.md). The source model | |
| is downloaded separately; the repository supplies the 2.37 MB adapter. | |
| The measured environment was PyTorch 2.11.0+cu128, `mamba-ssm` | |
| 2.3.2.post1, `sentencepiece` 0.2.1 and `datasets` 4.8.5 on an RTX PRO 6000 | |
| Blackwell. `train.py` loads two FP16 copies of the source, so its measured | |
| peak PyTorch CUDA allocation was 34.59 GB. | |
| Install a CUDA-compatible PyTorch first. The native GPU extension is a | |
| separate prerequisite; `pip install -e .` alone does not install it: | |
| ```bash | |
| python -m pip install -e . | |
| python -m pip install --no-build-isolation 'mamba-ssm==2.3.2.post1' | |
| ``` | |
| Building the extension requires a matching CUDA toolkit/compiler. Use the | |
| package versions in the [verification environment receipt](../reports/verification_origin_v1.json) when comparing | |
| numerical replay results. | |
| From the repository root, replace `/path/to/source` with the directory | |
| containing the official source checkpoint and tokenizer: | |
| ```bash | |
| CUDA_VISIBLE_DEVICES= python scripts/prepare_prose.py \ | |
| --source-dir /path/to/source \ | |
| --out training_data/prose/training_tokens.pt | |
| CUDA_VISIBLE_DEVICES= python scripts/prepare_data.py \ | |
| --split train --source-dir /path/to/source | |
| CUDA_VISIBLE_DEVICES= python scripts/prepare_data.py \ | |
| --split confirm --source-dir /path/to/source | |
| train_manifest_sha=$(python -c "import hashlib; from pathlib import Path; print(hashlib.sha256(Path('training_data/numeric_v1/train/manifest.json').read_bytes()).hexdigest())") | |
| confirm_manifest_sha=$(python -c "import hashlib; from pathlib import Path; print(hashlib.sha256(Path('training_data/numeric_v1/confirm/manifest.json').read_bytes()).hexdigest())") | |
| python scripts/train.py \ | |
| --source-dir /path/to/source \ | |
| --data-root training_data/numeric_v1 \ | |
| --train-manifest-sha256 "$train_manifest_sha" \ | |
| --prose-manifest docs/prose_train_manifest.json \ | |
| --prose-tokens training_data/prose/training_tokens.pt \ | |
| --out-dir artifacts/reproduction_1 | |
| python scripts/evaluate.py \ | |
| --source-dir /path/to/source \ | |
| --adapter artifacts/reproduction_1/adapter_fp16.pt \ | |
| --data-root training_data/numeric_v1 \ | |
| --eval-manifest-sha256 "$confirm_manifest_sha" \ | |
| --split confirm \ | |
| --report reports/reproduction_1.json | |
| ``` | |
| Use the hashes of your newly prepared manifests (also printed by preparation). | |
| Manifests record `sys.version`, so a different Python build can change the | |
| whole-file hash even when all generated prompts and tokens are identical. | |
| The historical hashes remain in the published reports as run receipts. The | |
| loaders independently check the frozen generator, tokenizer, protocol and | |
| all generated raw/token data; computing the local manifest hash does not | |
| replace those content checks. All scripts | |
| refuse to overwrite existing result paths. To score the published adapter | |
| without retraining, use | |
| `artifacts/source_resurface_v1/adapter_fp16.pt` with `scripts/evaluate.py`. | |
| For the four-arm comparison, supply the two historical compressed reports to | |
| `scripts/compare_four_arms.py`; it verifies their SHA-256 values and every | |
| MK/PPL input identity before computing the table. | |
| Reproduction may differ numerically across CUDA, PyTorch and Mamba kernel | |
| versions. The published reports retain the actual tested output and hashes. | |