AI-hardware en softwarestack

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)?

  1. APrefill: geheugenbandbreedte, decode: rekenprestaties
  2. BPrefill: rekenprestaties, decode: geheugenbandbreedte
  3. CBeide: de snelheid van de opslag
Antwoord en toelichting tonen

Antwoord: B. Prefill: rekenprestaties, decode: geheugenbandbreedte

Bij prefill worden honderden tot duizenden tokens van de invoer gezamenlijk berekend, zodat gewichten voor veel tokens worden hergebruikt en de bewerking een matrixproduct en rekenbegrensd wordt. Bij decode worden voor elk token alle gewichten gelezen terwijl slechts de berekening van één token wordt uitgevoerd, zodat de rekenintensiteit laag en de bewerking geheugenbegrensd is. De decodesnelheid wordt daarom ruwweg bepaald door geheugenbandbreedte ÷ grootte van de gewichten.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over AI-hardware en softwarestack

  1. Welke uitspraak over de rol van de KV-cache bij de inferentie van grote taalmodellen is juist?
  2. Welke uitspraak over wat bij de inferentie van grote taalmodellen gemakkelijk een probleem wordt bij lange teksten of grote batches is juist?
  3. Een model met circa 14 GB aan gewichten in FP16 wordt met batchgrootte 1 gedecodeerd op een GPU met een geheugenbandbreedte van 2 TB/s. Welke waarde benadert de ondergrens van de tijd om één token te genereren het best?
  4. Hoe neemt de rekenlast van self-attention in een Transformer toe met de lengte n van de invoerreeks?
  5. Welke uitspraak over het basisprincipe van snelle attention-implementaties zoals FlashAttention is juist?