AI-hardware en softwarestack

Wat is het belangrijkste doel van "operator fusion" (samenvoegen van bewerkingen) in AI-berekeningen?

  1. AMeerdere bewerkingen in één kernel samenvoegen, zodat het schrijven en opnieuw lezen van tussenresultaten in het geheugen wordt bespaard
  2. BTwee AI-modellen tot één samenvoegen om de nauwkeurigheid van het antwoord te verhogen
  3. CRekeneenheden fysiek laten smelten en verbinden
Antwoord en toelichting tonen

Antwoord: A. Meerdere bewerkingen in één kernel samenvoegen, zodat het schrijven en opnieuw lezen van tussenresultaten in het geheugen wordt bespaard

Na een matrixproduct volgen vaak elementgewijze bewerkingen zoals het optellen van een bias, een activatiefunctie en normalisatie. Worden deze in aparte kernels uitgevoerd, dan worden tussenresultaten telkens naar het geheugen geschreven en door de volgende kernel opnieuw gelezen, zodat het lezen en schrijven van geheugen meer tijd kost dan de berekening. In één kernel kan de berekening doorgaan terwijl de tussenresultaten in registers of geheugen op de chip blijven.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over AI-hardware en softwarestack

  1. Het optellen van een bias en het toepassen van ReLU op het resultaat van een matrixproduct, eerst drie aparte kernels, zijn samengevoegd tot één kernel. Wat neemt hierdoor hoofdzakelijk af?
  2. Welke uitspraak over de belangrijkste taak van AI-compilers zoals XLA, TVM en de compilerfunctie van PyTorch is juist?
  3. Welke uitspraak over de "rekengraaf" (computational graph) in AI-frameworks en -compilers is juist?
  4. Welke uitspraak over ONNX is juist?
  5. Wat is de belangrijkste reden dat inferentie-runtimes zoals TensorRT en ONNX Runtime sneller kunnen zijn dan inferentie rechtstreeks met een trainingsframework?

Vergelijkingen bij dit onderwerp