AI-hardware en softwarestack

Hoeveel drijvendekommabewerkingen (vermenigvuldigingen en optellingen apart geteld) zijn ongeveer nodig om het product van een M×K-matrix en een K×N-matrix te berekenen?

  1. AMNK
  2. BM+N+K
  3. C2MNK
Antwoord en toelichting tonen

Antwoord: C. 2MNK

De resultaatmatrix heeft M×N elementen en elk element is een inwendig product van lengte K, waarvoor K vermenigvuldigingen en K optellingen (ongeveer K) nodig zijn. In totaal zijn dat circa 2MNK bewerkingen. De rekenlast van AI wordt vaak met deze formule geschat en de prestaties worden uitgedrukt in het aantal bewerkingen per seconde (FLOPS). Wordt een multiply-accumulate als één bewerking geteld, dan is het de helft, MNK; het is dus belangrijk te letten op welke telling wordt gebruikt.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over AI-hardware en softwarestack

  1. Bij het product van twee N×N-FP16-matrices (2 bytes) worden de twee ingangen eenmaal gelezen en het resultaat eenmaal geschreven. Hoeveel bedraagt de rekenintensiteit (aantal bewerkingen per byte) ongeveer?
  2. Een versneller met een piekprestatie van 100 TFLOPS en een geheugenbandbreedte van 2 TB/s voert een bewerking uit met een rekenintensiteit van 10 FLOP/byte. Welke prestatie is volgens het roofline-model haalbaar?
  3. Waarom is de berekening van een volledig verbonden laag (product van gewichtsmatrix en vector) gemakkelijk geheugenbegrensd wanneer er maar één ingang is (batchgrootte 1)?
  4. Waarom neemt de efficiëntie van de totale verwerking bij inferentie gemakkelijk toe als de batchgrootte (het aantal gezamenlijk verwerkte ingangen) wordt vergroot?
  5. Welke uitspraak over het nadeel van een te grote batchgrootte bij inferentie is juist?

Vergelijkingen bij dit onderwerp