AI・機械学習
900KBのトランスフォーマーを過学習させて100MBのCSVを7MBに圧縮
Overfitted a 900KB Transformer to Compress a 100MB CSV into 7MB
要約
この記事では、個別ファイルを圧縮するために過学習させたトランスフォーマーと算術コーディングを組み合わせた実験について紹介しています。モデルを汎化させるのではなく、単一のファイルを記憶し次のバイトを予測するように900KBのトランスフォーマーを訓練します。このアプローチにより、100MBのCSVファイルを約7MBに、100MBのenwik9ファイルを約21MBに圧縮することに成功しましたが、現時点では処理速度がかなり遅いという課題があります。
全文翻訳
個別のファイルを圧縮するために、過学習させたトランスフォーマーと算術コーディングを使用する実験を構築しました。
モデルを汎化させるように訓練する代わりに、900KBのトランスフォーマーを単一のファイルを記憶し、次のバイトを予測するように訓練します。これらの予測は算術コーダーに入力され、圧縮された出力が生成されます。
100MBのニューヨーク市タクシーCSVでは、約7MB(約0.5ビット/バイト)に圧縮されます。100MBのenwik9の一部では、約21MB(約1.68ビット/バイト)に圧縮されます。
現状ではかなり遅く(私のAMD 7800XTでは、訓練に約20〜30分、圧縮と解凍それぞれに45分かかります)。
リポジトリはこちら - https://github.com/samyak112/pym-particles