huggingface/datasets

🤗 The largest hub of ready-to-use datasets for AI models with fast, easy-to-use and efficient data manipulation tools

何を解決するか

🤗 Datasets は、機械学習のためのデータへのアクセスと準備を簡素化する軽量なライブラリです。大規模な公開データセットを手動でダウンロード・フォーマット・前処理する煩わしさを排除し、テキスト、音声、画像、動画、3D医療画像など、さまざまなモダリティの公開データとローカルデータを統一されたインターフェースで扱えるようにします。

動作方法

このライブラリの中心は load_dataset 関数です。この関数を使えば、Hugging Face Hub やローカルファイル(CSV、JSON、Parquet など)からデータを取得できます。Apache Arrow をバックエンドに使用することで、ゼロコピーのメモリマップストレージを実現し、巨大なデータセットを扱う際の RAM 制限を回避します。極めて大きなデータに対しては、「ストリーミングモード」を提供し、全データをダウンロードせずに、オンザフライで例をイテレートできます。

対象ユーザー

PyTorch、TensorFlow、JAX、NumPy、Pandas、Polars などのフレームワークを使ってトレーニングや評価パイプラインにデータセットをロード・処理・統合したい機械学習の実務家や研究者向けに設計されています。

特徴

  • 1行でロード: Hugging Face Hub を通じて数千もの公開データセットをすばやくアクセス可能。
  • マルチモーダル対応: テキスト、音声、画像、動画、PDF、NIfTI(3D医療)ファイルをネイティブに扱える。
  • メモリ効率: Apache Arrow を使ってゼロコピーのストレージとスマートキャッシュを実現し、重複処理を回避。
  • ストリーミング: 利用可能なディスク容量よりも大きなデータセットを処理可能。
  • 相互運用性: さまざまなデータサイエンスライブラリやMLフレームワーク間でスムーズに変換可能。
  • 並列処理: map 関数を使ってマルチプロセッシングをサポートする高速なデータ操作が可能。

関連