AI-hardware en softwarestack

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?

  1. A1/3
  2. BN/3
  3. C3N
Antwoord en toelichting tonen

Antwoord: B. N/3

Het aantal bewerkingen is 2N³ en voor geheugentoegang gaat het om 3N² elementen van drie matrices, bij FP16 6N² bytes. De rekenintensiteit is 2N³ ÷ 6N² = N/3, bij N = 1024 circa 340. Bij matrixproducten neemt het aantal berekeningen per byte toe naarmate ze groter zijn, zodat de prestaties van de rekeneenheden gemakkelijk kunnen worden benut. Bewerkingen zoals elementgewijze optelling hebben daarentegen een rekenintensiteit onder 1, waarbij de geheugenbandbreedte de snelheid bepaalt.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over AI-hardware en softwarestack

  1. 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?
  2. Waarom is de berekening van een volledig verbonden laag (product van gewichtsmatrix en vector) gemakkelijk geheugenbegrensd wanneer er maar één ingang is (batchgrootte 1)?
  3. Waarom neemt de efficiëntie van de totale verwerking bij inferentie gemakkelijk toe als de batchgrootte (het aantal gezamenlijk verwerkte ingangen) wordt vergroot?
  4. Welke uitspraak over het nadeel van een te grote batchgrootte bij inferentie is juist?
  5. De inferentie van een groot taalmodel bestaat uit een fase waarin de invoertekst gezamenlijk wordt verwerkt (prefill) en een fase waarin per token de uitvoer wordt gemaakt (decode). Welke combinatie van wat de prestaties van elke fase hoofdzakelijk bepaalt is juist (bij een kleine batch)?

Vergelijkingen bij dit onderwerp