Comment by Jimmc414

2 months ago

We are getting to the point that its not unreasonable to think that "Generate an SVG of a pelican riding a bicycle" could be included in some training data. It would be a great way to ensure an initial thumbs up from a prominent reviewer. It's a good benchmark but it seems like it would be a good idea to include an additional random or unannounced similar test to catch any benchmaxxing.

I wrote about that possibility here: https://simonwillison.net/2025/Nov/13/training-for-pelicans-...

  • Aiden is perhaps misinformed. From a Bing search performed just now.

    > Yes, I am familiar with the "pelican riding a bicycle" SVG generation test. It is a benchmark for evaluating the ability of AI models, particularly large language models (LLMs) and multi-modal systems, to generate original, high-quality SVG vector graphics based on a deliberately unusual and complex prompt. The benchmark was popularized by Simon Willison, who selected the prompt because:

> We are getting to the point that its not unreasonable to think that "Generate an SVG of a pelican riding a bicycle" could be included in some training data.

I may be stupid, but _why_ is this prompt used as a benchmark? I mean, pelicans _can't_ ride a bicycle, so why is it important for "AI" to show that they can (at least visually)?

The "wine glass problem"[0] - and probably others - seems to me to be a lot more relevant...?

[0] https://medium.com/@joe.richardson.iii/the-curious-case-of-t...

  • The fact that pelicans can't ride bicycles is pretty much the point of the benchmark! Asking an LLM to draw something that's physically impossible means it can't just "get it right" - seeing how different models (especially at different sizes) handle the problem is surprisingly interesting.

    Honestly though, the benchmark was originally meant to be a stupid joke.

    I only started taking it slightly more seriously about six months ago, when I noticed that the quality of the pelican drawings really did correspond quite closely to how generally good the underlying models were.

    If a model draws a really good picture of a pelican riding a bicycle there's a solid chance it will be great at all sorts of other things. I wish I could explain why that was!

    If you start here and scroll through and look at the progression of pelican on bicycle images it's honestly spooky how well they match the vibes of the models they represent: https://simonwillison.net/2025/Jun/6/six-months-in-llms/#ai-...

    So ever since then I've continue to get models to draw pelicans. I certainly wouldn't suggest anyone take serious decisions on model usage based on my stupid benchmark, but it's a fun first-day initial impression thing and it appears to be a useful signal for which models are worth diving into in more detail.

    • > If a model draws a really good picture of a pelican riding a bicycle there's a solid chance it will be great at all sorts of other things.

      Why?

      If I hired a worker that was really good at drawing pelicans riding a bike, it wouldn't tell me anything about his/her other qualities?!

      6 replies →

  • It's just a variant of the wine glass - something that doesn't exist in the source material as-is. I have a few of my own I don't share publicly.

    Basically in my niche I _know_ there are no original pictures of specific situations and my prompts test whether the LLM is "creative" enough to combine multiple sources into one that matches my prompt.

    I think of if like this: there are three things I want in the picture (more actually, but for the example assume 3). All three are really far from each other in relevance, in the very corner of an equilateral triangle (in the vector space of the LLM's "brain"). What I'm asking it to do is in the middle of all three things.

    Every model so far tends to veer towards one or two of the points more than others because it can't figure out how to combine them all into one properly.

  • It's not nessessarily the best benchmark, it's a popular one, probably because it's funny.

    Yes it's like the wine glass thing.

    Also it's kind of got depth. Does it draw the pelican and the bicycle? Can the penguin reach the peddles? How?

    I can imagine a really good AI finding a funny or creative or realistic way for the penguin to reach the peddles.

    An slightly worse AI will do an OK job, maybe just making the bike small or the legs too long.

    An OK AI will draw a penguin on top of a bicycle and just call it a day.

    It's not as binary as the wine glass example.

    • > It's not nessessarily the best benchmark, it's a popular one, probably because it's funny.

      > Yes it's like the wine glass thing.

      No, it's not!

      That's part of my point; the wine glass scenario is a _realistic_ scenario. The pelican riding a bike is not. It's a _huge_ difference. Why should we measure intelligence (...) in regards to something that is realistic and something that is unrealistic?

      I just don't get it.

      3 replies →

It would be easy to out models that train on the bike pelican, because they would probably suck at the kayaking bumblebee.

So far though, the models good at bike pelican are also good at kayak bumblebee, or whatever other strange combo you can come up with.

So if they are trying to benchmaxx by making SVG generation stronger, that's not really a miss, is it?

  • That depends on if "SVG generation" is a particularly useful LLM/coding model skill outside of benchmarking. I.e., if they make that stronger with some params that otherwise may have been used for "rust type system awareness" or somesuch, it might be a net loss outside of the benchmarks.

If this had any substance then it could be criticized, which is what they're trying to avoid.

  • How? There's no way for you to verify if they put synthetic data for that into the dataset or not.

I assume all of the models also have variations on, “how many ‘r’s in strawberry”.

  • The easiest way to fix these is give the model an environment to run code.

    Any model can easily one-shot a python script that can count the occurrence of any letter anywhere and return the result.

    It's just a tooling issue. You really can't "train" an LLM to do it because tokenisation and ... stuff.

    • I am not convinced they are executing code. Otherwise I would expect LLMs to not frequently guess the result of math questions.

      Of course you could train it. Some quick scripting to find all words with repeat letters, build up sample sentences (aardvark has three a,) and you have hard coded the answer to simple questions that make your LLM look stupid.

      1 reply →