Warum Kompression und Sprachmodelle dasselbe Problem lösen

Warum Kompression und Sprachmodelle dasselbe Problem lösen
Deine Reaktion:

Kompression gilt gemeinhin als simpler technischer Vorgang: Man wirft überflüssige Daten weg, und schon wird die Datei kleiner. Doch dieser Blick täuscht. Der Artikel „Compression is prediction“ auf dem ngrok-Blog zeigt, dass echte Kompression auf Vorhersage beruht – und dass genau dieses Prinzip auch großen Sprachmodellen wie LLMs zugrunde liegt. Das Prinzip dahinter ist grundlegend für beide Technologien.

Der falsche Blick auf Kompression

Minifier, die JavaScript oder CSS verkleinern, entfernen Kommentare, Leerzeichen und kürzen Variablennamen. Das ist keine Kompression im eigentlichen Sinne, sondern schlichtes Entfernen von Syntax, die Maschinen nicht brauchen. Echte Kompression nutzt dagegen Redundanz: Sie erkennt wiederkehrende Muster in den Daten und codiert sie effizienter. Die beiden Ansätze unterscheiden sich grundlegend. Minification verändert die Struktur der Daten, während Kompression die statistische Verteilung der Symbole ausnutzt.

Der Autor des Artikels illustriert das mit einem einfachen Beispiel: eine Zeichenkette aus neun A’s, vier B’s, zwei C’s, einem D, drei A’s und neun D’s. Diese 28 Zeichen können als A9B4C2D1A3D9 notiert werden – zwölf Zeichen, also 57 Prozent kleiner. Das ist Run-Length Encoding, eine der einfachsten Kompressionstechniken. Sie funktioniert, weil aufeinanderfolgende Wiederholungen zusammengefasst werden. Mehr Redundanz bedeutet mehr Kompressionsmöglichkeit.

Wie Redundanz Daten schrumpfen lässt

Um Redundanz zu verstehen, hilft eine Analogie: Stell dir vor, du beschreibst einem Freund den Inhalt eines Films. Wenn der Film viele Szenen mit derselben Handlung hat, kannst du diese zusammenfassen, statt jede Szene einzeln zu erzählen. Genau das macht Run-Length Encoding mit Zeichen. Je mehr sich wiederholt, desto kürzer wird deine Beschreibung. Moderne Kompressoren wie gzip oder Brotli gehen aber weit über dieses einfache Muster hinaus.

Sie kombinieren mehrere Techniken, die sich grob in drei Kategorien einteilen lassen: Transforms, Modelle und Entropiekodierer. Transforms bereiten die Daten vor, indem sie sie in eine Form bringen, die mehr Redundanz aufweist – etwa durch das Ersetzen von gleichen Teilstrings durch Verweise. Modelle beschreiben dann die Häufigkeit jedes Symbols in den vorbereiteten Daten. Und der Entropiekodierer nutzt diese Häufigkeiten, um die eigentliche Kompression durchzuführen. Der Autor betont, dass diese Bausteine selten isoliert auftreten, sondern ineinandergreifen.

Das Modell ist dabei eine Tabelle, die jedem Symbol seine Wahrscheinlichkeit zuordnet. Je genauer diese Wahrscheinlichkeiten die tatsächliche Verteilung treffen, desto besser kann der Entropiekodierer arbeiten. Denn der Entropiekodierer weist häufigen Symbolen kürzere Bitfolgen zu als seltenen. Das Ziel ist, die durchschnittliche Bitlänge pro Symbol zu minimieren – ein Wert, den man Entropie nennt.

Arithmetisches Kodieren: Eine Zahl für alle Daten

Der Artikel erklärt den Entropiekodierer am Beispiel des arithmetischen Kodierens. Das Prinzip ist bemerkenswert: Du kannst eine gesamte Nachricht durch eine einzige Zahl im Intervall von 0 bis 1 darstellen. Zuerst teilst du das Intervall in Abschnitte auf, die proportional zu den Symbolwahrscheinlichkeiten sind. Dann gehst du Symbol für Symbol durch die Nachricht und schränkst das Intervall auf den Abschnitt des jeweiligen Symbols ein.

Am Ende bleibt ein winziges Intervall übrig, und jede Zahl darin repräsentiert die ganze Nachricht. Diese Zahl benötigt oft nur wenige Bits – deutlich weniger, als die ursprünglichen ASCII-Zeichen gebraucht hätten. Der Autor zeigt das an einem Beispiel: Die Zeichenkette „ABABAAC“ lässt sich mit arithmetischer Kodierung in etwa 10 Bits packen, während die rohe ASCII-Darstellung 56 Bits braucht. Das ist eine deutliche Ersparnis, und der Clou: Die Dekodierung ist so einfach wie die Kodierung, nur umgekehrt.

