Commit Graph
10 Commits
Author SHA1 Message Date
Joseph Magly c642cb3297 test: harden GPU memory utilization contract 2026-08-15 02:47:28 -04:00
Aaron Meese 67d9ef79d9 feat: add --gpu-memory-utilization CLI flag
Add a --gpu-memory-utilization flag (0.0-1.0, default 0.85) that controls
the fraction of GPU VRAM available for model loading. Plumbed from CLI
through AbliterationPipeline to load_model's max_memory calculation.

Useful on dedicated GPU setups where the default 15% reserve is wasteful
and causes unnecessary CPU offloading on models that would otherwise fit.
2026-08-15 02:47:28 -04:00
Joseph Magly 2c5dc5442c test: enforce runtime boundary contracts 2026-08-14 22:50:37 -04:00
Joseph Magly 340173e203 test: harden quantized model loading 2026-08-14 20:31:50 -04:00
Jpatching e922126405 fix: enable 4-bit quantized models on single 16GB GPUs
Four bugs prevented bitsandbytes 4-bit quantized models from completing
ablation studies on GPUs with 16GB VRAM:

1. runner.py: quantization parameter was never passed from StudyConfig
   to load_model(), so the loader had no idea quantization was enabled.

2. loader.py (max_memory): GPU memory budget was calculated against the
   unquantized model size, causing accelerate to offload layers to meta
   device even though the quantized model fits comfortably.
   Now divides estimate by 4 (4-bit) or 2 (8-bit) before deciding.

3. evaluator.py: empty strings in wikitext dataset caused zero-length
   tensors that crashed the forward pass with a reshape error.
   Now filters empty/whitespace-only texts and skips empty batches.

4. loader.py (snapshot/restore): snapshot skip decision used unquantized
   size estimate, and restore used strict=True which rejects bitsandbytes
   metadata keys (.absmax, .quant_map, .quant_state). Now uses quantized
   estimate and strict=False.

Tested on RTX 5060 Ti (16GB) with Qwen2.5-Coder-7B-Instruct in 4-bit.
Quick Scan (layer_removal + ffn_ablation) completes all 56 specs.
2026-08-14 20:31:50 -04:00
Joseph Magly 6add02edd0 test: enforce model and CLI boundary contracts 2026-08-14 12:51:09 -04:00
Joseph Magly 548092d5ca ci: establish green validation baseline (#59) 2026-08-14 09:55:49 -04:00
Stella Biderman 51f621d0a2 Save model snapshot to CPU to avoid OOM on multi-GPU setups
The snapshot() deepcopy was cloning tensors on their original GPU
devices, doubling VRAM usage. For a 234GB model sharded across 6
A100-80GB GPUs (~39GB each), this left no room for the copy.

Now snapshot stores tensors on CPU and restore() moves them back
to each parameter's current device.
2026-03-13 17:13:50 -04:00
pliny 1065809658 Add files via upload 2026-03-07 17:54:38 -08:00
pliny 0f6114fe87 Add files via upload 2026-03-04 12:38:18 -08:00