spb/localvm-research Public License
Running LLMs larger than memory on a consumer Mac — falsification-driven research: margin-gated deferred refinement, out-of-core verification on Apple Silicon. TR-01 published.
Python 63.2%
JavaScript 23.5%
CSS 11.8%
Shell 0.9%
Makefile 0.5%
1{2 "experiment": "candidate_01_scale32b",3 "author": "Simon-Pierre Boucher",4 "contact": "contact@spboucher.ai",5 "manifest": {6 "author": "Simon-Pierre Boucher",7 "contact": "contact@spboucher.ai",8 "project": "localvm-research",9 "collected_utc": "2026-08-12T05:55:06.144401+00:00",10 "chip": {11 "brand": "Apple M5 Max",12 "arch": "arm64",13 "cores_total": 18,14 "cores_performance": 6,15 "cores_efficiency": 12,16 "gpu_cores": 4017 },18 "memory": {19 "unified_bytes": 51539607552,20 "unified_gb": 48.0,21 "pagesize": 1638422 },23 "ssd": {24 "model": "APPLE SSD AP2048Z",25 "size": "2 TB",26 "smart_status": "Verified"27 },28 "os": {29 "product": "macOS",30 "version": "27.0",31 "build": "26A5388g",32 "kernel": "27.0.0"33 },34 "software": {35 "python": "3.14.4",36 "mlx": "0.32.0",37 "mlx_lm": "0.31.3",38 "torch": null,39 "numpy": "2.5.2"40 },41 "git": {42 "commit": "30886de9b97d55c430a638480f14d16f4ba97d44",43 "dirty_tree": true44 },45 "thermal_level_at_collect": null46 },47 "config": {48 "per_domain": 2,49 "max_tokens": 96,50 "window": 32,51 "taus": "2.0",52 "modes": "margin,verify-all"53 },54 "models": {55 "base": "mlx-community/Qwen3-32B-4bit",56 "verify": "mlx-community/Qwen3-32B-8bit",57 "judge": "mlx-community/Qwen3-8B-bf16"58 },59 "q8_streamed_bytes": 34810574466,60 "baseline_pure_q4_tokens_per_s": 26.391281282242097,61 "runs": [62 {63 "mode": "margin",64 "tau": 2.0,65 "window": 32,66 "tokens_per_s": 1.6161952412668676,67 "deferral_rate": 1.125,68 "rollback_rate": 0.09722222222222222,69 "sweep_latency_s_mean": 2.9656049297462093,70 "logical_verify_bytes_per_token": 3928276632.4479165,71 "raw": {72 "tokens": 1152,73 "deferred": 1296,74 "sweeps": 130,75 "rollbacks": 112,76 "sweep_s": 385.5286408670072,77 "gen_s": 327.2565292569907,78 "logical_bytes": 452537468058079 }80 },81 {82 "mode": "verify-all",83 "tau": 2.0,84 "window": 32,85 "tokens_per_s": 1.6903989953797323,86 "deferral_rate": 1.0234375,87 "rollback_rate": 0.0920138888888889,88 "sweep_latency_s_mean": 2.967401378024411,89 "logical_verify_bytes_per_token": 3716754044.546875,90 "raw": {91 "tokens": 1152,92 "deferred": 1179,93 "sweeps": 123,94 "rollbacks": 106,95 "sweep_s": 364.9903694970026,96 "gen_s": 316.50553954500083,97 "logical_bytes": 428170065931898 }99 }100 ],101 "quality_8b_judge": {102 "pure_q4": {103 "mean_logprob_8b_judge": -0.7506343560914198,104 "n": 12105 },106 "margin_tau2.0": {107 "mean_logprob_8b_judge": -0.5459523188571135,108 "n": 12109 },110 "verify-all_tau2.0": {111 "mean_logprob_8b_judge": -0.46666722496350604,112 "n": 12113 }114 }115}