The engine is a small model we fine-tuned with LoRA on a dataset we generated ourselves, then quantized to run on CPU inside the container. It is trained to produce the exact format each category is graded on, so there is no wasted output. Around it sit solvers that do not guess. Math is written as a Python program, executed, and verified. Logic puzzles are brute-forced in code, with prose reasoning as a backup when the generated code is shaky. Generated and debugged code is run against tests before we trust it. Named entities are extracted by a dedicated spaCy model that is deterministic and fast. A hosted model stays wired in as a safety net, used only if a task ever comes back empty. It never did. None of this came easy. Bigger models scored higher but timed out on the two vCPU judging box, so we moved to a fast fine-tuned 1.5B. Math kept returning blank until we found the model was writing notebook-style code that computed the answer and never printed it, which we fixed in the runner and watched math jump from zero to perfect. Multi-part questions and logic each needed their own fix. The payoff is every category solved locally, zero tokens spent, in a 2.8 GB image that runs inside 4 GB of RAM and two vCPUs and finishes with time to spare.
Category tags: