AI-hardware en softwarestack

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?

  1. AHet aantal vermenigvuldigingen
  2. BDe hoeveelheid lees- en schrijfacties naar het geheugen (zoals HBM) en het aantal kernelstarts
  3. CHet aantal gewichten van het model
Antwoord en toelichting tonen

Antwoord: B. De hoeveelheid lees- en schrijfacties naar het geheugen (zoals HBM) en het aantal kernelstarts

Bij aparte kernels wordt het matrixproduct naar het geheugen geschreven, leest en schrijft de biaskernel dit en leest en schrijft de ReLU-kernel het opnieuw. Bij fusion worden direct bij het verkrijgen van het matrixproduct de bias opgeteld en ReLU toegepast, zodat alleen het eindresultaat hoeft te worden geschreven; het lezen en schrijven van de grote tussentensor vervalt voor twee rondes en ook de overhead van starten neemt af. De hoeveelheid rekenwerk zelf verandert niet.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over AI-hardware en softwarestack

  1. Welke uitspraak over de belangrijkste taak van AI-compilers zoals XLA, TVM en de compilerfunctie van PyTorch is juist?
  2. Welke uitspraak over de "rekengraaf" (computational graph) in AI-frameworks en -compilers is juist?
  3. Welke uitspraak over ONNX is juist?
  4. Wat is de belangrijkste reden dat inferentie-runtimes zoals TensorRT en ONNX Runtime sneller kunnen zijn dan inferentie rechtstreeks met een trainingsframework?
  5. Waarom kosten elementgewijze bewerkingen zoals ReLU en layer normalization in AI-berekeningen gemakkelijk veel tijd in verhouding tot het aantal bewerkingen?

Vergelijkingen bij dit onderwerp