Writeup
A math model that runs on the same machine
The rules
The contest gives you olympiad-style math problems. The answer has to be a whole number between 0 and 99999, written in a box. You get a few minutes per problem. You cannot phone an API. Everything has to run on the Kaggle machine.
A model on the same machine
vLLM is a local server that talks like OpenAI, except the model lives in the same box. I pointed it at gpt-oss, using Harmony, which is the chat format that model expects. The solver class starts the server, waits until it answers, then sends each problem with a long system prompt that says understand, explore, plan, execute, verify.
The model never leaves the machine.
- 01The problemolympiad-style, integer answer
- 02This machinegpt-oss on a local vLLM server
- 03Boxed answer0 to 99999, no API
The backup notebook
I also kept a Qwen2.5-Math notebook. Same shape: load weights, sample, box the integer. The name 50-50 on those kernels is the mix I was trying, half one setup, half the other, not a claim that I solved 50 problems.
The score
The public board sat at 0 on the run that actually counted. The private board, the one they score after the deadline, came back 38.5. That is how this contest is built. You fly blind on the real test. Rank 2345 of 4138.
The public board hid the score. The private one is the real one.
What broke
What broke a lot of earlier rows was the notebook itself. Several parquet files landed in ERROR even when a number showed. The last complete rerun is the one I am talking about here.
What I won't pretend
What I would not claim. 38.5 is not a gold medal pipeline. The prompt is a checklist, not a proof. The interesting part is the local loop: weights on disk, a server you started, a boxed integer, no one else's API in the middle.
The files
I put the files under the writeup. Take one, or take the zip.
| # A math model that runs on the same machine |
| ## The rules |
| The contest gives you olympiad-style math problems. The answer has to be a whole number between 0 and 99999, written in a box. You get a few minutes per problem. You cannot phone an API. Everything has to run on the Kaggle machine. |
| ## A model on the same machine |
| vLLM is a local server that talks like OpenAI, except the model lives in the same box. I pointed it at gpt-oss, using Harmony, which is the chat format that model expects. The solver class starts the server, waits until it answers, then sends each problem with a long system prompt that says understand, explore, plan, execute, verify. |
| ### The backup notebook |
| I also kept a Qwen2.5-Math notebook. Same shape: load weights, sample, box the integer. The name 50-50 on those kernels is the mix I was trying, half one setup, half the other, not a claim that I solved 50 problems. |
| ## The score |
| The public board sat at 0 on the run that actually counted. The private board, the one they score after the deadline, came back 38.5. That is how this contest is built. You fly blind on the real test. Rank 2345 of 4138. |
| ### What broke |
| What broke a lot of earlier rows was the notebook itself. Several parquet files landed in ERROR even when a number showed. The last complete rerun is the one I am talking about here. |
| ## What I won't pretend |
| What I would not claim. 38.5 is not a gold medal pipeline. The prompt is a checklist, not a proof. The interesting part is the local loop: weights on disk, a server you started, a boxed integer, no one else's API in the middle. |
Credits
| Kind | Writeup |
|---|---|
| Date | May 2026 |
| Tags | Kaggle, Math, vLLM |