Phonon 31M for WebGPU

This repository holds one file, phonon-31m-en.int8.bin: the weights of gradium/phonon-31m-en at revision 92741c5b07d085ff840e26fea8ce43110b87852f, converted for blixt/phonon, a WebGPU runtime that runs the model in the browser. A browser downloads this 43.7 MB file in place of the 103 MB checkpoint.

The model is by Gradium. Gradium did not make this conversion. The weights stay under the Apache License 2.0.

What the conversion does

  • Tensors with 16,384 values or more become int8, with one f16 scale for each 32 values (scale = max |value| / 127, values rounded to f16 first, quantized values rounded half to even). All other tensors are f16.
  • The rows of q and k move from interleaved rotary pairs to halves in each head.
  • The flow head's time embedding for its one step is added to the bias of cond_embed.
  • The codec's latent projection is merged into its upsampling weights, and its layer scales into the weights they scale.
  • Convolution weights are reordered so that each output gathers its inputs.

The file starts with a JSON header (each tensor's offset, length and scale offset, and the vectors the speed control needs), followed by the vectors and the weights. packModel and unpackModel in src/checkpoint.ts write and read it.

Rebuild it

git clone https://github.com/blixt/phonon && cd phonon && npm install
npm run build-weights -- path/to/gradium/phonon-31m-en/model.safetensors phonon-31m-en.int8.bin
shasum -a 256 phonon-31m-en.int8.bin
# 94f9899fe623251260f30892db8356c7293da09196dc9df9c3c4bb1ddc4f5a85
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for blixt/phonon-31m-en-webgpu

Finetuned
(2)
this model