
Eén workstation-GPU. Een antwoord van 256 tokens was na mediaan 5,12 seconden volledig gegenereerd. Zonder inferentie-API in de cloud.
Paiton draait het publiek beschikbare Ornith 1.5 35B A3B MXFP4-checkpoint met gemiddeld 44,63 outputtokens per seconde op één AMD Radeon AI PRO R9700.
De snelste gekwalificeerde standaard-vLLM-configuratie op dezelfde machine behaalde 35,13 outputtokens per seconde. Paiton levert daarmee 27,03% meer outputthroughput en verlaagt de gemodelleerde tijdsgebonden kosten per gegenereerde token met 21,28%.
Onze eerdere Qwen3.8-benchmark testte drie verschillende promptprofielen. Deze release beantwoordt een andere vraag: passen een mixture-of-experts-model van ongeveer 35B, de speculatieve draft en een bruikbare servingruntime samen op één kaart van 32 GB, terwijl het systeem snel genoeg blijft voor lokaal gebruik?
Afbakening van de benchmark: 256 gevraagde inputtokens, 256 outputtokens, één actieve sequentie, temperatuur nul en thinking uitgeschakeld. Na toepassing van de chattemplate telden de prompts in werkelijkheid 268 tot 270 tokens. Het cijfer in de titel meet de generatie van outputtokens, niet de snelheid van promptverwerking, codering met een lange context, toolgebruik of gelijktijdige serving.
Een 35B-model dat echt past
Ornith 1.5 35B A3B is een mixture-of-experts-model. De aanduiding A3B betekent dat voor elke token ongeveer 3 miljard parameters worden geactiveerd. Dit betekent niet dat het volledige model evenveel geheugen inneemt als een 3B-model. De volledige verzameling experts moet nog steeds in het geheugen worden opgeslagen.
Het geteste MXFP4-target is ongeveer 22,9 GB groot. De publieke DFlash-draft voegt daar ongeveer 772 MB aan toe. Samen passen ze binnen de 32 GB VRAM van de R9700, inclusief de gekwalificeerde runtime en een gereserveerde KV-cache.
| Wat u nodig hebt | Gepubliceerd pakket |
|---|---|
| GPU | Eén Radeon AI PRO R9700, 32 GB |
| Runtimeplatform | Linux, Docker en ROCm 7.14 |
| Download bij de eerste start | Target van 22,9 GB + draft van 772 MB |
| Tijdelijk vrije schijfruimte | Ongeveer 48 GB tijdens de eerste voorbereiding |
| Maximale context | 8.192 tokens |
| Toegang | Terminalchat + OpenAI-compatibele API |
| Gekwalificeerd servingbereik | Alleen tekst, één actieve sequentie |
De publieke runtimeplugin heeft een Apache 2.0-licentie. Het targetcheckpoint heeft een MIT-licentie en de DFlash-draft heeft een Apache 2.0-licentie. De Paiton-compiler zelf wordt niet verspreid.
Het upstream Ornith-team richt zich op codeerwerk en agentic workflows. Het publiceert servingvoorbeelden met 262.144 tokens en toolgebruik. Dat maakt Ornith relevant voor lokaal gebruik en niet alleen voor een synthetische capaciteitstest. Die bredere mogelijkheden vallen echter niet binnen de kwalificatie van dit pakket. Het gepubliceerde Paiton-traject is beperkt tot 8.192 tokens en alleen tekst. Automatische toolselectie valt buiten het geteste bereik van deze release.
Die afbakening is belangrijk. Wie lokale AI evalueert, wil meer weten dan alleen of een checkpoint kan worden geladen: wat past er, wat start betrouwbaar, welke API is beschikbaar en waar houdt de kwalificatie op?
Waar de winst van 27% vandaan komt
Het grootste deel van de winst is al aanwezig voordat speculatieve decoding wordt ingeschakeld.
| Runtime | Outputtokens/s | Mediane TPOT | Verschil met standaard-vLLM |
|---|---|---|---|
| Snelste gekwalificeerde standaard-vLLM | 35,132 | 27,457 ms | Referentie |
| Paiton zonder DFlash | 43,405 | 21,926 ms | +23,55% |
| Paiton met DFlash, gemiddelde van twee runs | 44,628 | 18,864 ms | +27,03% |
Zonder speculatieve decoding levert het Paiton-pad voor het targetmodel al 23,55% meer throughput dan standaard-vLLM. DFlash verhoogt het resultaat vervolgens van 43,405 naar 44,628 tokens per seconde, een extra winst van 2,82% ten opzichte van Paiton zonder speculatie.
DFlash gebruikt een lichtgewicht block-diffusion-draftmodel om meerdere volgende tokens parallel voor te stellen. Ornith controleert die voorstellen, aanvaardt het geldige begin en behoudt de uiteindelijke controle over de gegenereerde output.
DFlash zorgt voor de laatste versnelling, maar niet voor de volledige winst van 27%. Hier stopt de publieke technische toelichting. De gegenereerde kernels, fusiekeuzes, planningen en runtimemechanismen van Paiton blijven bedrijfseigen.
De start komt 20 ms later, het volledige antwoord 2,66 seconden eerder
Generatiesnelheid is slechts één onderdeel van de gebruikerservaring. Een lokale gebruiker merkt ook hoe snel het model begint en hoelang het duurt voordat het volledige antwoord klaar is.
Voor deze workload nam de mediane tijd tot de eerste token toe van ongeveer 290 ms tot 310 ms. Zodra de generatie begon, maakte de snellere tokenstream die vertraging van 20 ms ruimschoots goed:
- De mediane tijd per outputtoken daalde van 27,46 ms tot 18,86 ms, een vermindering van 31,3%.
- De mediane end-to-endtijd daalde van ongeveer 7,78 seconden tot 5,12 seconden.
- Het volledige antwoord van 256 tokens was ongeveer 2,66 seconden eerder klaar.
Dit is het volledige latencyverhaal: een iets tragere eerste token en een duidelijk sneller volledig antwoord. Bij speculatieve decoding meet TPOT het tempo van de tokenstream. Het is niet rechtstreeks het omgekeerde van de throughput van een volledig verzoek, omdat geaccepteerde tokens in blokken kunnen binnenkomen. De throughput van volledige verzoeken en de end-to-endtijd blijven hier de belangrijkste maatstaven.
Workloads die voornamelijk uit de verwerking van grote prompts bestaan, vereisen afzonderlijke metingen van de promptverwerking. Dit artikel leidt die niet af uit de decodethroughput.
Meer output uit hetzelfde actieve uur
Bij de gemeten snelheden heeft standaard-vLLM ongeveer 7,91 actieve uren nodig om één miljoen outputtokens te genereren. Paiton met DFlash heeft ongeveer 6,22 uur nodig.
Daarom leidt 27,03% meer throughput tot 21,28% lagere kosten: de kosten per token zijn omgekeerd evenredig met de throughput.
We gebruiken hetzelfde illustratieve eigendomsmodel als in het Qwen3.8-artikel, met 5.000 productieve inferentie-uren, hetzelfde systeemverbruik van 450 W, aankoopprijzen van $ 1.299 of € 1.749 en elektriciteitstarieven van $ 0,17 of € 0,2558 per kWh. Dat geeft het volgende resultaat:
| Economie van interactieve tokens | Gekwalificeerde standaard-vLLM | Paiton + DFlash |
|---|---|---|
| Uren per miljoen outputtokens | 7,91 | 6,22 |
| Gemodelleerde Amerikaanse kosten per miljoen | $ 2,66 | $ 2,09 |
| Gemodelleerde Europese kosten per miljoen | € 3,68 | € 2,89 |
| Output over 5.000 actieve uren | 632,4 miljoen | 803,3 miljoen |
Volgens dit model produceert dezelfde kaart over 5.000 productieve uren ongeveer 171 miljoen extra outputtokens.
Dit is een tijdsgebonden eigendomsmodel en geen claim over gemeten energie-efficiëntie aan het stopcontact. Het model gaat uit van hetzelfde systeemverbruik en houdt geen rekening met de hostcomputer, inactieve tijd, koeling, onderhoud, financiering, belastingen of restwaarde.
Waarom de vergelijking met standaard-vLLM geloofwaardig is
We vergeleken Paiton niet met een standaardinstallatie of een bewust zwakke configuratie. De geselecteerde standaardconfiguratie was het snelste stabiele resultaat dat we behaalden na tests met de beschikbare instellingen voor uitvoering, graphs, attention, recurrente verwerking en mixture-of-experts.
De configuratie gebruikte de vastgezette, ongewijzigde ROCm-versie van vLLM, O2-compilatie, graph capture met batchgrootte één, Triton-attention, Triton GDN-decode, de niet-gefuseerde Triton MoE-backend, uitgeschakelde DFlash en hetzelfde ondersteunde prestatieniveau AUTO met het vermogensprofiel COMPUTE.
Beide configuraties gebruikten dezelfde GPU, hetzelfde checkpoint, dezelfde tokenizer, vastgezette vLLM-revisie, verzoekgegevens, random seed, outputlengte, concurrency en hetzelfde GPU-profiel. Voor het headlinecijfer krijgt standaard-vLLM zijn snelste gekwalificeerde resultaat. Dat vergelijken we met het gemiddelde van twee Paiton-runs, telkens vanaf een nieuw gestarte server.
De standaardconfiguratie voltooide alle 12 gemeten verzoeken. De twee Paiton-runs voltooiden alle 24 verzoeken en leverden telkens het gevraagde aantal outputtokens. Een deterministisch verzoek in natuurlijke taal voor en na de Paiton-runs bleef leesbaar, stopte op een natuurlijke manier, leverde eindige logwaarschijnlijkheden op en was byte-identiek.
Die laatste stap is een praktische controle op correcte serving. Het is geen academische nauwkeurigheidsevaluatie, codeerbenchmark of bewijs dat de kwaliteit gelijk is aan die van het upstream model. Test het gekwantiseerde checkpoint voor implementatie met uw eigen prompts en acceptatiecriteria.
Het publieke Ornith-benchmarkrapport bevat de gepubliceerde workload, standaardinstellingen en het reproductiecommando.
Ornith 1.5 lokaal uitvoeren
Dit is een gecontroleerd traject voor Linux en Docker op één Radeon AI PRO R9700 met ROCm 7.14. Start de server en open de meegeleverde terminalchat met één commando:
git clone --depth 1 https://github.com/Eliovp-BV/paiton-vllm-plugin.git \
&& cd paiton-vllm-plugin \
&& ./models/Ornith-1.5/serve-docker.sh --chat
Bij de eerste start worden het vastgezette publieke target en de DFlash-draft gedownload. Daarna maakt het systeem een gebruiksklare kopie in een permanent Docker-volume. Dezelfde server biedt een OpenAI-compatibel endpoint op:
http://127.0.0.1:8000/v1/chat/completions
Gebruik de modelnaam ornith. De publieke pakketdocumentatie bevat het rechtstreekse Docker-commando, de optie om DFlash uit te schakelen en de exacte gebruiksgrenzen.
De image bevat de runtimeplugin en het gecompileerde Paiton-artefact. Ze bevat geen modelgewichten en geen broncode van de Paiton-compiler.
Geteste configuratie
| Onderdeel | Geteste waarde |
|---|---|
| GPU | AMD Radeon AI PRO R9700, 32 GB, gfx1201 |
| Model | Ornith 1.5 35B A3B MXFP4 Quark RDNA4 |
| Modelrevisie | 9e488f46c0f7969f84c9923ee0256311cd50316e |
| Grootte target / draft | 22,9 GB / 772 MB |
| ROCm | 7.14 |
| vLLM-revisie | 39bd959b582c85e78e7e0326d49042ce7c3c07ed |
| Paiton-image | ghcr.io/eliovp/paiton-vllm-plugin:ornith15-mxfp4-rdna4-v1.0.0 |
| Geteste digest | sha256:f8feb0ea85e36f681eaf4f6c1d534551e4e0d1d98bf479f1cb6b6236a5893de2 |
| Tensorparallelisme | 1 |
| Maximaal aantal actieve sequenties | 1 |
| Maximale context | 8.192 tokens |
| Gereserveerde KV-cache | 3 GiB |
| Gekwalificeerd bereik | Alleen tekst, inferentie voor één gebruiker |
Het pakket weigert te starten wanneer de GPU, het checkpoint of het servingcontract niet wordt ondersteund. Extra verzoeken worden in een wachtrij geplaatst in plaats van een niet-gekwalificeerd gelijktijdig traject te gebruiken.
Van een workstationresultaat naar economische impact in productie
De Qwen3.8-release liet zien dat Paiton drie verschillende promptprofielen op de R9700 versnelde. Ornith voegt een ander bewijs toe: een 35B MoE-target en een speculatieve draft passen op één kaart van 32 GB, werken via een vertrouwde API en genereren 44,63 outputtokens per seconde.
Voor lokale gebruikers betekent dit een sneller privé-modelendpoint zonder afhankelijkheid van een gehoste prijs per token. Voor operators met AMD Instinct CDNA-infrastructuur is de hefboom groter: elk procent winst telt door over accelerators, modellen en miljarden gegenereerde tokens.
Draait u een AMD-tokenfabriek? Bezorg ons uw model, verkeersprofiel en huidige baseline. Wij tonen waar throughput, latency en kosten per gegenereerde token kunnen verbeteren.
