GPU voor ML-onderzoek · Crypto-betaling zonder KYC
IteraGPU
Methode · Herhalingen en onzekerheid

Vergelijk verschillen, niet twee beste scores.

Een verschil tussen twee scores wordt overtuigender wanneer het zich herhaalt in een vergelijkbaar protocol, een nuttige drempel overschrijdt en leesbaar blijft met zijn onzekerheid. Bereid de seeds voor, paart de proeven waar dat zinvol is en analyseer de verkregen verschillen. Een hoger gemiddelde, een gunstige seed of een nauw interval op één enkele variatiebron volstaan niet om een algemene verbetering te valideren.

01 /

Bepalen wat varieert en wat een herhaling vormt

Begin met de vraag: evalueer je het effect van de initialisatie van een training, van de volgorde van de data, van een train/test-split of van een stochastische generatie? Een seed stuurt een randomgenerator aan; die identificeert op zichzelf niet al deze dimensies. Houd één regel per run aan en noteer de factoren die daadwerkelijk zijn gewijzigd.

Tien keer de deterministische evaluatie van dezelfde checkpoint op hetzelfde corpus opnieuw uitvoeren levert geen tien onafhankelijke trainingen op. Evenzo vervangen duizend voorspellingen uit één enkel model niet meerdere trainingen om hun variabiliteit te schatten. Kies de herhalingseenheid die past bij de beslissing.

Leg vóór de reeks de hoofdexponent vast, de richting ervan en het minimale effect dat de wijziging zou rechtvaardigen. In de volgende voorbeelden is een hogere waarde beter en is de illustratieve nuttige drempel 0,30 punt op een meetwaarde die van 0 tot 100 wordt weergegeven. Deze drempel komt voort uit de beslissing van het project, niet uit een universele statistische regel.

02 /

Configuraties op gemeenschappelijke condities paren

Voer voor een paar i de referentie A en de kandidaat B uit op dezelfde datadeling en met de voorziene gemeenschappelijke condities. Bereken vervolgens dᵢ = score(Bᵢ) − score(Aᵢ). Het paren betreft een overeenkomst die vóór de resultaten is gedefinieerd; het bestaat er niet uit achteraf de scores te koppelen die op elkaar lijken.

Dezelfde lijst met seeds gebruiken kan helpen om de paren te organiseren, maar twee architecturen kunnen de randomgetallen anders verbruiken. Vermeld afzonderlijk de seeds voor initialisatie, data en generatie wanneer je code ze onderscheidt. Registreer ook de partities of hun identificaties: een gemeenschappelijk geheel getal bewijst niet dat de data op dezelfde manier zijn doorlopen.

Als een paar een fout bevat, behoud dan beide statussen en leg uit hoe ermee zal worden omgegaan. Vergelijk niet het gemiddelde van vijf geslaagde kandidaten met dat van zes referenties zonder de wijziging van populatie te melden.

Technische bronnen: NIST — overeenkomst tussen gepaarde waarnemingen

03 /

De grenzen van de seed en het determinisme respecteren

PyTorch geeft aan dat volledig reproduceerbare resultaten niet gegarandeerd zijn tussen versies, platforms of CPU- en GPU-runs, zelfs niet met een identieke seed. De gids ervan onderscheidt de controle van generatoren en die van niet-deterministische bewerkingen. Noteer de versies en de toegepaste opties in plaats van de omgeving samen te vatten als 'seed vastgezet'.

Een deterministische run dient er met name toe om een gedrag onder gegeven condities terug te vinden. Ze bewijst niet dat het model bestand is tegen andere initialisaties of data. Omgekeerd verdient een verschil tussen twee identieke herhalingen een diagnose voordat het als het effect van de kandidaat wordt geïnterpreteerd.

Houd hetzelfde determinismebeleid aan voor beide varianten. Als je het wijzigt om een fout te diagnosticeren, identificeer die reeks dan afzonderlijk. Het experimentele resultaat moet verbonden blijven met de condities waarin het is verkregen.

Technische bronnen: PyTorch 2.14 — reproduceerbaarheid en controle van het toeval

04 /

Berekend voorbeeld: vijf gepaarde verschillen

Hier volgen vijf fictieve paren voor de berekening, zonder uitgevoerde training. De seeds zijn voorbeeldidentificaties. De referentie en de kandidaat gebruiken hier hetzelfde vergelijkingsprotocol. De scores worden op 100 weergegeven; de verschillen zijn punten, geen relatieve percentages.

Het gemiddelde van de verschillen is (0,4 + 0,3 + 0,1 + 0,5 + 0,1) / 5 = 0,28 punt. Hun mediaan is 0,30 punt en hun spreiding loopt van 0,10 tot 0,50. De steekproefstandaardafwijking van de verschillen is ongeveer 0,179 punt, met een noemer n − 1. De vijf tekens zijn positief, maar de omvang blijft groot in verhouding tot de gemiddelde winst.

Gemiddeld verschil = 0,28 punt; standaardafwijking van de verschillen ≈ 0,179 punt; standaardfout ≈ 0,179 / √5 = 0,080 punt.
Fictief numeriek voorbeeld — scores op 100, verschillen in punten
Illustratieve seedReferentie AKandidaat BB − A
1771,071,4+0,4
2971,671,9+0,3
4371,371,4+0,1
7170,871,3+0,5
10171,871,9+0,1
05 /

