1. ONNX / Transformers.js as go‑to solutions for small‑model inference in the browser
- “We use the ONNX runtime for small models in the browser” – seamossfet
- “And ONNX is what Transformers.js uses as well, at least for the moment.” – sroussey
- “Yeah ONNX runtime or Burn‑rs are great because they compile to wasm” – vatsachak
- “Transformers.js supports a lot of models since v4” – theanonymousone
- “I suggest using Transformers.js instead these days.” – MarioMan
2. WebGPU support remains problematic and hardware‑dependent
- “WebGPUNotAvailableError: WebGPU is not supported in your current environment, but it is necessary to run the WebLLM engine.” – TekMol
- “You can enable WebGPU support in Google Chrome by turning on hardware acceleration and activating the WebGPU flag. It Works.” – toto007
- “I tried it and the experience was not great… the most common GPU … is not supported… Firefox can’t select the correct GPU either.” – gpugreg
- “Error: Cannot initialize runtime because of requested maxStorageBuffersPerShaderStage exceeds limit. requested=10, limit=9.” – conceptme
3. llama.cpp/WebLLM is unstable, poorly maintained, and requires heavy patching
- “There's, quietly, a llama.cpp WebGPU backend that works great. Some hacking required, it's unsupported, a side project for one of the lead maintainers and someone in school.” – refulgentis
- “llama.cpp isn't what it was… the engineering is poor, and the 'lead maintainer' is aggro and isn't really involved after delivering their big refactor that was DOA.” – refulgentis
- “Carefully pick models you can support down to 'I can patch around the Jinja template engine'.” – refulgentis
- “Project is de facto dead, used it for many years and had to rip it out 6 months ago, don't waste your time.” – refulgentis