MicroLLM Lab: Kleine LLM's (Q4) in je browser

Waarom Kleine Taalmodellen (SLM's)?

Frontier-modellen zoals GPT-4 en Claude kosten miljoenen om te exploiteren en veroorzaken netwerklatentie. Compacte modellen (met 25M tot 360M parameters) fungeren daarentegen als een ultrasnelle en efficiënte 'edge-laag':

  • Edge Computing & Privacy: De modellen draaien volledig op je telefoon of laptop. Prompts en gebruikersgegevens verlaten het apparaat nooit.
  • Snelle Triage & Taakroutering: Queries kunnen in milliseconden worden geclassificeerd, spam kan worden gefilterd en intenties kunnen worden geëxtraheerd om te bepalen of een duur cloud-LLM überhaupt nodig is.
  • Geen Cloudkosten: Oneindige gelijktijdigheid wordt mogelijk gemaakt door client-GPU's, zonder API-rekeningen.
  • Ultra-lage Latentie: Een 'time-to-first-token' van minder dan 10ms zorgt voor onmiddellijke autocomplete en real-time agents.

Technisch Vocabulaire

Small Language Model (SLM) Een compact neuraal model (~25M–360M parameters) ontworpen voor efficiënte intelligentie aan de edge en specifieke taken, in plaats van brede algemene kennis.

Q4 (4-bit Kwantisatie) Het comprimeren van gewichten van 16-bit floats naar 4 bits per parameter. Dit verkleint de geheugenvoetafdruk met 75%, waardoor modellen van 100M+ parameters in ongeveer 50–84 MB browsergeheugen passen, met behoud van een bijna verliesvrije generatiekwaliteit.

WebGPU De moderne W3C standaard API die compute shaders direct uitvoert op de hardware-GPU (zoals Apple Silicon Metal, DirectX 12, Vulkan) binnen het browservenster.

Gebruik van het Lab in 3 stappen

  1. Laad een model: Klik op 'Load' bij een modelkaart. Het model wordt direct gecached in de private IndexedDB van de browser (er is geen bestanddownload naar de schijf nodig).
  2. Chat op het apparaat: Selecteer het geladen model en gebruik het chatpaneel om prompts te testen en de live snelheid in tokens per seconde (tok/s) te volgen.
  3. Benchmarken & Vergelijken: Schakel over naar het tabblad 'Benchmarks' om objectieve snelheid- en nauwkeurigheidstests uit te voeren en een deelbaar prestatiecertificaat te genereren.

Benchmarking en Analyse

De benchmarks voeren objectieve controles uit (via regex / exacte tokens) en beoordelen niet de schrijfkwaliteit. Het is acceptabel dat een model van 135M parameters faalt; dit is juist de meting.

Gemeten prestaties

De volgende statistieken worden bijgehouden op de lokale machine:

  • Hoogste pieksnelheid: De snelste individuele test.
  • Hoogste aanhoudende snelheid: Continue decode van 256 tokens.
  • Gemiddelde aanhoudende snelheid: Gemiddelde over de geteste modellen.
  • Totale benchmarkscore: De cumulatieve uitvoeringstijd (wall time) van de suite.

Daarnaast worden de nauwkeurigheid (pass rate op objectieve tests) en de gemiddelde snelheid (mean tok/s) per model bijgehouden.

Geverifieerd Benchmarkcertificaat

Gebruikers kunnen een verifieerbaar prestatiecertificaat genereren en downloaden. Dit certificaat bevat informatie over de hardware van het apparaat, de piek- en aanhoudende tokens per seconde.

Geavanceerde Functies

Eigen benchmarks schrijven Het is mogelijk om een benchmark in JavaScript te schrijven. De editor wordt via eval() in de oorsprong uitgevoerd, waarna elke controle wordt toegepast op de gedecodeerde tekst van het model.

Systeemmetrieken

Het lab monitort de volgende runtime-gegevens:

  • Backend en Model
  • Snelheid (tok/s)
  • TTFT (Time To First Token)
  • Wall time
  • Stop-condities
  • JS heap, GPU buffers en IndexedDB-gebruik
  • Adapter-informatie (met voorkeur voor WebGPU, fallback naar WASM en vervolgens JS)

Bronnen en Credits

  • Geïnspireerd door: yangqi0/petitgpt
  • Website: stateofutopia.com/experiments/microllmlab