Thinking Machines Lab, opgericht door voormalig OpenAI-topvrouw Mira Murati, wil een hardnekkig probleem oplossen: de grilligheid van AI-modellen.
In een eerste blogpost onthulde het lab hoe het willekeur in AI-antwoorden wil bestrijden. Onderzoeker Horace He stelt dat betere controle over GPU-processen de sleutel kan zijn. Dit zou betrouwbaardere AI opleveren voor wetenschap, bedrijven en trainingstechnieken.
Tot nu toe werd de oorzaak van die inconsistentie meestal gezocht in floating point afrondingsfouten en parallelle berekeningen op GPU’s. Omdat optellingen met drijvende-kommagetallen niet associatief zijn, kan de volgorde van berekeningen kleine verschillen veroorzaken. In combinatie met het feit dat GPU’s duizenden threads parallel uitvoeren en de afwikkelvolgorde daarvan niet altijd gelijk is, leek dat de logische verklaring. Het nieuwe onderzoek laat echter zien dat dit beeld niet volledig klopt. Veel GPU-kernels leveren wel degelijk bit-identieke resultaten als ze meerdere keren met dezelfde input worden uitgevoerd.
De echte boosdoener blijkt het gebrek aan batch-invariance te zijn. Dat houdt in dat de uitkomst van een berekening voor één input kan veranderen afhankelijk van de batchgrootte waarin die input verwerkt wordt of het aantal andere verzoeken dat gelijktijdig op de server draait. Drie kernonderdelen van transformer-architecturen blijken gevoelig. Namelijk RMSNorm, matrixvermenigvuldiging en attention. De manier waarop die operaties geoptimaliseerd zijn voor performance maakt dat de rekenvolgorde kan veranderen bij verschillende batchgroottes, wat weer leidt tot minieme afrondingsverschillen die uiteindelijk in de output zichtbaar worden.
Kleine vertraging
Thinking Machines Lab heeft deze operaties herschreven zodat ze batch-invariant zijn. Dat betekent dat de reducties en optellingen altijd in dezelfde volgorde plaatsvinden. Dit ongeacht de batchgrootte of serverload. Daarmee verdwijnen de kleine numerieke verschillen. Zo worden de resultaten echt deterministisch. In experimenten bleek dat duizend herhalingen van dezelfde prompt zonder batch-invariance tachtig verschillende antwoorden opleverden. Dit terwijl met de nieuwe aanpak alle duizend runs exact hetzelfde resultaat gaven. De prijs die daarvoor betaald wordt is een matige vertraging in performance, vaak tussen de twintig en vijftig procent, maar de onderzoekers benadrukken dat dit in de praktijk acceptabel is.
Volgens Thinking Machines is dit meer dan een technisch detail. Voor onderzoek betekent het dat experimenten beter reproduceerbaar worden. Voor bedrijven maakt het debuggen en testen eenvoudiger en betrouwbaarder. In reinforcement learning wordt het zelfs een doorbraak genoemd, omdat training en sampling nu bit-identieke resultaten kunnen leveren en daarmee echt on-policy kunnen verlopen.
Thinking Machines Lab presenteerde dit werk als eerste bijdrage in een nieuwe blogserie met de naam Connectionism. Het bedrijf zegt meer publicaties, code en onderzoeksresultaten te willen delen om de open onderzoekscultuur te versterken. Thinking Machines haalde inmiddels twee miljard dollar aan seed funding op en wist een team van voormalige OpenAI-onderzoekers aan zich te binden.
Het bedrijf werkt aan zijn eerste product, dat zich zal richten op onderzoekers en startups die hun modellen willen aanpassen of customizen. Of de batch-invariance technieken daar direct in verwerkt worden is nog niet bevestigd, maar de visie is duidelijk: AI moet niet alleen krachtig zijn, maar ook consistent en betrouwbaar.