ultimate-webgpu / README.md
Gregory-L's picture
ultimate WebGPU: Agate and Qwen3 on the GPU, bankML separate on the CPU, in the ultimate input field
65bce6f verified
|
Raw History Blame Contribute Delete
3.38 kB
---
title: ultimate WebGPU
emoji: 🎛️
colorFrom: purple
colorTo: green
sdk: static
app_file: index.html
pinned: false
license: mit
short_description: Agate images and Qwen3 on WebGPU; bankML verified on the CPU
custom_headers:
cross-origin-embedder-policy: credentialless
cross-origin-opener-policy: same-origin
cross-origin-resource-policy: cross-origin
models:
- Logolabs/agate-preview-003
- onnx-community/Qwen3-0.6B-ONNX
- prism-ml/Bonsai-1.7B-gguf
tags:
- webgpu
- browser-inference
- text-to-image
- ultimate-input-field
- bankml
---
# ultimate WebGPU, with bankML beside it
One **ultimate input field** and three engines. All three run in your browser: no server, no account, and nothing is
sent anywhere except the model downloads, which happen once and are then cached in the browser.
| mode | engine | runs on | what you get |
|---|---|---|---|
| generic (⧉ chooses) | **Qwen3-0.6B** (q4f16) via transformers.js 4.2.0 | your **GPU** (WebGPU) | fast text |
| generic (⧉ chooses) | **Agate preview 003** (Logolabs), onnxruntime-web 1.30.0 | your **GPU** (WebGPU) | a 512 px image in a response window, marked AI-generated |
| **bankML** (the button beside T) | **bankML** compiled to WebAssembly (browseML), Bonsai-1.7B 1-bit | your **CPU** | a verified answer: the model's sha256 is checked before it runs, and every answer carries a receipt |
bankML stays a **separate** engine. The GPU engines are fast, while bankML's answers are verified, and you choose
between them for each question: **bankML** switches to it, and **>** goes back to the GPU.
## How to use it
- **Ask:** type and press Enter. The first question on an engine downloads its model: Qwen3 570 MB, Agate 531 MB,
bankML 248 MB. **⬇** loads one ahead of time, and `load all` loads all three.
- **Pictures:** press **⧉** to switch the generic mode from Qwen3 to Agate, then describe the picture.
- **Terminal mode:** **T** switches to it. The commands are `webgpu`, `gpu qwen|agate`, `load`, `steps`, `cfg`,
`res 512|256`, `seed`, `tokens`, `temp`, `ping` (the GPU and what's loaded), `last`, `details` and `help`.
- **The field itself:** response windows move, resize and pop out; the field docks to any edge by magnetic
attraction.
- **Kept in .memory:** each answer is kept as a delivery record: the engine, the model, the timings and the
sha256 of the answer or image.
## Requirements
- **WebGPU** (Chrome or Edge 113+) for the GPU engines. Without it they fall back to the CPU, which is slow, and
the page says so.
- bankML needs only WebAssembly. This Space is cross-origin isolated, so it uses several threads.
## Credits and licences
- **Agate:** `agate/agate.js`, `prompt.js` and `marking.js` are unchanged from
[Logolabs/agate-webgpu](https://huggingface.co/spaces/Logolabs/agate-webgpu) (MIT, © LogoLabs), and the models
come from Logolabs' own repos. Every image keeps their AI-generated marking: the invisible `AGATE003` watermark and
the PNG text fields. Label any images you publish as AI-generated.
- **Qwen3-0.6B:** [onnx-community/Qwen3-0.6B-ONNX](https://huggingface.co/onnx-community/Qwen3-0.6B-ONNX)
(Apache-2.0), at a pinned revision.
- **bankML:** [cryptoAGI/bankml](https://github.com/cryptoAGI/bankml) (MIT); browseML is from
[PYTHAI/bankml](https://huggingface.co/spaces/PYTHAI/bankml).
- **The field:** ultimate-bankml-ui 0.2.3.