Der Entropiekodierer bekommt die Wahrscheinlichkeiten vom Modell und gibt einen Bitstrom aus. Je besser das Modell die Daten vorhersagt, desto kleiner wird der Bitstrom. Das führt zu einer wichtigen Erkenntnis: Kompression ist im Kern eine Vorhersageaufgabe. Du versuchst zu erraten, welches Symbol als Nächstes kommt – oder genauer, mit welcher Wahrscheinlichkeit jedes Symbol auftritt. Diese Wahrscheinlichkeiten sind das Herzstück der Kompression.

Warum bessere Wahrscheinlichkeiten bessere Kompression bedeuten

Nehmen wir zwei Nachrichten: eine mit ausgeglichener Verteilung (A, B, A, B, A, A, C) und eine mit starker Dominanz von A (zehn A’s, ein B, ein C). Obwohl die zweite Nachricht länger ist, benötigt sie beim arithmetischen Kodieren ähnlich viele Bits wie die erste – etwa 10 Bits. Der Grund liegt in der Entropie: Je ungleicher die Wahrscheinlichkeiten, desto weniger Bits pro Symbol brauchst du im Durchschnitt. Bei der ersten Nachricht sind es 1,38 Bits pro Symbol, bei der zweiten nur 0,82.

Dieser Unterschied ist kein Zufall. Er lässt sich mathematisch mit der Shannon-Entropie beschreiben, die exakt die untere Grenze der durchschnittlichen Bitlänge angibt. Je höher die Entropie, desto unvorhersehbarer die Daten, desto mehr Bits brauchst du. Umgekehrt gilt: Je deterministischer die Daten, desto komprimierbarer sind sie. Der Autor illustriert das mit einem Entscheidungsbaum, in dem häufige Tiere wie „Vogel“ kurze Codewörter bekommen, während seltene wie „Bär“ lange erhalten. Das ist im Prinzip die Huffman-Kodierung, die in gzip und Brotli eingesetzt wird.

Doch der Kernpunkt ist, dass die Qualität der Kompression von der Qualität des Modells abhängt. Ein Modell, das die Wahrscheinlichkeiten der Symbole exakt vorhersagt, erreicht die theoretische Grenze der Entropie. Ein schlechteres Modell, das die Verteilung verfehlt, produziert unnötig lange Bitströme. Deshalb lohnt es sich, in bessere Modelle zu investieren – und genau hier beginnt die Verbindung zu Sprachmodellen.

Kompression und Sprachmodelle: Das gleiche Prinzip

Große Sprachmodelle wie GPT sind im Kern Wahrscheinlichkeitsverteilungen über Tokens. Sie schätzen, welches Token als Nächstes kommen könnte, basierend auf dem Kontext. Diese Aufgabe ist formal identisch mit der, die ein Kompressionsmodell löst: Du hast eine Sequenz von Symbolen und willst die Wahrscheinlichkeit des nächsten Symbols wissen. Wenn ein Kompressor eine gute Wahrscheinlichkeitsverteilung hat, kann er die Daten optimal codieren. Wenn ein Sprachmodell eine gute Wahrscheinlichkeitsverteilung hat, kann es sinnvolle Texte erzeugen.

Der Artikel weist darauf hin, dass diese Erkenntnis nicht nur theoretisch ist. Tatsächlich haben Forscher gezeigt, dass ein perfekt trainierter Kompressor ein perfektes Sprachmodell wäre – und umgekehrt. Ein Kompressor, der die Entropie einer Textdatei minimiert, muss die Wahrscheinlichkeiten aller Token gut kennen, also quasi verstehen, wie Sprache funktioniert. Sprachmodelle wiederum nutzen Techniken, die der Entropiekodierung ähneln, wenn sie Text generieren: Sie wählen Token basierend auf ihrer vorhergesagten Wahrscheinlichkeit.

Für dich als Entwickler oder Tech-Enthusiast bedeutet das: Wenn du dich mit Kompression beschäftigst, beschäftigst du dich eigentlich mit den Grundlagen der künstlichen Intelligenz. Die Werkzeuge, mit denen du Dateien kleiner machst, sind dieselben Prinzipien, die hinter modernen KI-Systemen stecken. Und wenn du verstehst, warum bessere Vorhersagen zu besserer Kompression führen, verstehst du auch, warum größere Modelle mit mehr Daten oft besser werden – sie lernen einfach bessere Wahrscheinlichkeitsverteilungen.

Kompression ist nicht bloß das Entfernen von überflüssigen Bits, sondern die Essenz intelligenter Vorhersage. Beim nächsten Zip-Vorgang kannst du dir bewusst machen, dass im Hintergrund dasselbe Prinzip arbeitet wie in deinem Sprachassistenten – nur ohne Hype.

Quelle: ngrok.com

Deine Reaktion:
Artikel teilen:
Sebastian Krötzsch
Autor

Sebastian Krötzsch

Sebastian Krötzsch schreibt auf sebask.de über Künstliche Intelligenz, Automatisierung, digitale Systeme und die Frage, was davon im Alltag wirklich nützlich ist. Ohne Buzzword-Nebel, dafür mit klarem Blick auf Praxis, Tools und echte Wirkung.