HeadlinesBriefing favicon HeadlinesBriefing.com

Kann gzip ein Sprachmodell sein? Äquivalenz von Kompression und Vorhersage

Hacker News •
×

Vor einiger Zeit schrieb ich über Sprachmodellierung ohne neuronale Netze, wo ich Shakespeare mit einem unbeschränkten n-gram-Modell erzeugte: keine Gewichte, kein Training, nur Zählen. Glücklicherweise stieß ich auf den Artikel 'Language Modeling is Compression', der die Kompressions-Vorhersage-Äquivalenz erwähnte: Jedes Vorhersagemodell ist grundsätzlich ein Kompressor, und alle Kompressionsalgorithmen sind Vorhersagemodelle. Dies führte zur natürlichen Frage: Kann gzip Sprachmodellierung durchführen? Ohne neuronales Netz, ohne gelernte Parameter, nichts. Nur der Kompressor, der mit deinem Betriebssystem mitgeliefert wird. Du bereitest ihn mit einem Korpus vor, gibst ihm einen normalen Text-Prompt, und er setzt diesen Prompt fort, indem er nach den Byte-Sequenzen sucht, die am besten komprimieren. Hier ist einige echte, unveränderte Ausgabe nachdem ich ihn auf tiny Shakespeare vorbereitet habe:

gzipt --corpus data/tinyshakespeare.txt --prompt $'MENENIUS:\n' --length 200

MENENIUS:'Though all at once canq MARCIUS: Pray now, nocamest thou to a morsel .LARTIUS: Hence, and I' the end admire, where Gagain; and after it ag .Es stellt sich heraus, irgendwie? Es ist nicht genau kohärenter Text, aber es weiß offensichtlich etwas über den Text. Viel mehr, als ich von gzip erwartet hätte.

Wie kann also ein Kompressor diese Ausgabe erzeugen? Kompression ist Vorhersage. Denke darüber nach, was ein Kompressor macht. Er verbraucht wenige Bytes für Daten, die er 'erwartet', und viele Bytes für Daten, die er nicht erwartet. Wenn ich dir eine Datei gebe, die aus dem Buchstaben A besteht, der eine Million Mal wiederholt wird, kannst du sie in einem Satz beschreiben. Eine Million zufällige Bytes hingegen haben keine ausnutzbare Struktur und komprimieren kaum. Dies ist kein Zufall; es ist der Kern der Informationstheorie. Die Anzahl der Bits, die benötigt werden, um ein Symbol zu kodieren, beträgt $-\log_2 p$, wobei $p$ die