I matched Opus 4.5 on ARC-2 with a 100M looped transformer that never saw text A 100M-parameter looped transformer trained only on ARC puzzles, submitted by independent researcher Vakde as mdlARC v3 (submission 57908007), scored 37.08 on the Kaggle public leaderboard for ARC-AGI-2's semi-private tasks — roughly 3x the next-best non-LLM entry among the 746 ARC Prize 2026 writeups and above the 27.64% scored by NVARC's fine-tuned 4B Qwen model, last year's winner. Because the submission was scored after the leaderboard froze, the official board lists Vakde's previous looped model at 35.69 (rank 141); on ARC-1 Public Eval, a 19M-parameter looped model reached 70.25%, and a 1M-parameter model scored 49.00%, with the 70% result requiring 3.7 H200 hours, about $13. Vakde attributes the gain to looping — an 8.4M model rose from 47.44% to 66.25% when its middle four layers ran six times — and is launching a new benchmark, ARC Data Squeeze, to test sample efficiency. This is the third version of mdlARC, a series where I try to find out how far an autoregressive transformer can get on ARC when only trained on ARC puzzles -- no text, no LLMs Vakde, 2025 ref-vakde25 , Vakde, 2026 ref-vakde26 . - Likely one of the highest scores without an LLM. 3x higher than next best among all 746 ARC Prize 2026 writeups37.08 is the Kaggle public score of my final submission 57908007 ; Kaggle’s public leaderboard is scored on ARC-AGI-2’s semi-private tasks. The submission was made before the deadline but scored after the leaderboard froze, so the official leaderboard shows my previous looped model at 35.69, rank 141 screenshot fig-shot . - Likely the smallest high-scoring submission. Just 100M parameters. Top submissions all seem to be Qwen/Deepseek LLMs with 4B, 27B or more - Peaked at 6th place on this leaderboard, before the late surge of Qwen entries. - It beats last year’s winning LLM. NVARC fine-tuned a 4B Qwen model on generated puzzles, and scored 27.64% Sorokin and Puget, 2025 ref-nvarc . - Room for improvement. Final model is severely undertrained and unoptimised. I added looping in the last week of the competition and took the score from 33% → 35% → 37% What's new in this version? - Looping gives extraordinary gains - Different from HRM/TRM -- see below vs-trm - Different from HRM/TRM -- - Demo pairs in context - Hub and Spoke Attention - Truly tiny models - We don't hide trained parameters like HRM/TRM' 430M+ parameters - Eg: An actual 1M looped model beats my old 76M one Why do it without an LLM? Because I care about sample efficiency, and LLMs are trained on so much data, including ARC puzzles , that it can't be measured. It is now OBVIOUS that with enough training data, ARC-1/2 becomes trivial to solve. OTOH it is still super interesting to see how well a model can perform when the data is restricted to ARC puzzles, especially very few of them. To test ideas for sample efficiency, I am launching a new Benchmark, ARC Data Squeeze arc-data-squeeze . More details below Offline results on ARC-AGI Public Eval I used ARC-1 Public Eval to test ideas, training from scratch only on the 1307 public puzzles. These are the rules of ARC Data Squeeze arc-data-squeeze . Looped mdlARC scores 70.25% on ARC-1 -- the current SOTA on this restricted set Just 19M parameters. Also scores 15.14% on ARC-2 Beats my prev results with far fewer parameters: 44% in March 76M and 27.5% last December 28M - Looping is a huge win. A 8.4M model goes from 47.44 to 66.25% when its middle four layers run six times. At the same depth, the looped model beats stacks of unique layers with up to 4× more parameters, by 2.3 to 7.6 points. - Truly sub-1M models on ARC. A 1M model scores 49.00%, above my 76M model from March 44 This measures all the progress since March, not just the loop. The loop alone is measured in Looping alone adds 15–19 points looping-alone . - Still cheap to train: The 70% score requires 3.7 H200 hours -- about $13 Full results are in appendix B b-squeeze . The biggest surprise: all of this with almost no hand-written knowledge. No object detectors, no program search, no generated data. ARC is a remarkably well-made dataset. How ARC puzzles work if you're new The Abstraction and Reasoning Corpus Chollet, 2019 ref-chollet19 is a test of abstract reasoning. Each task shows a few demonstration pairs: an input grid and the output grid it should become. All the pairs follow one hidden rule, and you must produce the exact output for a new test input in at most two attempts. Every task uses a different rule, so solving them means learning concepts like objects, counting and symmetry, and combining them into new ones. It’s fascinating to watch a transformer learn that from so little data. Try one: ARC-AGI-1 has 400 public training and 400 public evaluation tasks. ARC-AGI-2 Chollet et al., 2025 ref-arcagi2 is harder: 1,000 training and 120 public evaluation tasks, and the competition is scored on hidden ones, with 12 hours on four L4 GPUs and no internet. Most entries start from a pretrained LLM Akyürek et al., 2024 ref-akyurek24 ; Franzen et al., 2024 ref-architects24 ; Sorokin and Puget, 2025 ref-nvarc ; mdlARC starts from random weights and learns only from ARC grids. Its name comes from the minimum description length principle MDL; Rissanen, 1978 ref-rissanen78 ; Grünwald, 2007 ref-grunwald07 : the model that explains the data in the fewest bits, counting its own size, should generalise best. How it works Like LLMs, mdlARC is an autoregressive transformer. During inference, the model spits out the test output grid one cell at a time. The demo pairs and the test input grid are always fed in as context. Converting a puzzle into a sequence of tokens An ARC puzzle has many demo pairs and 1-3 test pairs. In the older versions of mdlARC, we converted each pair demo or test into separate training sequences. Instead, we now use multiple pairs in a single sequence Lets take an example of a puzzle with 3 demo pairs and 2 test pairs. During training and inference, I create 2 sequences from this puzzle same as the number of test pairs . Each sequence starts with the demo pairs in a random order and ends with single test pair. Each grid is flattened row by row. The grid cells become a color token 0-9 , and we have 4 special tokens: