Local model preparation
Bring the compatible COPY.
The public lab works immediately in recorded mode. Live inference is optional and reads seven model files chosen from your computer. The site never uploads those files, downloads model weights, or calls a cloud model.
Prepare the model from the source repository
Use the repository’s evals/webgpu-prototype/README.md for the full, pinned preparation workflow. Start with the locally installed qwen3.5:4b-q4_K_M model specified by runtime/profiles/standard.json. From the repository root, run:
cd evals/webgpu-prototype npm.cmd ci npm.cmd run prepare:model -- --compatible-copy
The Python preparation script preserves the original installed model. It materializes Ollama’s text compatibility transformations into a separately labeled COPY, preserving the trained text model and quantization, then splits it into seven GGUF shards. Tool downloads can be large (the verified Ollama tool archive is approximately 1.5 GB); the preparation does not download the model itself.
The resulting artifact is 2,722,262,272 bytes with SHA-256:
2df892a9b08eaaf64d4f1d7e9eb04d31d54439e80c39cae0dfad79f6f2d8cc49
Choose the seven shards in the lab
Open the prepared .runtime/webgpu-prototype/compatible/models folder from the repository root, then select these files together in the lab:
qwen35-4b-text-copy-00001-of-00007.gguf qwen35-4b-text-copy-00002-of-00007.gguf qwen35-4b-text-copy-00003-of-00007.gguf qwen35-4b-text-copy-00004-of-00007.gguf qwen35-4b-text-copy-00005-of-00007.gguf qwen35-4b-text-copy-00006-of-00007.gguf qwen35-4b-text-copy-00007-of-00007.gguf
The lab verifies each name, byte length, and SHA-256 before passing the local files to wllama 3.8.1. It enables the benchmark only after a hardware compute check, a nonempty model context, and native logs confirming positive GPU layer offload. Loading can take time and requires enough available GPU memory.
Understand the experiment
The live settings match the recorded prompt format, greedy sampling, 4096-token context, Q8 KV cache, and 768-token output limit. The public static host may not provide cross-origin isolation; the runtime then uses one CPU helper thread instead of the recorded trial’s four. Actual loaded layer and thread counts are displayed. Results vary across hardware.
These are synthetic contract checks. They do not execute DAX or establish numerical, Power BI rendering, or export correctness.
Primary implementation references: wllama · Ollama compatibility transformations · Pinned GGUF splitting tool.