← Nieuwste papers
🔢 mathematics

Automated Numerical Stability Analysis of Deep Learning Operators

Dit artikel introduceert een unificerende softwaretool die CESTAC integreert om numerieke instabiliteit in deep learning-operatoren te detecteren, te valideren en te monitoren tijdens een enkele berekeningsronde, waardoor de ontwikkeling van stabielere en efficiëntere trainings- en inferentiekernels wordt ondersteund.

Oorspronkelijke auteurs: Xinye Chen

Gepubliceerd 2026-07-29
📖 9 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Xinye Chen

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

Stel je voor dat je een gigantisch, ingewikkeld kasteel bouwt van piepkleine, licht wiebelende Lego-steentjes. In de wereld van de computerwetenschappen zijn deze steentjes getallen, en het kasteel is een "deep learning"-model—een superintelligent brein dat leert om katten te herkennen, gedichten te schrijven of auto's te besturen. Lange tijd bouwden wetenschappers deze kastelen met grote, stevige, dubbel zo grote steentjes (de zogenaamde "double precision"), die zeer nauwkeurig maar zwaar en traag waren om te verplaatsen. Om sneller te worden en energie te besparen, begonnen ingenieurs kleinere, lichtere steentjes te gebruiken ("reduced precision"). Het is alsof je zware steen vervangt door lichtgewicht schuim; het kasteel gaat veel sneller omhoog, maar er is een addertje onder het gras: de schuimsteentjes zijn een beetje wiebelig. Als je ze verkeerd opstapelt, of als je probeert een klein kiezelsteentje op een gigantisch blok schuim te balanceren, kan het hele bouwwerk wankelen, instorten, of een resultaat geven dat er wel goed uitziet, maar eigenlijk een beetje "vervuild" is met fouten.

Dit is het probleem van "numerieke instabiliteit". Het is niet dat de computer kapot is; het is dat de wiskunde wazig wordt wanneer je het probeert te doen met minder cijfers. Soms kan een computer twee enorme, bijna identieke getallen van elkaar aftrekken om een minuscuul verschil te vinden, en in dat proces gooit hij per ongeluk alle belangrijke informatie weg, waardoor er alleen maar ruis overblijft. Lange tijd was het uitzoeken waar in een massief, complex neuraal netwerk dit wankelen precies gebeurde, alsovergelijkbaar met het proberen te vinden van één losse steen in een kasteel terwijl het kasteel wordt gebouwd in het donker. Je weet dat het kasteel schudt, maar je kunt niet zien welke steen de oorzaak is.

Maak kennis met een nieuwe tool genaamd noisefloat, ontwikkeld door onderzoekers van de Sorbonne Université. Denk aan deze tool als een "stress-test"-bril voor je Lego-kasteel. In plaats van het kasteel slechts één keer te bouwen, bouwt de tool drie licht verschillende versies van exact hetzelfde kasteel tegelijkertijd, waarbij kleine, willekeurige duwtjes tegen de steentjes worden gegeven om te zien hoe ze reageren. Als de drie versies er bijna identiek uitzien, zijn de steentjes stabiel. Maar als één versie instort of er totaal anders uitziet dan de anderen, wijst de tool direct met een vinger naar de specifieke steen (of "operator") die wankelt. De onderzoekers gebruikten deze tool om deep learning-modellen te testen en ontdekten dat het erin slaagt om deze verborgen, onstabiele steentjes op te sporen, zelfs midden in een complex trainingsproces. Ze lieten zien dat hoewel sommige wiskundige trucs veilig zijn, andere—zoals het proberen weg te strepen van enorme getallen om een klein getal te vinden—gevaarlijk kunnen zijn en de nauwkeurigheid van het model kunnen ruïneren zonder dat iemand het merkt tot het te laat is.

De magie van "ruisende" getallen

