Wat is AI-compiler?

Software die de berekeningsgraaf van een model analyseert, bewerkingsfusie, gegevensindeling, tiling en dergelijke optimaliseert en code voor de doelhardware genereert. Voorbeelden zijn XLA en TVM.

Japanse benaming: AIコンパイラ

“AI-compiler” komt voor in 2 oefenvragen uit 1 onderwerpen, bijv. AI-hardware en softwarestack.

Vakgebied: AI-hardware en softwarestack

Nu oefenen: vragen over AI-compiler

Welke uitspraak over de belangrijkste taak van AI-compilers zoals XLA, TVM en de compilerfunctie van PyTorch is juist?

  1. AHet antwoord van het AI-model in menselijke taal vertalen
  2. BAutomatisch trainingsdata verzamelen
  3. CDe rekengraaf van het model analyseren, bewerkingen samenvoegen, de dataopstelling en tiling optimaliseren en code voor de doelhardware genereren
Antwoord en toelichting tonen

Antwoord: C. De rekengraaf van het model analyseren, bewerkingen samenvoegen, de dataopstelling en tiling optimaliseren en code voor de doelhardware genereren

Een AI-compiler neemt het model als rekengraaf van bewerkingen en datastromen, voegt bewerkingen samen waar dat kan, verwijdert overbodige berekeningen, kiest de geheugenopstelling, stelt tilegroottes af enz., en genereert kernels die bij het doel, zoals een GPU of NPU, passen. Voor hetzelfde model kan voor elke hardware automatisch optimale code worden gemaakt, wat de moeite van handmatige optimalisatie sterk vermindert.

Welke volgorde van de AI-softwarestack, van de bovenste laag dicht bij de gebruiker naar de onderste laag dicht bij de hardware, is juist?

  1. AFramework (zoals PyTorch) → compiler of runtime → bewerkingenbibliotheek (zoals cuBLAS) → driver → hardware
  2. BHardware → framework → driver → bibliotheek
  3. CDriver → framework → hardware → compiler
Antwoord en toelichting tonen

Antwoord: A. Framework (zoals PyTorch) → compiler of runtime → bewerkingenbibliotheek (zoals cuBLAS) → driver → hardware

De gebruiker schrijft het model in een framework zoals PyTorch. Het framework en de AI-compiler of runtime optimaliseren de rekengraaf en voor matrixproducten en convoluties worden kernels van sterk geoptimaliseerde bewerkingenbibliotheken aangeroepen. De bibliotheek stuurt via de driver instructies naar de GPU of NPU. Om nieuwe hardware breed gebruikt te krijgen, is niet alleen de prestatie van de rekeneenheden maar ook een compleet gestapelde software onmisbaar.

“AI-compiler” in de toelichting

Vragen met “AI-compiler” (2)

  1. Welke uitspraak over de belangrijkste taak van AI-compilers zoals XLA, TVM en de compilerfunctie van PyTorch is juist?
  2. Welke volgorde van de AI-softwarestack, van de bovenste laag dicht bij de gebruiker naar de onderste laag dicht bij de hardware, is juist?

Verwante termen

Rekengraaf (computational graph) GPU NPU (neural processing unit) Via All-reduce Attention Backpropagatie Batchgrootte Dataparallellisme FlashAttention

Naar de woordenlijst