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
metadata
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 (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 (Apache-2.0), at a pinned revision.
  • bankML: cryptoAGI/bankml (MIT); browseML is from PYTHAI/bankml.
  • The field: ultimate-bankml-ui 0.2.3.