Join the conversation

Join the community of Machine Learners and AI enthusiasts.

Sign Up
sergiopaniegoΒ 
posted an update 5 days ago
Post
2559
Simon Willison (@simonw ) has asked every new model to draw a pelican riding a bicycle for some time now

you look at the drawing and you know. but there is no number, so nothing can train against it, no?

I turned this idea into an rl env in OpenEnv. now, you can eval any model against it, and train against it with TRL

read the details!πŸ€“

https://huggingface.co/blog/sergiopaniego/pelican-env-openenv

The reward has two halves, and which one does the work flips with model size.

Counting rows in your own dataset: structure_score is exactly 1.000 on 136 of the 138 gate-passing rows, 98.6%. Five of the seven models sit at 1.000 across all 20 samples, sd 0.000, and the only gate-passing exceptions are two Nemotron rows at 0.857. So on the frontier table 0.35 * structure is a constant offset rather than a ranking term. Between-model reward spreads 0.1452, and once the truncated Kimi SVG is set aside the structure half supplies 0.0050 of that, 3.4%. The judge is doing the other 96.6%.

Your GRPO probe inverts it exactly. Untrained Qwen3-1.7B comes in at structure 0.374 with semantic non-zero twice in 24, so down there the judge is the dead term and structure is the only live gradient. That is the run that found the blob. Same one-line reward, opposite division of labour at the two ends.

The coverage config says this is the task, not the checks. Off the canonical prompt only 19 of 30 reach 1.000, mean 0.905, floor 0.429 on capybara_skateboard, and every tandem-bicycle caps at 0.714 because the wheel-count and spacing checks still bite. pelican_bicycle is the one task where the free half has no headroom left to give.

One more on the blind caption, since you said it is the part you would keep. Cold, across all 138, the judge says pelican 55 times and stork 25, and the stork reading follows the bird across vehicles: pelican_skateboard and pelican_scooter are both captioned stork.

So is the catalogue the better training target, or does moving off pelican_bicycle give up the one thing the benchmark was famous for?

I rate this as a composite functional endpoint. I wonder whether a group needs to collaborate on the Pelican-Riding-a-Bike Benchmark? You game?