9月22日に公開されたソフトウェア実験は、gzipの圧縮アルゴリズムを、ごく初歩的な言語モデルとして使う方法を示した。「GziPT」はニューラルネットワークの学習も、学習済み重みの保存も行わない。候補となる続きを加えたとき、どの文章が最も効率よく圧縮できるかを調べ、直前の内容になじむバイト列を選ぶ。

考え方の土台は、予測と圧縮の密接な関係だ。見慣れたパターンに従うデータは、意外なデータより少ないビットで表現できる。そのため圧縮器には、文章生成向けでなくても、次に何が現れやすいかという暗黙のモデルがある。情報理論では、高い確率を割り当てられた記号ほど短く符号化できる。

GziPTはPythonのzlibに実装されたDEFLATEを使う。gzipでも使われるこの方式は、直近32キロバイトの範囲で既出のバイト列を探し、一致を短い参照で置き換える。実験ではこの範囲に元の文章群を置き、プロンプトと候補の続きを加え、圧縮後のサイズを測る。元の文章のパターンに近い候補ほど、一般に良い評価を得る。

完成した候補を評価することと、文章を生成することは同じではない。1バイトずつ選ぶ方法ではうまくいかなかった。圧縮出力を整数バイト単位で測るため、違う次の文字でも長さが同じになり、小さな差が見えなくなるからだ。実装はビームサーチを使い、複数バイトの続きをいくつも調べ、よく圧縮できる候補を残す処理を繰り返してから出力を決める。

評価に使う生成済み文章も、末尾の一部に絞る。直近の反復は極端に安く符号化できるため、全履歴を見せると同じ文をそのまま繰り返すループに陥りやすい。DEFLATEが近くの一致を優先する性質に対処するための制限だ。

開発者の例は、現在のニューラル言語モデルほど一貫していない。それでも小さなシェークスピアの文章群を与えると、認識できる構造が現れた。競争力より説明上の価値が中心で、標準ライブラリのPythonプログラムと身近なアルゴリズムで、圧縮と予測のつながりを具体化している。

一方、圧縮器がそのまま実用的な汎用言語モデルになるわけではない。文脈は小さく、評価は粗く、最も強い手がかりは文字どおりのバイトの反復だ。探索で情報を引き出すことはできても、現代のモデルが学ぶ広範な表現は補えない。GziPTは、日常的な圧縮ソフトに潜む予測の好みを、探索によって文章出力へ変えられると示す小規模な実演といえる。