huggingface/xet-core

xet client tech, used in huggingface_hub

何を解決するか

xet-core は、AIモデルやデータセットに見られる大規模なバイナリファイルを効率的に処理するための高性能ストレージシステムを提供します。チャンクベースの重複削除を実装することで、ファイルの重複部分を転送・保存しないため、帯域幅とストレージのオーバーヘッドを削減します。

動作方法

このプロジェクトはコンテンツアドレス可能ストレージ(CAS)システムを実装しています。ファイルをチャンクに分割し、チャンク化、重複削除、再構成のためのデータ処理パイプラインを使用します。ローカルディスクキャッシュを活用して取得を高速化し、huggingface_hub ライブラリに統合できるPythonバインディングを提供します。また、コマンドライン操作を好むユーザー向けに、Git LFS互換のCLIツール(git-xet)も含まれています。

対象ユーザー

このライブラリは主に huggingface_hub の開発者や、Hugging Face Hubから大規模なAIアセットをアップロード・ダウンロードするユーザーを対象としています。エンドユーザーが単体で使用することを想定していません。

特徴

  • チャンクベースの重複削除: 異なるバイナリファイル間で重複するデータの転送・保存を回避します。
  • ローカルディスクキャッシュ: チャンクベースのキャッシュを実装し、ストレージと取得の最適化を図ります。
  • Git LFS互換性: 専用のCLIツールにより、Git LFSとの後方互換性を維持します。
  • クロスプラットフォーム対応: コアロジックにはRustクレート、アクセス性にはPythonバインディングを提供します。

関連

  • Dispatch
  • Dispatch
  • Dispatch
  • Dispatch
  • Dispatch