Logo Lanfrica

damilojohn/ATDC-Challenge

Domain:

natural language processing

Record type:

softwareproject
Creator:
dam
Host:
African Deep Tech # ATDC 2026 — Laptop LLM Challenge Submission repo for the **African Deep Tech Challenge 2026**: get a small but capable language model running **locally on an 8GB, CPU-only laptop** (no GPU, no cloud). The leaderboard scores: ``` S_total = 0.50·S_acc + 0.30·S_perf + 0.20·S_eff − P_thermal ``` so every decision is measured against **accuracy**, **throughput (TPS)**, **peak RAM ( **On WSL:** keep the project on the Linux filesystem (e.g. `~/atdc`), not under > `/mnt/c`. Building/installing into a venv on `/mnt/c` goes over the slow 9P > bridge and can fail with `Cannot allocate memory`. If you must keep the repo on > `/mnt/c`, put the venv on ext4: `export UV_PROJECT_ENVIRONMENT="$HOME/.venvs/atdc"`. ## Download a model Pulls a pre-quantized GGUF from Hugging Face into `./models/` (gitignored). ```bash uv run atdc-download --list # show candidate models uv run atdc-download qwen0.5b # Qwen2.5 0.5B Instruct (Q4_K_M) uv run atdc-download gemma3n-e2b # Gemma 3n E2B Instruct (Q4_K_M) uv run atdc-download qwen0.5b --quant q8_0 # override quantization ``` Then point `llama.cpp` at the downloaded file, e.g.: ```bash llama-bench -m models/qwen2.5-0.5b-instruct-q4_k_m.gguf ``` ## Layout ``` src/atdc/ models.py # registry of candidate GGUF models download.py # `atdc-download` CLI models/ # downloaded weights (gitignored) ``` ## Roadmap 1. **Profiler** — get llama.cpp running, download a model, run a first benchmark. ← *here* 2. **Harness** — reproducible TPS / peak-RAM / thermal measurement per the scoring formula. 3. **Domain + training** — pick a problem domain, then fine-tune / RL-posttrain.