{
  "id": 615239,
  "title": "Lb 8.33 with ARChitects Approach and a 0.5B model (Private Runtime ~5 hours)",
  "content": "<h2><strong>Huge shoutout to <a href=\"https://lambda.ai\" target=\"_blank\">lambda.ai</a> for giving us compute credit, allowing us to finetune our own model!</strong></h2>\n<p>Our solution is a modified version of <a href=\"https://www.kaggle.com/code/dfranzen/arc-prize-2024-solution-by-the-architects\" target=\"_blank\">the 2024 winning solution by the ARChitects</a>, with the following tweaks:</p>\n<ul>\n<li>We use a much smaller model. We finetuned on <a href=\"https://huggingface.co/Qwen/Qwen2.5-0.5B\" target=\"_blank\">Qwen2.5-0.5B</a>, using the scripts <a href=\"https://github.com/da-fr/arc-prize-2024\" target=\"_blank\">open-sourced by ARChitects</a>, with ARC 2 data instead of ARC 1 evaluation set. We used 90 tasks from ARC 2 evaluation set so that we have 30 tasks to experiment with test time training (TTT)</li>\n<li>Set <code>FAKE = True</code> in my solution notebook, you will be using the 30 holdout tasks</li>\n<li>Do single task finetuning. Same finding as <a href=\"https://www.kaggle.com/code/ironbar/the-architects-single-task-ttt\" target=\"_blank\">Guillermo Barbadillo</a>, <a href=\"https://www.kaggle.com/code/ippeiogawa/lb10-00-with-tweak-to-2024-1st-solution\" target=\"_blank\">ippeiogawa</a> and <a href=\"https://www.kaggle.com/code/albartrose/10-4-notebook-arcitects-tweaked\" target=\"_blank\">rxe</a> using a 8B model. We also tried TTT on <em>60 tasks together</em> per gpu, but never achieved a LB score more than 4.</li>\n<li>During TTT, the ARChitects data augmentation approach is used to generate 560 augmented samples for each task, and then finetune for 140 steps (effective batch size 4). One more tweak: during test time, we don't train on token embedding layer or output projection. </li>\n<li>We observe double descent as test time training steps increases</li>\n<li>During inference, we simply use greedy sampling with 16 augmented samples (and we just use the transformers library)</li>\n</ul>\n<p>(The motivation behind our \"2024 solution but even simpler\" kind of approach is that we were trying to work more on the local finetuning part. Unfortunately there hasn't been much great result that can be reported.)</p>\n<p>To be fair, our solution is not optimized at all. We discarded the more complex inference method that could help. Inference is done with slower library (on the private test set, we estimate ~1.5 hours being spent on inference). We even attribute tasks to 4 gpus simply by a random split. <strong>However, our notebook still finishes within ~5 hours on the private test set while achieving a LB score of 8.33, thanks to the smaller model.</strong></p>\n<p>Although our LB score is not very high, we hope the info reported here can be helpful to the community. Our main takeaways:</p>\n<ol>\n<li>With a 0.5B decoder-only language model, you also want to do singe-task test time training (same as with a 8B model)</li>\n<li>A 0.5B model can get close in terms of performances</li>\n<li>We want to share our 0.5B model so that future ARC-AGI players can run easy and fast experiments using it</li>\n</ol>\n<p>Finally we want to thank <a href=\"https://arcprize.org\" target=\"_blank\">arcprize.org</a> for hosting this competition and the 2024 winners (and front runners) for sharing their solutions!</p>",
  "comments": [
    {
      "id": 3313849,
      "author_name": "Richard Emslie",
      "author_url": "",
      "post_date": "2025-11-09T22:48:43.513000",
      "content": "<p>Hi - thanks for write-up and model, good job with training a small model.\nI also had most success with 8B ARCitects model doing singe-task test time training, fwiw.</p>\n<p>Is it possible to provide the 30 eval tasks you held back from your model please?   I think with that info, it would make the model much more useful for community to experiment.</p>",
      "votes": 0,
      "replies": [
        {
          "id": 3313858,
          "author_name": "jojobagel",
          "author_url": "",
          "post_date": "2025-11-09T23:26:28.540000",
          "content": "<p>Hi rxe,</p>\n<ol>\n<li>the 30 eval tasks is in my public dataset <a href=\"https://www.kaggle.com/datasets/jojobagel/arc-prize-2025-eval\" target=\"_blank\">https://www.kaggle.com/datasets/jojobagel/arc-prize-2025-eval</a> which is also attached to the notebook. If you set FAKE = True you will be using the 30 tasks files:</li>\n</ol>\n<p><a href=\"https://www.kaggle.com/datasets/jojobagel/arc-prize-2025-eval?select=arc-agi_evaluation_less_challenges.json\" target=\"_blank\">https://www.kaggle.com/datasets/jojobagel/arc-prize-2025-eval?select=arc-agi_evaluation_less_challenges.json</a></p>\n<p><a href=\"https://www.kaggle.com/datasets/jojobagel/arc-prize-2025-eval?select=arc-agi_evaluation_less_challenges.json\" target=\"_blank\">https://www.kaggle.com/datasets/jojobagel/arc-prize-2025-eval?select=arc-agi_evaluation_less_challenges.json</a></p>\n<ol>\n<li>your solution is also very insightful! I have added yours in my writeup too. Thanks for pointing out!</li>\n</ol>",
          "votes": 1,
          "replies": [
            {
              "id": 3313864,
              "author_name": "Richard Emslie",
              "author_url": "",
              "post_date": "2025-11-09T23:49:48.253000",
              "content": "<p>Thanks so much!</p>",
              "votes": 0,
              "replies": []
            }
          ]
        }
      ]
    }
  ],
  "comment_count": 3,
  "messages": [
    {
      "id": 3313787,
      "postDate": "2025-11-09T20:01:32.320Z",
      "content": "<h2><strong>Huge shoutout to <a href=\"https://lambda.ai\" target=\"_blank\">lambda.ai</a> for giving us compute credit, allowing us to finetune our own model!</strong></h2>\n<p>Our solution is a modified version of <a href=\"https://www.kaggle.com/code/dfranzen/arc-prize-2024-solution-by-the-architects\" target=\"_blank\">the 2024 winning solution by the ARChitects</a>, with the following tweaks:</p>\n<ul>\n<li>We use a much smaller model. We finetuned on <a href=\"https://huggingface.co/Qwen/Qwen2.5-0.5B\" target=\"_blank\">Qwen2.5-0.5B</a>, using the scripts <a href=\"https://github.com/da-fr/arc-prize-2024\" target=\"_blank\">open-sourced by ARChitects</a>, with ARC 2 data instead of ARC 1 evaluation set. We used 90 tasks from ARC 2 evaluation set so that we have 30 tasks to experiment with test time training (TTT)</li>\n<li>Set <code>FAKE = True</code> in my solution notebook, you will be using the 30 holdout tasks</li>\n<li>Do single task finetuning. Same finding as <a href=\"https://www.kaggle.com/code/ironbar/the-architects-single-task-ttt\" target=\"_blank\">Guillermo Barbadillo</a>, <a href=\"https://www.kaggle.com/code/ippeiogawa/lb10-00-with-tweak-to-2024-1st-solution\" target=\"_blank\">ippeiogawa</a> and <a href=\"https://www.kaggle.com/code/albartrose/10-4-notebook-arcitects-tweaked\" target=\"_blank\">rxe</a> using a 8B model. We also tried TTT on <em>60 tasks together</em> per gpu, but never achieved a LB score more than 4.</li>\n<li>During TTT, the ARChitects data augmentation approach is used to generate 560 augmented samples for each task, and then finetune for 140 steps (effective batch size 4). One more tweak: during test time, we don't train on token embedding layer or output projection. </li>\n<li>We observe double descent as test time training steps increases</li>\n<li>During inference, we simply use greedy sampling with 16 augmented samples (and we just use the transformers library)</li>\n</ul>\n<p>(The motivation behind our \"2024 solution but even simpler\" kind of approach is that we were trying to work more on the local finetuning part. Unfortunately there hasn't been much great result that can be reported.)</p>\n<p>To be fair, our solution is not optimized at all. We discarded the more complex inference method that could help. Inference is done with slower library (on the private test set, we estimate ~1.5 hours being spent on inference). We even attribute tasks to 4 gpus simply by a random split. <strong>However, our notebook still finishes within ~5 hours on the private test set while achieving a LB score of 8.33, thanks to the smaller model.</strong></p>\n<p>Although our LB score is not very high, we hope the info reported here can be helpful to the community. Our main takeaways:</p>\n<ol>\n<li>With a 0.5B decoder-only language model, you also want to do singe-task test time training (same as with a 8B model)</li>\n<li>A 0.5B model can get close in terms of performances</li>\n<li>We want to share our 0.5B model so that future ARC-AGI players can run easy and fast experiments using it</li>\n</ol>\n<p>Finally we want to thank <a href=\"https://arcprize.org\" target=\"_blank\">arcprize.org</a> for hosting this competition and the 2024 winners (and front runners) for sharing their solutions!</p>",
      "rawMarkdown": "## **Huge shoutout to [lambda.ai](https://lambda.ai) for giving us compute credit, allowing us to finetune our own model!**\n\nOur solution is a modified version of [the 2024 winning solution by the ARChitects](https://www.kaggle.com/code/dfranzen/arc-prize-2024-solution-by-the-architects), with the following tweaks:\n- We use a much smaller model. We finetuned on [Qwen2.5-0.5B](https://huggingface.co/Qwen/Qwen2.5-0.5B), using the scripts [open-sourced by ARChitects](https://github.com/da-fr/arc-prize-2024), with ARC 2 data instead of ARC 1 evaluation set. We used 90 tasks from ARC 2 evaluation set so that we have 30 tasks to experiment with test time training (TTT)\n- Set `FAKE = True` in my solution notebook, you will be using the 30 holdout tasks\n- Do single task finetuning. Same finding as [Guillermo Barbadillo](https://www.kaggle.com/code/ironbar/the-architects-single-task-ttt), [ippeiogawa](https://www.kaggle.com/code/ippeiogawa/lb10-00-with-tweak-to-2024-1st-solution) and [rxe](https://www.kaggle.com/code/albartrose/10-4-notebook-arcitects-tweaked) using a 8B model. We also tried TTT on *60 tasks together* per gpu, but never achieved a LB score more than 4.\n- During TTT, the ARChitects data augmentation approach is used to generate 560 augmented samples for each task, and then finetune for 140 steps (effective batch size 4). One more tweak: during test time, we don't train on token embedding layer or output projection. \n- We observe double descent as test time training steps increases\n- During inference, we simply use greedy sampling with 16 augmented samples (and we just use the transformers library)\n\n(The motivation behind our \"2024 solution but even simpler\" kind of approach is that we were trying to work more on the local finetuning part. Unfortunately there hasn't been much great result that can be reported.)\n\nTo be fair, our solution is not optimized at all. We discarded the more complex inference method that could help. Inference is done with slower library (on the private test set, we estimate ~1.5 hours being spent on inference). We even attribute tasks to 4 gpus simply by a random split. **However, our notebook still finishes within ~5 hours on the private test set while achieving a LB score of 8.33, thanks to the smaller model.**\n\nAlthough our LB score is not very high, we hope the info reported here can be helpful to the community. Our main takeaways:\n1. With a 0.5B decoder-only language model, you also want to do singe-task test time training (same as with a 8B model)\n2. A 0.5B model can get close in terms of performances\n3. We want to share our 0.5B model so that future ARC-AGI players can run easy and fast experiments using it\n\nFinally we want to thank [arcprize.org](https://arcprize.org) for hosting this competition and the 2024 winners (and front runners) for sharing their solutions!",
      "votes": 19
    },
    {
      "id": 3313849,
      "postDate": "2025-11-09T22:48:43.513Z",
      "content": "<p>Hi - thanks for write-up and model, good job with training a small model.\nI also had most success with 8B ARCitects model doing singe-task test time training, fwiw.</p>\n<p>Is it possible to provide the 30 eval tasks you held back from your model please?   I think with that info, it would make the model much more useful for community to experiment.</p>",
      "rawMarkdown": "Hi - thanks for write-up and model, good job with training a small model.\nI also had most success with 8B ARCitects model doing singe-task test time training, fwiw.\n\nIs it possible to provide the 30 eval tasks you held back from your model please?   I think with that info, it would make the model much more useful for community to experiment.",
      "replies": [
        {
          "id": 3313858,
          "postDate": "2025-11-09T23:26:28.540Z",
          "content": "<p>Hi rxe,</p>\n<ol>\n<li>the 30 eval tasks is in my public dataset <a href=\"https://www.kaggle.com/datasets/jojobagel/arc-prize-2025-eval\" target=\"_blank\">https://www.kaggle.com/datasets/jojobagel/arc-prize-2025-eval</a> which is also attached to the notebook. If you set FAKE = True you will be using the 30 tasks files:</li>\n</ol>\n<p><a href=\"https://www.kaggle.com/datasets/jojobagel/arc-prize-2025-eval?select=arc-agi_evaluation_less_challenges.json\" target=\"_blank\">https://www.kaggle.com/datasets/jojobagel/arc-prize-2025-eval?select=arc-agi_evaluation_less_challenges.json</a></p>\n<p><a href=\"https://www.kaggle.com/datasets/jojobagel/arc-prize-2025-eval?select=arc-agi_evaluation_less_challenges.json\" target=\"_blank\">https://www.kaggle.com/datasets/jojobagel/arc-prize-2025-eval?select=arc-agi_evaluation_less_challenges.json</a></p>\n<ol>\n<li>your solution is also very insightful! I have added yours in my writeup too. Thanks for pointing out!</li>\n</ol>",
          "rawMarkdown": "Hi rxe,\n1. the 30 eval tasks is in my public dataset [https://www.kaggle.com/datasets/jojobagel/arc-prize-2025-eval](https://www.kaggle.com/datasets/jojobagel/arc-prize-2025-eval) which is also attached to the notebook. If you set FAKE = True you will be using the 30 tasks files:\n\n[https://www.kaggle.com/datasets/jojobagel/arc-prize-2025-eval?select=arc-agi_evaluation_less_challenges.json](https://www.kaggle.com/datasets/jojobagel/arc-prize-2025-eval?select=arc-agi_evaluation_less_challenges.json)\n\n[https://www.kaggle.com/datasets/jojobagel/arc-prize-2025-eval?select=arc-agi_evaluation_less_challenges.json](https://www.kaggle.com/datasets/jojobagel/arc-prize-2025-eval?select=arc-agi_evaluation_less_challenges.json)\n\n2. your solution is also very insightful! I have added yours in my writeup too. Thanks for pointing out!",
          "votes": 1,
          "replies": [
            {
              "id": 3313864,
              "postDate": "2025-11-09T23:49:48.253Z",
              "content": "<p>Thanks so much!</p>",
              "rawMarkdown": "Thanks so much!"
            }
          ]
        }
      ]
    }
  ],
  "complete": true,
  "source": "live",
  "fetched_at": "2026-10-19T21:00:17Z",
  "competition_id": 91496,
  "competition_slug": "arc-prize-2025",
  "team_id": 13937287,
  "solution_url": "/competitions/arc-prize-2025/writeups/lb-8-33-with-architects-approach-and-a-0-5b-model"
}