Computerarithmetiek

Wat is de belangrijkste reden dat bij AI-training met gemengde precisie het grootste deel van de berekeningen in FP16 of bfloat16 gebeurt, terwijl de oorspronkelijke waarde van de gewichten (master weights) in FP32 wordt bewaard?

  1. ABij het optellen van kleine bijwerkingen bij de gewichten verdwijnt de bijwerking door informatieverlies in een formaat met lage precisie
  2. BFP32 is sneller dan FP16, dus alle berekeningen met gewichten worden aan FP32 overgelaten
  3. CFP16 en bfloat16 mogen volgens de afspraak geen gewichtswaarden in het geheugen opslaan
Antwoord en toelichting tonen

Antwoord: A. Bij het optellen van kleine bijwerkingen bij de gewichten verdwijnt de bijwerking door informatieverlies in een formaat met lage precisie

Bij training wordt telkens een zeer kleine waarde, "leersnelheid × gradiënt", bij de gewichten opgeteld. FP16 en bfloat16 hebben een korte mantisse; als de bijwerking te klein is ten opzichte van het gewicht, blijft de som door afronding gelijk aan het oorspronkelijke gewicht en verdwijnt de bijwerking (informatieverlies). Daarom worden de gewichten in FP32 bewaard, zodat de bijwerkingen correct worden opgebouwd, en wordt voor de voorwaartse en achterwaartse berekeningen een kopie met lagere precisie gebruikt. Rekenen gaat sneller bij lagere precisie, en waarden met lage precisie kunnen wel worden opgeslagen.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Computerarithmetiek

  1. Bij een niet-ondertekend vastekommagetal van 8 bit waarvan de onderste 4 bits het fractionele deel vormen, welke waarde stelt het bitpatroon 0011 1000 voor?
  2. Welke combinatie van drie onderdelen vormt een IEEE 754-drijvendekommagetal?
  3. Welke combinatie van aantallen bits voor teken, exponent en mantisse geldt voor een IEEE 754-getal met enkele precisie (32 bit)?
  4. Welke combinatie van aantallen exponent- en mantissebits is juist voor een IEEE 754-getal met dubbele precisie (64 bit)?
  5. Wat is de werkelijke exponent (de macht van 2) wanneer in een IEEE 754-getal met enkele precisie de opgeslagen exponentwaarde 130 is?