Tensor Seeks Layout: Formalizing Layout Selection for ML Compilers
Dit artikel presenteert de eerste formele studie naar lay-outselectie in machine learning-compilers door het te formuleren als een combinatorisch optimalisatieprobleem, de computationele hardheid ervan te bewijzen, en zowel optimale algoritmen voor grafen met een begrensde treewidth als een gewogen MaxSAT-codering voor algemene instanties voor te stellen om aan te tonen dat eenvoudige heuristieken de prestaties tot wel 5x kunnen verslechteren ten opzichte van optimale oplossingen.
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
Moderne kunstmatige intelligentie vertrouwt op enorme wiskundige modellen die enorme hoeveelheden gegevens verwerken om spraak te herkennen, talen te vertalen of afbeeldingen te genereren. Om deze modellen snel te laten draaien, gebruiken ingenieurs gespecialiseerde computerchips die specifiek zijn ontworpen voor dit zware werk. Deze chips voeren echter niet simpelweg instructies uit; ze moeten ook gegevens efficiënt rondverplaatsen. De snelheid waarmee een model draait, hangt vaak minder af van de brute kracht van de chip en meer van hoe de gegevens in het geheugen zijn gerangschikt. Stel je een bibliotheek voor waar boeken op planken staan. Als een lezer een specifieke set boeken nodig heeft, hangt de tijd die het kost volledig af van de vraag of die boeken verspreid liggen over verschillende gangen of netjes gegroepeerd op één enkele plank staan. In de wereld van computerchips wordt deze ordening een "layout" genoemd. Wanneer een computerprogramma een berekening uitvoert, verwacht het gegevens in één specifieke ordening, maar de vorige stap in het programma kan de gegevens in een andere ordening hebben achtergelaten. Als deze niet overeenkomen, moet de computer stoppen en de gegevens herordenen voordat hij kan doorgaan, een proces dat tijd en energie verspilt.
Jarenlang heeft de software die deze modellen voorbereidt voor de chips vertrouwd op een verzameling ruwe gissingen en vuistregels om te beslissen hoe deze gegevens moeten worden gerangschikt. Deze regels werken goed genoeg voor eenvoudige taken, maar naarmate modellen complexer zijn geworden, zijn de gissingen begonnen te falen, wat leidde tot aanzienlijke vertragingen. Een team onderzoekers van de Technische Universiteit Wenen en Amazon besloot deze aanpak te veranderen. In plaats van te vertrouwen op intuïtie, behandelden zij het probleem van het rangschikken van gegevens als een formeel wiskundig puzzelstuk. Ze bouwden een nauwkeurig model dat de exacte kosten van elke mogelijke ordening berekent, inclus_ief de tijd die het kost om gegevens tussen verschillende formaten te verplaatsen. Door dit te doen, konden ze de enkel beste manier bepalen om de gegevens voor elk gegeven model te organiseren, in plaats van te hopen dat een set regels dichtbij genoeg zou komen.
De onderzoekers ontdekten dat het vinden van deze perfecte ordening een ongelooflijk moeilijke taak is. In de taal van de informatica is het probleem zo complex dat geen enkele computer het snel voor elke mogelijke situatie kan oplossen, vooral naarmate de modellen groter worden. Ze bewezen dat zelfs voor een vereenvoudigde versie van het probleem, die alleen basis matrixberekeningen omvat, het aantal mogelijkheden zo groot is dat een standaardcomputer er moeite mee zou hebben om het antwoord binnen een redelijke tijd te vinden. Deze bevindinging weersprak het idee dat een enkel, snel, universeel algoritme het probleem voor alle toekomstige modellen zou kunnen oplossen. Echter, het team vond ook een weg voorwaarts. Ze toonden aan dat hoewel het probleem in algemene zin moeilijk is, het beheersbaar wordt wanneer de structuur van het model lijkt op een boom met beperkte vertakking. Voor deze specifieke structuren, die gebruikelijk zijn in veel praktische toepassingen, ontwierpen ze een methere die de perfecte oplossing snel vindt. Voor complexere structuren die niet aan dit patroon voldoen, ontwikkelden ze een manier om het probleem te vertalen naar een formaat dat bestaande krachtige solvers kan verwerken, waardoor ze de beste mogelijke ordening kunnen vinden, zelfs wanneer er geen perfect wiskundig kort pad bestaat.
Om hun ideeën te testen, implementeerden de onderzoekers hun nieuwe methode in een echte compiler die wordt gebruikt voor Amazons Trainium-chips, die ontworpen zijn om kunstmatige intelligentie-modellen te draaien. Ze vergeleken hun nieuwe aanpak met de standaardmethoden die momenteel in de industrie worden gebruikt en die vertrouwen op de oudere vuistregels. De resultaten waren opmerkelijk. Bij sommige complexe modellen, met name die gebruikt voor beeldherkenning, zorgden de oude vuistregels ervoor dat de modellen tot vijf keer langzamer draalden dan nodig. Dit gebeurde omdat de eenvoudige regels het grote plaatje niet zagen; ze zouden de gegevens perfect ordenen voor één stap, maar een puinhoop creëren voor de volgende, waardoor de computer constant tijd verspilt aan het herordenen van gegevens. De nieuwe methode, door naar de gehele sequentie van stappen te kijken, vermeed deze kostbare herordeningen en hield de gegevensstroom soepel.
De studie onthulde echter ook een cruciale beperking. Hoewel de nieuwe methode altijd de mathematisch beste ordening kon vinden volgens haar eigen berekeningen, vertaalde dit zich niet altijd naar de snelste snelheid op de daadwerkelijke hardware. In sommige gevallen produceerde de nieuwe methode een resultaat dat theoretisch perfect was, maar slechter presteerde dan de oudere, eenvoudigere regels. De onderzoekers herleidden dit verschil tot het kostenmodel zelf. De software die voorspelde hoe lang een taak zou duren, was niet perfect nauwkeurig; het onderschatte de tijd die nodig is voor bepaalde soorten gegevensverplaatsing. Omdat de nieuwe methode zo goed is in het vinden van de laagste kosten volgens haar eigen gebrekkige voorspellingen, koos ze soms een ordening die op papier goedkoop leek, maar in de werkelijkheid duur was. Deze bevinding suggereert dat de grootste hindernis voor toekomstige verbeteringen niet betere zoekalgoritmen zijn, maar betere manieren om te voorspellen hoe lang taken daadwerkelijk zullen duren.
Het werk biedt een duidelijke weg voorwaarts. Het demonstreert dat het behandelen van layoutselectie als een formeel optimalisatieprobleem een levensvatbare en krachtige strategie is, die in staat is tot enorme versnellingen waar eenvoudige regels falen. Het verduidelijkt ook dat de uiteindelijke limiet van prestaties niet het vermogen is om de beste oplossing te vinden, maar de nauwkeurigheid van de voorspellingen die de zoektocht sturen. Voor modellen met regelmatige, voorspelbare structuren is de nieuwe solver-gebaseerde aanpak al een superieure keuze. Voor meer chaotische en complexe modellen moet de focus verschuiven naar het verfijnen van de kostenmodellen, zodat het wiskundige optimum overeenkomt met de fysieke realiteit van de chip. Door het probleem van het vinden van de beste oplossing te scheiden van het probleem van het voorspellen van de kosten, hebben de onderzoekers compilerontwikkelaars een nieuw hulpmiddel gegeven om hun vooruitgang te meten en een duidelijk doel om zich op te richten.
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.