Hugging Face Storage Buckets リリース

Hugging Face は、チェックポイントや最適化されたデータシャードなどの中間機械学習アーティファクト向けに、可変で S3 ライクなオブジェクトストレージシステム「Storage Buckets」を開始しました。この新しいストレージ層により、開発者は Git のバージョン管理のオーバーヘッドなしに、チェックポイント、オプティマイザ状態、加工済みシャードといった高スループットデータを管理できます。

Xet を使用した ML アーティファクト向け最適化ストレージ

Storage Buckets は、ファイル間のコンテンツを重複排除するチャンクベースのストレージバックエンド Xet によって支えられています。従来のオブジェクトストレージがファイルを単一のバイナリとして扱うのに対し、Xet はコンテンツをチャンクに分割し、Hub 上に既に存在するバイトをスキップできるようにします。

このアーキテクチャは、関連するアーティファクトが大きく重複することが多い ML ワークロードに特に有益です。例としては、次のようなケースがあります:

  • 連続チェックポイント: モデルの大部分が凍結されたままである場合。
  • 加工済みデータセット: 生データとほぼ同様の構造を保っていることが多い場合。
  • エージェントトレース: それらから派生した要約。

Enterprise 顧客にとっては、この効率性はコスト面でもメリットがあります。課金は重複排除後のストレージ使用量に基づくため、帯域使用量と総課金ストレージの両方が削減されます。

高スループットコンピュート向けのプリウォーミング

分散トレーニングや大規模パイプラインにおけるレイテンシを最小化するため、Hugging Face は「pre-warming」を導入しました。この機能により、ユーザーは必要なデータの配置場所を宣言でき、ホットデータをコンピュートが実行されるクラウドプロバイダーとリージョンに近づけて移動させます。

リージョン間でデータを毎回取得する必要が減少することで、pre-warming はトレーニングクラスターやマルチリージョンパイプライン設定のスループットを向上させます。現在、Hugging Face は AWS と GCP と提携してこの機能を提供しており、将来的にさらに多くのプロバイダーを予定しています。

統合とプログラムによるアクセス

Storage Buckets は、ユーザーまたは組織の名前空間下でバージョン管理されないコンテナとして管理できるよう、Hugging Face エコシステムの複数インターフェースに統合されています。

CLI と Python API

ユーザーは hf CLI または huggingface_hub Python ライブラリ(v1.5.0 以降)を使用してバケットを管理できます。主な操作は以下の通りです:

  • 作成: hf buckets create [name] --private
  • 同期: hf buckets sync [local_dir] [hf_path]
  • 検査: hf buckets list [bucket_name] -h

fsspec を介したファイルシステム統合

HfFileSystem を通じて、バケットは fsspec 標準と互換性があります。これにより、hf:// パスを使用して pandas、Polars、Dask といったデータライブラリと直接統合できます。たとえば、CSV をローカルにダウンロードせずに pandas の DataFrame に直接読み込むことが可能です: pd.read_csv("hf://buckets/username/my-training-bucket/results.csv")

JavaScript サポート

バケットのサポートは、Node.js サービスやウェブアプリケーション向けに @huggingface/hub ライブラリ(v2.10.5 以降)でも利用できます。

ワークフロー: 可変ストレージからバージョン管理リポジトリへ

Storage Buckets は、移動中のアーティファクトの作業層として機能します。アーティファクトが安定した成果物となった時点で、バケットからバージョン管理されたモデルまたはデータセットリポジトリへ移行するのが想定されるワークフローです。Hugging Face は、最終的なチェックポイント重みや加工済みシャードを公式 Hub リリースへスムーズに昇格させるため、バケットとリポジトリ間の直接転送機能を実装する計画です。

利用可能性と価格設定

Storage Buckets は既存の Hub ストレージプランに含まれています。無料アカウントでも初期ストレージが利用可能で、PRO および Enterprise プランではより高い上限が提供されます。

Sources