Show HN: Fully client-side GPT2 prediction visualizer (perplexity.vercel.app)
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?)
17 comments
[ 2.7 ms ] story [ 54.7 ms ] threadIt'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.
https://github.com/jessevig/bertviz
http://blog.echen.me/2017/05/30/exploring-lstms/
There is also https://playground.tensorflow.org/
Great work!