- Metaが公開した OpenZL は、構造化データに対して 可逆圧縮 を提供する 新しいオープンソース圧縮フレームワーク で、データ形式を認識して効率的な変換処理を実行
- 各ファイル形式ごとに異なる変換段階を適用するが、すべてのファイルを 単一の汎用デコンプレッサー で展開できるよう設計されている
- 圧縮器にデータ構造を 明示的に渡す ことで変換処理を最適化し、学習済みの 圧縮構成(config) により速度と圧縮率のさまざまなバランスポイントを選択できる
- Meta内部の Managed Compression システムと連携し、データ変化に合わせて 自動再学習と更新 が可能な点が特徴
- 構造が明確なデータセットで高い性能を示し、データセンターの処理効率を改善 しつつ、圧縮エコシステムを単一デコーダーで単純化できる可能性を示している
OpenZL 概要
- OpenZL はMetaが公開した フォーマット認識型データ圧縮フレームワーク で、構造化データ向けに 特化した圧縮効率 を提供する
- データの形式を明示的に伝えると、内部の変換グラフを通じてデータの規則性と反復性を見つけ、より効率的に圧縮する
- Zstandardの後継的な概念として、フォーマット別最適化圧縮の性能と単一実行ファイルの保守性を組み合わせた構造
- Zstandardはデータセンターで 速度と圧縮率 を同時に満たして大きな飛躍を遂げたが、アルゴリズムの汎用化による 漸進的改善の限界 が存在する
- 構造化データでは一般的な圧縮法より 形状に合わせたカスタム圧縮 のほうが比率と速度の両面で有利
- しかし、各ファイルフォーマットごとに専用の圧縮器/復元器を構築・運用する 負担が大きい
- OpenZLは個別のカスタム圧縮器の性能と 単一バイナリ運用の容易さ を同時に追求している
構造ベースの圧縮方式
- 一般的な圧縮器がデータを推測ベースで処理するのに対し、OpenZLは データ構造を明示的入力として受け取る
- ユーザーは Simple Data Description Language (SDDL) を通じてデータの形態(行、列、列挙型、ネスト構造など)を記述できる
- この情報をもとにOpenZLはオフライン学習(トレーナー)によって 最適な変換シーケンス(Plan) を生成する
- その後、圧縮時にはこのPlanをもとに実際の デコーディンググラフ(Resolved Graph) を作成し、フレームに埋め込む
例: SAO データ圧縮
- Silesia Compression CorpusのSAOファイルを例にすると、OpenZLは各フィールドを分離して 同質的なデータストリーム に変換した後、個別最適化を行う
- X軸座標(SRA0)は整列傾向があるため デルタ(delta)変換 を適用
- Y軸座標(SDEC0)は範囲制限を活用して transpose変換
- 残りのフィールドは固有値数が少ないため tokenize変換 で辞書ベース圧縮を実行
- 結果としてzstd比で 2倍以上の圧縮率 と より高速な速度(340 MB/s) を記録
自動圧縮器生成と学習プロセス
- OpenZLのトレーナーはデータサンプルをもとに 自動で圧縮戦略を探索・学習 する
- 学習プロセス: describe(SDDL) → train(Plan生成) → compress(グラフ埋め込み) → decode(単一バイナリで復元)
- コントロールポイント(control points) を使い、ランタイム時点で統計情報に基づいて最適な経路を選択する
- 新しいPlanを適用しても 既存データはそのまま復号可能 で、後方互換性を維持する
単一デコンプレッサーの利点
- OpenZLはどのフォーマットで圧縮しても 単一のデコンプレッサーバイナリ で復元できる
- セキュリティと安定性の検証 を一度行えばシステム全体に適用可能
- デコンプレッサー更新時には、すべての過去データにも 性能向上効果 が適用される
- 運用の単純化 と フリート全体の一貫性 を確保
- 複数フォーマットを同時管理しながらも 下位互換性を維持
性能比較結果
- さまざまなデータセットでzstd、xzなどの汎用圧縮器より 高い圧縮率と速度 を達成
- SAO: 2.06倍の圧縮率、1200 MB/sの復元速度
- ERA5(数値データ): 同じ時間でより高い圧縮率、または同じ圧縮率でより高速
- Parquet、CSVデータセットでもフォーマット認識ベースで カスタム最適化が可能
- ただし、テキストベースのような 構造のないデータでは効果が限定的 で、zstdにフォールバックして最低限の性能を保証
- 圧縮率/圧縮速度/復元速度の3軸で多様な組み合わせを選べ、従来圧縮器の「レベル」調整とは異なる柔軟性 を提供
データ進化と自動再学習
- Metaの Managed Compression と連携し、データフォーマット変更時に 自動で圧縮Planを再学習
- 定期的にサンプリング・評価し、より良いPlanが見つかれば自動更新
- デコンプレッサーは同一のまま維持され、運用リスクを最小化
オープンソースエコシステムへの参加と今後の方向性
- OpenZLは ベクター、テーブル、ツリー構造データ に適しており、時系列・MLテンソル・データベーステーブルなどで優れた効率を示す
- 構造のないテキスト(例: enwik、dickens など)にはzstdを適用
- 今後の計画:
- 時系列および格子データ向け変換ライブラリの拡張
- SDDLのネストデータ表現力強化
- 自動圧縮器探索器の性能と安定性向上
- コミュニティ参加方法:
結論
- OpenZLは フォーマット認識型圧縮を標準化 しつつ、既存エコシステムを 単一デコーダー中心に統合 できる新しいアプローチ
- Metaはこれによりデータセンター全体の 圧縮効率、速度、保守性 を同時に改善しようとしている
1件のコメント
Hacker Newsのコメント