Discussion:
Dynamikbereich von Zahlenformaten
(zu alt für eine Antwort)
Hans-Peter Diettrich
2020-06-28 12:47:41 UTC
Permalink
Es gibt verschiedene Ansätze um Zahlenwerte mit einer beschränkten
Anzahl von Stellen (digits, bits) darzustellen. Aufgrund dieser
Beschränkung ist jedes definierte Modell ein Kompromiß zwischen
Präzision (signifikante Stellen) und Skalierungsfaktor (b^Exponent).

Von IEEE 754 wird zu jeder Variablengröße (Bitzahl) eine feste Anzahl
von Exponentenbits vorgeschlagen. Der Standard ist offen für abweichende
Implementierungen, die jedoch alle auf festen Werten für die Zahlenbasis
b (2 oder 10), Präzision (signifikante Stellen) p und maximalen
Exponenten emax basieren sollen. Die Präzision wird einschließlich des
hidden bit ausschließlich Vorzeichenbit angegeben. Der Bereich kleinster
Zahlen (um 0) wird durch denormalisierte Zahlen (hidden bit = 0) bis
exakt 0 erweitert.

Ein Ansatz mit einem dynamischen Bereich für den Exponenten hat John L.
Gustafson mit seinen Unum-Formaten entwickelt. Die Dynamik wird durch
eine Abnahme der Anzahl der signifikanten Stellen bei hohen Exponenten
erkauft. Dem steht ein minimaler Vorteil von mehr signifikanten Stellen
bei Werten um 1.0 gegenüber. Die hohen Exponenten bis emax werden nicht
nur durch einen Verlust sämtlicher signifikanten Stellen erkauft,
zuletzt (bei emax) fallen sogar alle Exponentenbits weg. Diesen Effekt
habe ich weiter unten mit einer negativen Präzision gekennzeichnet.

Ein weiterer Vorschlag verwendet eine variable Zahl von
Exponentenstellen, deren Anzahl in einem zusätzlichen Bitfeld r (range)
gespeichert wird. Hier eine Tabelle der damit erreichbaren Dynamik in
Abhängigkeit von der Anzahl der Range Bits (rs):

[Warnung: Tabellen mit TAB formatiert!]

rs 2 3 4 5
es 0-3 0-7 0-15 0-31
emax 7 127 32K-1 2G-1
Faktor 2^7-1 2^127-1 2^32K-1 2^2G-1
rs+es 2-5 3-10 4-19 5-36

Damit läßt sich z.B. mit rs=4 der IEEE Bereich für 128 Bit Zahlen
(emax=16K) übertreffen, mit 11 signifikanten Bits mehr (um 1.0) bis 3
weniger (um e=16K). Gegenüber IEEE 32 Bit (single) wären es +5 bis -2
signifikante Stellen, immerhin 29 statt nur 24 signifikante Bits um 1.0.

Im Vergleich mit IEEE Formaten gleicher Bitzahl läßt sich damit erreichen:

Bits 16 32 64 128
-------------- IEEE -------------------
es 5 8 11 15
emax 15 127 1023 16K-1
p 11 24 53 113
--------- höhere Präzision ------------
rs+es 2+3 3+5 4+7 4+11
emax 7 31 127 2K-1
p 11-14 24-29 53-60 113-124
--------- gleicher Bereich ------------
rs+es 3+4 3+7 4+10 4+14
emax 15 127 1023 16K-1
p 9-13 22-29 50-60 110-124
--------- größerer Bereich ------------
rs+es 3+7 3+7 4+15 4+15
emax 127 127 32K-1 32K-1
p 6-13 22-29 45-60 109-124
-------------- Posit ------------------
es 1 2 3 4
emax 25 111 471 1951
p 1-13 1-28 1-59 1-122
emax 28 120 496 2016
p -1..13 -2..28 -3..59 -4..122

Lohnt sich so eine Verbesserung?
Sonstige Kommentare?
Alfred Flaßhaar
2020-06-28 13:53:48 UTC
Permalink
Am 28.06.2020 um 14:47 schrieb Hans-Peter Diettrich:

(...)
Post by Hans-Peter Diettrich
Sonstige Kommentare?
Gibt es praktische Anwendungen, die diese Verbesserung notwendig macht?
Oder ist das "nur" von theoretischem Wert?
Hans-Peter Diettrich
2020-06-28 21:32:07 UTC
Permalink
Post by Alfred Flaßhaar
(...)
Post by Hans-Peter Diettrich
Sonstige Kommentare?
Gibt es praktische Anwendungen, die diese Verbesserung notwendig macht?
Oder ist das "nur" von theoretischem Wert?
Darüber streiten sich die Geister (Kahan, Gustafson...).

Gustafson führt immer wieder mal Anwendungen an, die von dynamischeren
Zahlendarstellungen profitieren könnten, zuletzt war das AFAIR KI (Deep
Learning). Auch soll die Energiebilanz bei Big Data günstiger werden...

Daneben wurde mir zugetragen, daß einige Anwendungen von der Nutzung der
80x87 "internen" 80 Bit Codierung profitieren, z.B. mit schnellerem
Konvergieren. Müssen die jetzt auf echte 128 Bit umgestellt werden, oder
könnten sie auch mit modifizierten 64 Bit auskommen?


Genauere Aussagen könnten nur im Feldtest ermittelt werden, aber wer
will das ohne Hardware auf sich nehmen? Deshalb frage ich hier mal nach
Fachleuten, die wissen ob und wobei (welche Algorithmen) sie von höherer
Dynamik profitieren könnten, und welche Bereiche dabei von Interesse wären.

DoDi

Loading...