Add model card
Browse files
README.md
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
base_model: siddharthmb/2026.AP.cpt_ifp
|
| 3 |
+
datasets:
|
| 4 |
+
- allenai/tulu-3-sft-mixture
|
| 5 |
+
---
|
| 6 |
+
|
| 7 |
+
# 2026.AP.sft_ifp
|
| 8 |
+
|
| 9 |
+
Main IFPruning SFT run: initialized from the cpt_ifp model (init_from models/cpt_ifp) and fine-tuned on tulu-3-sft-mixture with the predictor-generated masks active (llm_lr 1e-5, grad_accum 8, max 500k examples, 1 epoch).
|
| 10 |
+
|
| 11 |
+
Part of a replication of Apple's **Instruction-Following Pruning for Large Language Models** ([arXiv:2501.02086](https://arxiv.org/abs/2501.02086)) — "AP" = apple-paper-replicate, package `ifpruning` in [Sid-MB/mats_exploration](https://github.com/Sid-MB/mats_exploration) under `code/apple-paper-replicate/` (branch `introspection-causal-test`, merged to main at `a76965b`).
|
| 12 |
+
|
| 13 |
+
## Architecture
|
| 14 |
+
|
| 15 |
+
- LLM: Qwen2.5-3B (Qwen2ForCausalLM, 36 layers, d_ffn 11008)
|
| 16 |
+
- Predictor backbone: Qwen2.5-0.5B (Qwen2Model) + 2-layer MLP head (`head.pt`) producing per-layer FFN importance scores `[36, 11008]`; per-row SoftTopK selects t_ffn=1536 of 11008 FFN units (~1B activated params). Dense-baseline runs train the same LLM without masking.
|
| 17 |
+
|
| 18 |
+
## Contents
|
| 19 |
+
|
| 20 |
+
- `checkpoints/step_1000/pytorch_model_fsdp_0/` — FSDP2 SHARDED_STATE_DICT model weights (llm + predictor_backbone + head)
|
| 21 |
+
- `checkpoints/step_1000/optimizer_0/` — optimizer state (for exact training resumption)
|
| 22 |
+
- `checkpoints/step_1000/random_states_*.pkl`, `scheduler.bin` — RNG/scheduler state
|
| 23 |
+
|
| 24 |
+
## Performance
|
| 25 |
+
|
| 26 |
+
**No evaluations were run on this checkpoint.** The project reached "scaffold + smoke test + this training grid" before being paused (see `code/mats_exploration/everything we learned.md`); `logs/eval/` is empty and no eval_results directory exists. The only training-quality signal is the loss curves in the wandb runs below.
|
| 27 |
+
|
| 28 |
+
## Reproduction
|
| 29 |
+
|
| 30 |
+
From `code/` in the mats_exploration repo (paths as of June 2026; `IFP_ROOT=/nlp/scr/siddharth/apple-paper-replicate` set in `slurm/_common.sh`):
|
| 31 |
+
|
| 32 |
+
```bash
|
| 33 |
+
sbatch apple-paper-replicate/slurm/train.sbatch apple-paper-replicate/configs/presets/sft_ifp.yaml
|
| 34 |
+
```
|
| 35 |
+
|
| 36 |
+
which runs (8 GPUs, accelerate FSDP2 full-shard bf16, `SHARDED_STATE_DICT`):
|
| 37 |
+
|
| 38 |
+
```bash
|
| 39 |
+
srun uv run accelerate launch --config_file apple-paper-replicate/configs/accelerate_fsdp8.yaml \
|
| 40 |
+
-m ifpruning.train --config apple-paper-replicate/configs/presets/sft_ifp.yaml \
|
| 41 |
+
--ckpt-root $IFP_ROOT/ckpts --out-root $IFP_ROOT/models
|
| 42 |
+
```
|
| 43 |
+
|
| 44 |
+
Preset: `configs/presets/sft_ifp.yaml`. Data: allenai/tulu-3-sft-mixture. Seed 0. Slurm job 15878287 (jagupard39, 8 GPUs, afterok:15878284).
|
| 45 |
+
|
| 46 |
+
## Weights & Biases
|
| 47 |
+
|
| 48 |
+
- https://wandb.ai/siddharth-stanford/ifpruning-sft/runs/31cgnihz
|
| 49 |
+
|
| 50 |
+
## Cluster paths (Stanford NLP)
|
| 51 |
+
|
| 52 |
+
- Training log: `/nlp/scr2/siddharth/code/mats_exploration/code/apple-paper-replicate/logs/train/sft_ifp_15878287.out`
|
| 53 |
+
- Original checkpoint dir: `/nlp/scr2/siddharth/apple-paper-replicate/ckpts/sft_ifp` (deleted after this upload was verified; this repo is now the only copy)
|
| 54 |
+
- Code, configs, paper PDF, research notes: `/nlp/scr2/siddharth/code/mats_exploration/code/apple-paper-replicate/`
|
| 55 |
+
- Research note with the full run grid: `.../research-notes/2026-06-12_setup-and-smoke.md`
|