AI-hardware en softwarestack

Waarom is de berekening van een volledig verbonden laag (product van gewichtsmatrix en vector) gemakkelijk geheugenbegrensd wanneer er maar één ingang is (batchgrootte 1)?

  1. AOmdat het aantal elementen van de vector te groot is om in de rekeneenheden te passen
  2. BOmdat het product van een matrix en een vector niet op een GPU kan worden berekend
  3. COmdat elk uit het geheugen gelezen gewicht maar voor één multiply-accumulate wordt gebruikt, zodat de rekenintensiteit zeer laag is
Antwoord en toelichting tonen

Antwoord: C. Omdat elk uit het geheugen gelezen gewicht maar voor één multiply-accumulate wordt gebruikt, zodat de rekenintensiteit zeer laag is

Bij een matrix-vectorproduct wordt elk element van de gewichtsmatrix eenmaal gelezen en slechts eenmaal met één element van de ingang vermenigvuldigd en opgeteld. Bij FP16 zijn dat 2 bewerkingen per 2 bytes, een rekenintensiteit van circa 1. Het lezen van de gewichten kost tijd, terwijl de rekeneenheden grotendeels wachten. Als ingangen worden gebundeld (grotere batch) zodat hetzelfde gewicht voor meerdere ingangen wordt gebruikt, stijgt de rekenintensiteit.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over AI-hardware en softwarestack

  1. Waarom neemt de efficiëntie van de totale verwerking bij inferentie gemakkelijk toe als de batchgrootte (het aantal gezamenlijk verwerkte ingangen) wordt vergroot?
  2. Welke uitspraak over het nadeel van een te grote batchgrootte bij inferentie is juist?
  3. 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)?
  4. Welke uitspraak over de rol van de KV-cache bij de inferentie van grote taalmodellen is juist?
  5. Welke uitspraak over wat bij de inferentie van grote taalmodellen gemakkelijk een probleem wordt bij lange teksten of grote batches is juist?