G

GuppyLM

A 9M-param fish LLM that teaches you how transformers actually work

PriceOpen Source (MIT)Reviewed2026-04-06

Expert verdict

Ship

3-1
3 Ships1 Skips
Visit github.com

The Panel's Take

GuppyLM is a deliberately tiny language model — 9 million parameters, 6 transformer layers — that roleplays as a fish and can be fully trained in under 5 minutes on a free Google Colab T4 GPU. The entire pipeline from data generation to training loop to inference fits in approximately 130 lines of PyTorch, making it the most compressed end-to-end LLM tutorial available. Unlike educational projects that paper over complexity with abstraction layers, GuppyLM deliberately avoids modern optimizations — no RoPE positional encoding, no grouped-query attention, no SwiGLU activations. You see exactly why each component exists when you remove it. It ships with a 60,000-example synthetic conversation dataset and produces coherent (if goofy) fish-themed responses after training. The project hit the top of Hacker News Show HN with 365 points and 31 comments. Developers praised how the simplicity forces you to confront how training data shapes model behavior directly, with multiple commenters saying it's the clearest path from 'I know Python' to 'I understand why LLMs work.'

Share this verdict

GuppyLM verdict: SHIP 🚀

3 ships · 1 skip from the expert panel

Full review: shiporskip.io/tool/guppylm-9m-parameter-fish-llm-educational-pytorch

Weekly AI Tool Verdicts

Get the next verdict in your inbox

7 critics review a new AI tool every day. Weekly digest — free.

Looking for GuppyLM alternatives?

Compare GuppyLM with every other Developer Tools tool reviewed by our panel.

See all Developer Tools alternatives

Embed this verdict

Tool makers can add a live ShipOrSkip badge to their site. Badge loads track impressions; clicks route back to this review.

Ship · 7.5/10
HTML badge
<a href="https://shiporskip.io/api/badge-click/guppylm-9m-parameter-fish-llm-educational-pytorch" target="_blank" rel="noopener"><img src="https://shiporskip.io/api/badge/guppylm-9m-parameter-fish-llm-educational-pytorch" alt="GuppyLM Ship verdict on ShipOrSkip" width="360" height="90" /></a>
Markdown badge
[![GuppyLM Ship verdict on ShipOrSkip](https://shiporskip.io/api/badge/guppylm-9m-parameter-fish-llm-educational-pytorch)](https://shiporskip.io/api/badge-click/guppylm-9m-parameter-fish-llm-educational-pytorch)
Iframe widget
<iframe src="https://shiporskip.io/embed/guppylm-9m-parameter-fish-llm-educational-pytorch" title="GuppyLM ShipOrSkip verdict" width="360" height="260" style="border:0;border-radius:16px;max-width:100%;" loading="lazy"></iframe>

The reviews

130 lines from raw data to inference — I've never seen a more honest on-ramp to transformer internals. The deliberate omission of RoPE and SwiGLU forces you to understand the delta between vanilla and modern architectures. Assign this to every junior ML engineer before they touch Hugging Face.

Helpful?

This is education, not tooling — calling it a 'language model' is generous for something that outputs fish puns. The synthetic training data is simplistic and the architecture is years behind real LLMs. Fine for learning, but don't confuse novelty with utility.

Helpful?

The best thing about GuppyLM is that it normalizes building your own models from scratch. As AI democratizes, the next generation of builders needs to understand transformers at the implementation level — not just prompt them. This is exactly the kind of artifact that spawns a thousand domain-specific tiny models.

Helpful?

A fish that learned to talk about water from 60K synthetic conversations is unexpectedly charming. The project has a clear personality and a memorable hook — it's the kind of thing that goes viral in classrooms because students actually want to run it. Clever branding for an educational tool.

Helpful?

Bookmarks

Loading bookmarks...

No bookmarks yet

Bookmark tools to save them for later