Anomalidetektion gennem ML. Innovation i verifikation - Semiwiki

Anomalidetektion gennem ML. Innovation i verifikation – Semiwiki

Kildeknude: 2860927

Påstandsbaseret verifikation fanger kun problemer, som du har skrevet påstande om. Er der en komplementær tilgang til at finde problemer, du ikke har overvejet – de ukendte ukendte? Paul Cunningham (Senior VP/GM, Verification at Cadence), Raúl Camposano (Silicon Catalyst, iværksætter, tidligere Synopsys CTO og nu Silvaco CTO) og jeg fortsætter vores serie om forskningsideer. Som altid er feedback velkommen.

Innovation

Denne måneds valg er Machine Learning-baseret anomalidetektion til post-silicium-fejldiagnose. Papiret udgivet på 2013 DATE Conference. Forfatterne er/var fra University of Michigan.

Metoder til afsløring af anomalier er populære, hvor du ikke på forhånd kan karakterisere, hvad du leder efter, f.eks. i kreditkortsvindel eller i realtidssikkerhed, hvor hacks fortsætter med at udvikle sig. Metoden samler adfærd over en prøveperiode, screenes manuelt for at blive betragtet som inden for forventet adfærd, og leder derefter efter afvigere i løbende test som potentielle problemer for nærmere gennemgang.

Anomalidetektionsteknikker bruger enten statistiske analyser eller maskinlæring. Dette papir bruger maskinlæring til at bygge en model for forventet adfærd. Du kunne også nemt forestille dig, at denne analyse flyttes til venstre til præ-siliciumverifikation.

Pauls syn

I denne måned har vi trukket et papir fra 10 år siden om brug af maskinlæring til at forsøge automatisk at forårsage fejl i post-silicone-validering. Det er sjovt at læse og ser ud til at være et godt valg til at besøge igen nu ved hjælp af DNN'er eller LLM'er.

Forfatterne sidestiller rod-forårsagende post-silicium-fejl og afsløring af kreditkortsvindel: hvert signal, der spores i hver clock-cyklus, kan opfattes som en kreditkorttransaktion, og problemet med root-forårsager en fejl bliver analogt med at identificere en svigagtig kreditkorttransaktion .

Forfatternes tilgang går som følger: opdel simuleringer i tidsudsnit og spor den procentdel af tid, hvert post-siliciumsporet debug-signal er højt i hver tidsudsnit. Derefter opdeles signalerne baseret på modulhierarkiet og sigte mod en modulstørrelse på omkring 500 signaler. Træn for hvert modul i hver tidsskive en model af den "forventede" fordeling af signal % høje tider ved hjælp af et gyldent sæt af fejlfri post-silicium spor. Denne model er en meget simpel k-betyder klynge af signalerne ved at bruge forskel i % høje tider som "afstanden" mellem to signaler.

For hver mislykket post-siliciumtest sammenlignes den %høje signalfordeling for hvert modul i hver tidsskive med den gyldne model, og antallet af signaler, hvis %høje tid er uden for afgrænsningsboksen for dens gyldne modelklynge, tælles. Hvis dette tal er over en støjtærskel, markeres disse signaler i det tidsudsnit som årsagen til fejlen.

Det er en fed idé, men på de ti OpenSPARC-testcases benchmarked, rapporterer 30% af testene ikke det korrekte tidssnit eller signaler, hvilket er alt for højt til at være til nogen praktisk nytte. Jeg ville elske at se, hvad der ville ske, hvis en moderne LLM eller DNN blev brugt i stedet for simpel k-betyder clustering.

Raúls syn

Dette er et "tidligt" papir fra 2013, der bruger maskinlæring til post-silicium fejldetektion. For tiden må dette have været avanceret arbejde opført med 62 citater i Google Scholar.

Ideen er ligetil: kør en test mange gange på et post-silicium design og optag resultaterne. Når der opstår intermitterende fejl, giver forskellige udførelser af den samme test forskellige resultater, nogle beståede og nogle mislykkedes. Intermitterende fejl, ofte på grund af asynkrone hændelser på chip og elektriske effekter, er blandt de sværeste at diagnosticere. Forfatterne overvejer kort at bruge overvåget læring, især læring i én klasse (der er kun positive træningsdata tilgængelige, fejl er sjældne), men kasser det som "ikke et godt match til anvendelsen af ​​fejlfinding”. I stedet gælder de k-betyder klyngedannelse; lignende resultater er grupperet i k klynger, der består af "tætte" resultater, der minimerer kvadratsummen-afstanden inden for klynger. Papiret afslører adskillige tekniske detaljer, der er nødvendige for at gengive resultaterne: Resultaterne registreres som "brøkdel af tiden signalets værdi var én under tidstrinnet”; antallet af signaler fra et design, i størrelsesordenen 10,000, er dimensionaliteten i k- betyder clustering, som er NP-hård med hensyn til antallet af dimensioner, så antallet af signaler er begrænset til 500 ved anvendelse af principal komponentanalyse; antallet af klynger kan ikke være for lille (undertilpasning) eller for stort (overtilpasning); der skal vælges en korrekt tærskelværdi for registrering af anomalier, udtrykt som procentdelen af ​​de samlede fejlbehæftede eksempler, der er under overvejelse; tidslokalisering af en fejl opnås ved to-trins detektering af anomalier, identificere hvilket tidstrin der præsenterer et tilstrækkeligt antal anomalier til at afsløre forekomsten af ​​en fejl og derefter i en anden runde identificere de ansvarlige fejlsignaler.

Eksperimenter for et OpenSPARC T2-design på omkring 500 millioner transistorer kørte 10 arbejdsbelastninger af testlængder varierende mellem 60,000 og 1.2 millioner cyklusser 100 gange hver som træning. Derefter injicerede de 10 fejl og kørte 1000 buggy-tests. I gennemsnit blev der detekteret 347 signaler for en fejl (fra ingen til 1000), og det tog ~350 cyklusser med latenstid fra fejlinjektion til fejldetektion. Antal klynger og detektionstærskel har stor indflydelse på resultaterne, og det samme gør træningsdatamængden. Falske positive og falske negative tal blev lagt op til 30-40 (i 1000 buggy-tests).

Selvom forfatterne bemærker, at "Samlet set, blandt de 41,743 signaler i OpenSPARC T2-topniveauet, identificerede anomalidetektionsalgoritmen 347, i gennemsnit over fejlene. Dette repræsenterer 0.8 % af de samlede signaler. Således er vores tilgang i stand til at reducere puljen af ​​signaler med 99.2 %.", i praksis er dette måske ikke til stor hjælp for en erfaren designer. 10 år er gået, ville det være interessant at gentage dette arbejde ved at bruge nutidens maskinlæringsfunktioner, for eksempel LLM'er til anomalidetektion.

Del dette opslag via:

Tidsstempel:

Mere fra Semiwiki