Deep learning is overal nu, van de filters op je foto's op je telefoon tot de chatbots waarmee je praat. Maar om deze systemen snel genoeg te laten draaien op je telefoon of in een datacenter, gebruiken wetenschappers "reduced precision". Stel je voor dat je de lengte van een kamer meet. Als je een liniaal gebruikt met markeringen per millimeter (hoge precisie), krijg je een zeer exact getal. Als je een liniaal gebruikt met markeringen alleen per centimeter (lage precisie), bespaar je tijd, maar is je meting een beetje vager. In computers betekent dit het gebruik van minder "bits" (de kleine 0'en en 1'en) om getallen op te slaan. Dit maakt berekeningen sneller en verbruikt minder energie, maar introduceert "ronderingsfouten".

Meestal zijn deze fouten zo klein dat ze niet uitmaken. Maar soms stapelen ze zich op of worden ze versterkt, wat leidt tot "numerieke instabiliteit". Dit is alsof je een kaartenhuis probeert te balanceren in een winderige kamer; een kleine windvlaag (een ronderingsfout) kan de hele boel omverwerpen. Het probleem is dat deze fouten in deep learning geruisloos kunnen optreden. Het model lijkt misschien nog steeds te werken, maar de interne wiskunde is eigenlijk "vervuild", wat later tot vreemde fouten kan leiden.

De oplossing: Een systeem van drievoudige controle

Het paper introduceert noisefloat, een softwaretool die fungeert als een detective voor deze verborgen wiskundige fouten. De kern van het idee komt van een methode genaamd CESTAC (Control and Estimation of Stochastic Arithmetic). Zo werkt het in eenvoudige termen:

In plaats van een berekening slechts één keer uit te voeren, voert noisefloat deze drie keer tegelijkertijd uit. Maar hier is de truc: in elke van de drie runs wordt er een kleine, willekeurige "duw" aan de getallen toegevoegd. Het is alsof je drie verschillende mensen vraagt om dezelfde tafel te meten, maar je geeft elke persoon een iets andere liniaal die microscopisch klein afwijkt.

  • Als de drie mensen bijna exact hetzelfde antwoord krijgen, is de meting stabiel. De kleine duwtjes hebben het resultaat niet veranderd, wat betekent dat de wiskunde solide is.
  • Als de drie mensen heel verschillende antwoorden krijgen, is de meting onstabiel. De wiskunde is zo gevoelig dat een kleine duw het resultaat volledig heeft veranderd.

De tool berekent vervolgens hoeveel "significante cijfers" (betrouwbare getallen) er overblijven in het resultaat. Als het antwoord "nul betrouwbare cijfers" is, betekent dit dat het resultaat slechts ruis is.

Wat ze vonden: De "wankele steentjes"

De onderzoekers testten deze tool op verschillende onderdelen van deep learning-modellen, die bestaan uit vele kleine wiskundige operaties genaamd "operators" (zoals het optellen van getallen, het vermenigvuldigen van matrices of het normaliseren van gegevens). Ze creëerden "pathologische" gevallen—wiskundige problemen die met opzet onstabiel zijn gemaakt—om te zien of de tool ze kon vinden.

1. De "Cancellation" Valstrik
Een van de grootste gevaren is "catastrophic cancellation". Dit gebeurt wanneer je twee enorme getallen van elkaar aftrekt die bijna identiek zijn om een klein verschil te vinden.

  • De analogie: Stel je hebt twee stapels van 1.000.000 Lego-steentjes. Je haalt 999.999 van beide stapels af. Je houdt 1 steentje over. Maar als je liniaal een beetje wazig is, tel je misschien per ongeluk 999.999,5 als 999.999 in de ene stapel en 999.999,5 als 1.000.000 in de andere. Nu denk je dat je 0 steentjes over hebt, of misschien zelfs een negatief aantal!
  • Het resultaat: De tool vond dat wanneer modellen dit soort aftrek probeerden te doen (zoals in sommige lineaire lagen of attention-mechanismen), het aantal betrouwbare cijfers naar nul daalde. De tool markeerde deze operaties succesvol als "vervuild".

