-
Ernste Frage: Was wird in solchen Werten bei KI eigentlich gespeichert?
Autor: Wasser 15.09.22 - 11:30
Vorweg mal: Bin in der Materie kein Profi :-)
GANZ! GROBE! ÜBERLEGUNG!
Wenn wir einen 5-Bit Exponent haben ergibt das 2^5 = 32 Exponenten also 2^32 Werte also 4 Milliarden.
Bleiben für die Mantisse 2 Bit, also 4 Zustände, also kann die Zahl geviertelt werden (0.75, 0.5, 0.25, 0.0)
Dann haben wir einen Wertebereich von +- 4 Milliarden
und eine Genauigkeit von einem Viertel des jeweiligen Wertes.
Beim 4-Bit Exponenten ergibt sich dann:
Wertebereich: +-65000
Genauigkeit: 1/8 des jeweiligen Wertes.
Das sind weder von der Spreizung noch von der Genauigkeit her Welten.
Was macht man damit konkret? -
Re: Ernste Frage: Was wird in solchen Werten bei KI eigentlich gespeichert?
Autor: M.P. 15.09.22 - 11:48
Das einzige, was ich mir vorstellen kann, sind eine Art "Gewichte" für Entscheidungen. Da wird es ggfs. nur auf Größer/Kleiner ankommen, und keine genauen Distanzen, die man bewerten müsste...
-
Re: Ernste Frage: Was wird in solchen Werten bei KI eigentlich gespeichert?
Autor: sg (Golem.de) 15.09.22 - 12:01
Das Format E5M2 ist dabei eigentlich nur eine kürzere Variante von FP16 der IEEE (5 Bit Exponent, 10 Bit Mantisse). Der Wertebereich wird durch das kleinere Format FP8 also nicht wesentlich kleiner, nur weniger genau. In bestimmten Modelle und Anwendungsfällen reicht das eben trotzdem für annähernd gleiche Ergebnisse.
---------
Sebastian Grüner
Golem.de -
Re: Ernste Frage: Was wird in solchen Werten bei KI eigentlich gespeichert?
Autor: nubar 15.09.22 - 12:30
In KI's werden die Zahlen von verbundenen Neuronen durch Skalierung entsprechend aufeinander abgestimmt. (Macht das Training.) Jetzt hat die Erfahrung gezeigt, dass ein kleines Teilnetz einer KI nur einen relativ kleinen Zahlenumfang braucht. Da man die Zahlen am Eingang jetzt in einen funktionierenden Bereich skalieren kann, braucht man den enormen Umfang von 16-Bit (ca. 63k unterscheidbare Zahlen) nicht, sondern es reichen ca. 200 (8-Bit FP).
Floating point arbeitet sowieso nur "genau", wenn beide Zahlen aus einem ähnlichen Wertebereich kommen. D.h. das Skalieren der Inputs ist sowieso notwendig und die lange Mantisse kann man sich sparen (nicht aber den Exponenten). Aufgrund der Zahlenspreizung ergibt z.B. 10^8 + 10^-8 wieder 10^8 für FP32.



