|
Download README.md from Anoy123423123/MSA-Code: direct link, hf CLI and curl.
- Browser
- Download file 3.63 kB
-
https://huggingface.co/Anoy123423123/MSA-Code/resolve/main/README.md
- Command line
-
hf download hf://Anoy123423123/MSA-Code/README.md
-
curl -L -o README.md https://huggingface.co/Anoy123423123/MSA-Code/resolve/main/README.md
3.63 kB
| license: mit | |
| language: | |
| - en | |
| tags: | |
| - msa | |
| # MSA: Memory Sparse Attention | |
| *A scalable, end-to-end trainable latent-memory framework for 100M-token contexts.* | |
| **Anonymous code release for peer review.** This repository contains the inference and evaluation code | |
| used to produce the reported benchmark results. | |
| | | | | |
| |---|---| | |
| | Code (this repo) | `Anoy123423123/MSA-Code` | | |
| | Model weights | [`Anoy123423123/MSA-4B`](https://huggingface.co/Anoy123423123/MSA-4B) | | |
| | Benchmark data | [`Anoy123423123/MSA-RAG-BENCHMARKS`](https://huggingface.co/datasets/Anoy123423123/MSA-RAG-BENCHMARKS) | | |
| ## Requirements | |
| Linux x86-64, Python 3.12, CUDA 12.x. **8× 80GB GPUs** for the default benchmark suite; the 100M-token | |
| `ms_100M` setting runs on **2× A800** via Memory Parallel. ~9 GB disk for weights, ~0.6 GB for data. | |
| `transformers` must be exactly **4.51.3** — the attention implementation targets that API and will not | |
| load on 4.52+ or 5.x. The other pins in `requirements.txt` are the tested versions. | |
| ## Quick Start | |
| **1. Get the code** | |
| ```bash | |
| pip install -U "huggingface_hub==0.31.4" | |
| # export HF_ENDPOINT=https://hf-mirror.com # uncomment if you need a mirror | |
| huggingface-cli download Anoy123423123/MSA-Code --repo-type=model --local-dir MSA | |
| cd MSA | |
| ``` | |
| **2. Install** | |
| ```bash | |
| conda create -n msa python=3.12 -y && conda activate msa | |
| pip install -r requirements.txt | |
| pip install flash-attn==2.7.4.post1 --no-build-isolation | |
| ``` | |
| `flash-attn` is separate because it needs `--no-build-isolation`. To skip the slow source build, see the | |
| prebuilt wheel in [QUICK_START.md](./QUICK_START.md). Verify: | |
| ```bash | |
| python -c "import torch, transformers, flash_attn, pynvml; print(torch.__version__, transformers.__version__, flash_attn.__version__)" | |
| # expected: 2.6.0 4.51.3 2.7.4.post1 | |
| ``` | |
| **3. Download the weights** | |
| ```bash | |
| huggingface-cli download --resume-download Anoy123423123/MSA-4B --local-dir ckpt/MSA-4B | |
| ``` | |
| This is the path `scripts/run_benchmarks.sh` expects (`model_path=ckpt/MSA-4B`). | |
| **4. Run inference** | |
| ```bash | |
| bash scripts/run_benchmarks.sh eval_benchmark | |
| ``` | |
| Benchmark data is fetched automatically on first use into `./data/`. Results land in | |
| `src/evaluation/outputs/eval_benchmark/` as one `.log` and one `.json` per benchmark. | |
| **5. Score the answers** | |
| ```bash | |
| export OPENROUTER_API_KEY=<your key> | |
| bash scripts/calculate_llm_score.sh eval_benchmark | |
| ``` | |
| The argument must match the log directory name from step 4. | |
| ## Benchmarks | |
| Configured in the `benchmarks` array at the top of `scripts/run_benchmarks.sh` as `name:batch_size`: | |
| `2wikimultihopqa` `hotpotqa` `musique` `nature_questions` `triviaqa_06M` `triviaqa_10M` | |
| `hipporag_narrative` `hipporag_popqa` `msmarco_v1` `dureader` `ms_100M` | |
| `ms_100M` (the 100M-token setting) and `triviaqa_06M` are commented out by default. | |
| **Batch size must be scaled with your GPU count** — the memory corpus is partitioned into one bucket per | |
| visible GPU, and the defaults assume the 8 GPUs in `CUDA_VISIBLE_DEVICES`. | |
| ## Notes | |
| | Symptom | Fix | | |
| |---|---| | |
| | Errors loading the model | `transformers` must be exactly `4.51.3`. | | |
| | `import pynvml` fails | The module comes from `nvidia-ml-py`; the separate deprecated `pynvml` distribution shadows it. `pip uninstall -y pynvml && pip install nvidia-ml-py==12.575.51` | | |
| | CUDA OOM | Lower `batch_size` in `scripts/run_benchmarks.sh`. | | |
| | Data download stalls | `export HF_ENDPOINT=https://hf-mirror.com` and retry; partial files resume. | | |
| See [QUICK_START.md](./QUICK_START.md) for the project layout and the prebuilt `flash-attn` wheel. | |
| ## Citation | |
| Withheld during anonymous peer review. | |
| ## License | |
| MIT. | |