Een interval lezen zonder er een te ruime strekking aan te geven

Laten we, om een gebruikelijke berekening te illustreren, aannemen dat de verschillen onafhankelijk zijn tussen paren en afkomstig zijn uit een ongeveer normale verdeling. Het Student-interval van 95 % voor hun gemiddelde gebruikt hier vier vrijheidsgraden: 0,28 ± 2,776 × 0,080, oftewel ongeveer [0,058; 0,502] punt. Met slechts vijf paren is de vorm van de verdeling moeilijk te beoordelen; de berekening maakt deze aannames niet waar.

Dit interval ligt in het voorbeeld boven nul, maar het overschrijdt de nuttige drempel van 0,30 punt. Het ondersteunt dus niet de strenge regel "de gemiddelde winst overschrijdt 0,30 punt". Een positief verschil kan te klein of te onzeker blijven om de wijziging te rechtvaardigen.

Een interval van 95 % beschrijft een dekkingsprocedure onder zijn aannames, niet een kans van 95 % die na de berekening aan de parameter kleeft. Het dekt hier alleen de variatie die door de paren wordt weergegeven, niet automatisch een ander domein, een ander corpus of toekomstige hardware.

Als je SciPy gebruikt, vergelijkt ttest_rel gepaarde steekproeven en biedt het een betrouwbaarheidsinterval. De volgorde van de arrays bepaalt het teken: voor B − A plaats je B eerst. Bewaar de waarden en de gebruikte methode, niet alleen een p-waarde.

Technische bronnen: NIST — betrouwbaarheidsinterval voor een gemiddelde · SciPy 1.18 — ttest_rel en interval van de verschillen

06 /

De beslissing en de volgende herhalingen voorbereiden

De uitkomst van het voorbeeld is "nuttige winst niet vastgesteld", niet "nutteloze kandidaat". Afhankelijk van de kosten van de wijziging kun je de referentie behouden, de verzameling voortzetten of een ingrijpender wijziging testen. Kondig deze regel aan voordat je de reeks onder ogen hebt. Een ondergrens boven je nuttige drempel zou de invoering sterker ondersteunen, op voorwaarde dat de rest van het protocol geldig is.

Plan de herhalingen op basis van de vereiste precisie en de verwachte variabiliteit, met een reserve voor mislukkingen. Er bestaat geen aantal seeds dat universeel een conclusie garandeert. Een pilot kan helpen de spreiding te schatten; houd de status daarvan verkennend en leg daarna de bevestigingsprocedure vast.

Vermijd om na elk paar te kijken en dan te stoppen zodra het resultaat gunstig wordt met een interval dat voor een vaste steekproefomvang is bedoeld. Kies vooraf een steekproefomvang en een analyse, of een geschikte sequentiële methode. Alleen bij de teleurstellende kandidaat extra proeven toevoegen verandert ook het evenwicht van de vergelijking.

07 /

Trainingsvariabiliteit en evaluatie op het corpus niet verwarren

Een reeks seeds op een vaste testset zegt iets over de variatie van de trainingen op die set. Ze meet op zichzelf niet de onzekerheid door de keuze van de testvoorbeelden. Als je vraag ook over de partities of domeinen gaat, voorzie dan een plan dat deze dimensies varieert zonder ze in één enkele teller van herhalingen te vermengen.

Houd een eindevaluatie gescheiden van de modelkeuzes. Selecteren uit vele varianten met dezelfde test bevoordeelt de opties die daar toevallig goed lijken. Subgroepen en aanvullende metrieken moeten de beslissing onderbouwen, met hun aantal en hun verkennende status zichtbaar.

De einduitvoer bundelt de ruwe scores, de paren, de verschillen, de spreiding, de intervalmethode en de beslissing tegenover de nuttige drempel. Voeg de mislukkingen en de beperkingen van de generalisatie toe. Je kunt dan uitleggen waarom het verschil je voldoende, onvoldoende of nog onbeslisbaar lijkt.

Technische bronnen: scikit-learn — de test buiten de modelkeuzes houden

Praktische vragen

Zijn vijf seeds genoeg om te kiezen?

Vijf seeds kunnen dienen voor een eerste observatie, maar ze garanderen geen voldoende precisie. Het benodigde aantal hangt af van de variabiliteit en van het kleinste nuttige effect. Bekijk de ruwe verschillen en de onzekerheid; een nog onbeslisbaar resultaat vraagt om een beter gedimensioneerd protocol, niet om een magisch getal.

Bewijst een interval dat nul bevat de equivalentie?

Een interval dat nul bevat, bewijst de equivalentie niet. Het kan ook verenigbaar zijn met belangrijke winsten of verliezen. Om praktische equivalentie te ondersteunen, leg je vooraf een aanvaardbare marge vast en gebruik je een analyse die op deze vraag is toegesneden, met voldoende precisie om die te onderzoeken.

Mag ik alleen de beste seed publiceren?

De beste seed beschrijft een gunstige selectie, niet de typische prestatie van de procedure. Publiceer alle voorziene herhalingen en de regel voor de selectie van het geleverde model. Als dit beste model moet worden geëvalueerd, gebruik dan een eindevaluatie die niet is gebruikt om het te kiezen.