AI-hardware en softwarestack

Waarom wordt bij de berekening van de softmaxfunctie exp(xi)/Σexp(xj) vaak eerst de maximumwaarde van elke xi afgetrokken?

  1. AOm het resultaat te benaderen en de berekening te versnellen
  2. BOm het grootste element altijd 0 te maken
  3. COmdat het resultaat gelijk blijft en wordt voorkomen dat de waarde van exp te groot wordt en overloopt (oneindig wordt)
Antwoord en toelichting tonen

Antwoord: C. Omdat het resultaat gelijk blijft en wordt voorkomen dat de waarde van exp te groot wordt en overloopt (oneindig wordt)

exp is een snel toenemende functie; bij FP16 overschrijdt exp(x) bijvoorbeeld de maximaal weer te geven waarde als x ongeveer 11 overschrijdt. Als van alle x dezelfde constante m wordt afgetrokken, worden zowel teller als noemer exp(−m) maal zo groot en blijft het resultaat gelijk. Bij aftrekken van de maximumwaarde is de exponent ten hoogste 0 en blijft de waarde van exp onder 1, zodat geen overloop optreedt. Dit is een bijzonder belangrijke maatregel bij AI-berekeningen met lage precisie en wordt ook in snelle attention-implementaties gebruikt.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over AI-hardware en softwarestack

  1. Welke uitspraak over het principe van "speculatieve decodering" (speculative decoding), die de inferentie van grote taalmodellen versnelt, is juist?
  2. Waarom zijn opzoekingen in grote embeddingtabellen, zoals die in aanbevelingssystemen worden gebruikt, lastig te verwerken met AI-hardware?
  3. Welke volgorde van de AI-softwarestack, van de bovenste laag dicht bij de gebruiker naar de onderste laag dicht bij de hardware, is juist?
  4. Welke uitspraak over het verschil tussen "training" en "inferentie" van een neuraal netwerk is juist?
  5. Welke van de volgende is GEEN reden waarom het geheugen voor training veel groter is dan voor inferentie met hetzelfde model?