Show HN: Fully client-side GPT2 prediction visualizer

by thesephiston 9/5/2023, 10:42 PMwith 11 comments

Hi HN! I've found this visualization tool immensely helpful over the years for getting an intuition for how an LLM "sees" some piece of text, and with a bit of elbow grease decided to move all compute to client side so I could make it publicly available.

I've found it particularly useful for

- Understanding exactly how repetition and patterns affect a small LM's ability to predict correctly

- Understanding different tokenization patterns and how it affects model output

- Getting a general sense of how "hard" different prediction tasks are for GPT-style models

Known problems (that I probably won't fix, since this was a kind of one-off project)

- Doesn't work well with Unicode grapheme clusters that are multiple GPT-2 tokens (e.g. emoji, smart quotes)

- Support for other models (maybe later?)

by simonwon 9/6/2023, 3:53 AM

There's a video of a previous version of this tool here which I found really helped me understand what it was demonstrating: https://twitter.com/thesephist/status/1617747154231259137

It's really neat to see how this sentence:

> The first time I write this sentence, the model is quite confused about what token is about to come next, especially if I throw in weird words like pumpkin, clown, tweets, alpha, teddy bear.

Shows that the words pumpkin, clown etc are considered really unlikely. But when the sentence is repeated a moment later, all of the words become extremely predictable to the model.

Also worth noting: this demo runs entirely in the browser! It loads a 120MB ONNX version of GPT-2 using Transformers.js.

by didgeoridooon 9/6/2023, 2:09 AM

Really interesting! I wonder how well this syncs up with human intuition and general “information density”. If it’s a close match, maybe you could use this as a tool to help with skimming documents — the red (“hard to predict”) areas might be a good hint to slow down and read more carefully, while the green (“easy to predict”) areas might mean you could skim without losing too much unpredictable information.

by thomasfromcdnjson 9/6/2023, 9:41 AM

This is beautiful. Needs to be a standard tool for all models.

Great work!

by netipulkon 9/8/2023, 9:30 PM

The highlights being very similar in red and green is a complete nightmare for me because I have deuteranopia. You should probably fix that.

by skybrianon 9/6/2023, 2:40 PM

I’m sure it’s neat but it shouldn’t start running on load, because some people are browsing on mobile.

by Scene_Cast2on 9/6/2023, 4:36 AM

Any chance of Llama2 support?

by atgctgon 9/6/2023, 5:52 AM

It would be interesting to have attention visualized as well, similar to how it's done in BertViz:

https://github.com/jessevig/bertviz