2. De "Overflow" Ramp
Sommige operaties, zoals de "Softmax"-functie (gebruikt om getallen om te zetten in waarschijnlijkheden), kunnen exploderen als de getallen te groot worden.

  • De analogie: Het is alsof je een emmer water in een zegeltje probeert te gieten. Als het water (het getal) te groot is, stroomt het over (overflow) en breekt het zegeltje.
  • Het resultaat: De onderzoekers testten een "naïeve" versie van Softmax die niet beschermt tegen grote getallen. De tool rapporteerde onmiddellijk 0 significante cijfers en markeerde het als onstabiel. Echter, een "verschoven" versie van Softmax (die eerst een groot getal aftrekt om de waarden klein te houden) bleef stabiel en behield ongeveer 3 tot 12 significante cijfers, afhankelijk van de gebruikte precisie.

3. Het "Near-Tie" Probleem
In "Attention"-mechanismen (die modellen helpen zich te concentreren op belangrijke woorden) berekent het model scores om te beslissen waar het op moet letten. Als twee scores bijna identiek zijn, wordt de wiskunde erg gevoelig.

  • Het resultaat: Toen de onderzoekers een scenario creëerden waarin twee scores bijna een gelijkspel waren, detecteerde de tool een enorme daling in betrouwbaarheid. De "beslissing" van het model (welk woord het aandacht moet geven) werd willekeurig omdat de wiskunde te wankel was om het verschil te zien.

Breekt het het model?

Een cruciale vraag is: als de wiskunde intern wankel is, werkt het uiteindelijke antwoord (zoals het herkennen van een kat) dan nog steeds?
De onderzoekers voerden volledige training-simulaties uit op datasets zoals Fashion-MNIST (kledingafbeeldingen) en CIFAR-10 (gekleurde objecten). Ze voegden deze "wankele" operators in de modellen in en hielden in de gaten wat er gebeurde.

  • Lokaal vs. Globaal: Ze ontdekten dat soms een operator al zijn betrouwbare cijfers kan verliezen (pure ruis worden), maar dat de uiteindelijke nauwkeurigheid van het model niet onmiddellijk daalt. Het is alsof een robot een wankel pootje heeft, maar de robot kan nog steeds lopen omdat de andere poten sterk genoeg zijn om te compenseren.
  • Het Waarschuwingssignaal: Echter, wanneer de instabiliteit ernstig genoeg was (zoals in het "near-tie" attention geval), begonnen de voorspellingen van het model met elkaar te verschillen. De tool voorspelde succesvol dat het model op het punt stond te falen voordat het daadwerkelijk gebeurde.

De Afweging: Snelheid vs. Veiligheid

Er is een prijs aan het gebruik van deze tool. Omdat het de berekening drie keer (of vaker) uitvoert om de stabiliteit te controleren, is het trager. Het paper merkt op dat dit een vertraging van 3x tot 100x kan veroorzaken vergeleken met normaal rekenen, afhankelijk van hoe gedetailleerde de controle is.

  • Het oordeel: De auteurs suggereren dat je deze tool niet elke keer op je volledige trainingsdataset moet gebruiken (dat zou te lang duren). In plaats daarvan raden ze aan om het op een kleine "kalibratieset" te gebruiken om de gevaarlijke operators te vinden, en vervolgens die specifieke delen van het model te repareren.

Conclusie

Het paper beweert niet dat het alle wiskundige problemen van de wereld heeft opgelost, maar het biedt een krachtige nieuwe zaklamp. noisefloat stelt ontwikkelaars in staat om de onzichtbare barsten in hun deep learning-modellen te zien. Het bewijst dat we door middel van stochastische (gerandomiseerde) rekenkunde automatisch kunnen detecteren welke delen van een neuraal netwerk numeriek onstabiel zijn. Dit is cruciaal voor het bouwen van AI die niet alleen snel is, maar ook betrouwbaar en veilig, vooral naarmate we bewegen naar het gebruik van nog kleinere, snellere en meer energie-efficiënte hardware in de toekomst. De tool suggereert dat we, met de juiste controles, kastelen van schuimsteentjes kunnen bouwen die net zo sterk zijn als die van steen.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →