tinygpt-webgpu
GPT-2 124M compiled to WGSL compute kernels by tinygrad's WebGPU exporter, for running inference in the browser at https://jik.wtf/tinygpt.
This repository holds only the weight payloads. The compiled kernels and the manifests that describe these blobs live in the site repository beside the loader, because the offsets in a manifest are meaningful only against the exact blob they were computed for.
| file | bytes | contents |
|---|---|---|
weights-*.bin |
495,399,936 | transformer weights, fp32, laid out for the exported graph |
lens-*.bin |
30,670,848 | fitted J-lens Jacobians, 13 layers |
Weights are delivered as 16 MiB content-addressed chunks. Each file name carries the SHA-256 of its own contents, so a chunk URL always refers to exactly one sequence of bytes: safe to cache indefinitely, and impossible to pair with a manifest describing a different packing. The manifests listing them live in the site repository beside the loader.
The decode graph is compiled for a fixed 256-slot KV cache and emits both logits and all 13 residual stream taps, so both lenses read from one forward pass.
Greedy decoding reproduces the native tinygrad oracle token for token:
"The capital of France is" continues " the capital of the French".