Home | Lehre | Videos | Texte | Vorträge | Software | Person | Impressum, Datenschutzerklärung | Blog RSS

Die Blog-Postings sind Kommentare im Sinne von § 6 Abs. 1 MStV. Der Verfasser ist Jörn Loviscach, falls jeweils nicht anders angegeben. Die Blog-Postings könnten Kraftausdrücke, potenziell verstörende Tatsachenbehauptungen und/oder Darstellungen von Stereotypen enthalten. Die Beiträge der vergangenen Wochen werden als Bestandteil der Internet-Geschichte in ihrer ursprünglichen Form gezeigt. Menschliche Autor*innen können unzutreffende Informationen über Personen, Orte oder Fakten liefern.

vorheriger | Gesamtliste | jüngste | nächster

Nichtbinäre neuronale Netze

2024-03-01 21:45

Ein chinesisches Microsoft-Team hatte im Oktober vorgeschlagen, statt Gleitkommazahlen binäre Gewichte (1 und –1) zu nutzen – das war nicht neu – und die erstmals halbwegs auch so zu trainieren. (Bei der Backpropagation werden aber die Sprungfunktionen rausgenommen.) Ich musste an die vor langen Jahren bei den Video-Codecs geschehene Entwicklung von der Cosinus-Transformation hin zu Hadamard-Matrizen aus 1 und –1 denken. Addieren und Subtrahieren geht halt viel billiger als Multiplizieren, selbst wenn die addierten und subtrahierten Daten als solche eine höhere Auflösung haben. Und es spart beim neuronalen Netz massiv Platz.

Nun vom selben Team der nächste, überaus logische Schritt: ternäre Gewichte –1, 0, 1. Bei 0 muss sogar gar nichts getan werden. Rechnerisch macht das lb(3) =1,58 Bits. Die Autor*innen behaupten, so ein Netz (zum Beispiel LLaMA mit drei Milliarden Parametern) praktisch genau so gut trainieren zu können wie eines mit 16-Bit-Gleitkommagewichten – bei einem zigfach verringerten Energiebedarf, einem mehr als gedritteltem Speicherbedarf und einem fast verdreifachtem Durchsatz. Dabei ist die Hardware noch klassisch (A100). Allerdings sind die Resultate (Table 2) beider Seiten des Vergleichs (16 Bit, 1,58 Bits) klar schlechter als für andere 3-Milliarden-LLaMAs berichtet. Wird man sich genauer ansehen müssen; vielleicht beim Training gespart (100 Mrd. Tokens).

Kommentar vom 2024-03-01, 22:08

Ui. Ist das das ende von Nvidia? GPUs rechnen doch mit floating-point - oder?

Kommentar vom 2024-03-01, 22:41

*hust*
https://github.com/grensen/easy_regression
Und ohne Multiplikation:
https://github.com/grensen/ML_demos/blob/main/code/easy_regression_iris.cs

Vermutlich muss einfach komplexer gebaut werden, um dieselbe Qualität zu erreichen. Hoffe, es endet nicht wie die Pruning-Idee: nett, aber irgendwie nicht ganz rund.

Kommentar vom 2024-03-01, 23:30

@Kommentator*in von 22:08: Weil das Paper die alte A100 erwähnt, muss dort mit "8 bits" wohl Ganzzahl (INT8) gemeint sein, denn 8-Bit-Gleitkomma (FP8) kann Nvidia erst seit der H100. Und Achtung: Die (Aktivierungs-)Daten selbst sind nicht dreiwertig wie die Gewichte, sondern eben 256-wertig. J. L.

Neuer Kommentar

0 Zeichen von maximal 1000

Ich bin die*der alleinige Autor*in dieses Kommentars und räume dem Betreiber dieser Website das unentgeltliche, nichtausschließliche, räumlich und zeitlich unbegrenzte Recht ein, diesen Kommentar auf dieser Webseite samt Angabe von Datum und Uhrzeit zu veröffentlichen. Dieser Kommentar entspricht geltendem Recht, insbesondere in Bezug auf Urheberrecht, Datenschutzrecht, Markenrecht und Persönlichkeitsrecht. Wenn der Kommentar mit einer Urheberbezeichnung (zum Beispiel meinem Namen) versehen werden soll, habe ich auch diese in das Kommentar-Textfeld eingegeben. Ich bin damit einverstanden, dass der Betreiber der Webseite Kommentare zur Veröffentlichung auswählt und sinngemäß oder zur Wahrung von Rechten Dritter kürzt.