2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Hugging Faceでload_dataset()できなくなったときの対処

Last updated at Posted at 2025-08-17

今おきていること

以下のようなコードが実行できなくなった。

$ pip install datasets
from datasets import load_dataset

train_dataset = load_dataset("llm-book/wrime-sentiment", split="train")
  • エラーメッセージ
RuntimeError: Dataset scripts are no longer supported, but found wrime-sentiment.py

上記は『大規模言語モデル入門』(通称LLM本)のデータセットの読み込みであるが、これ以外にもHugging Faceに登録されている多くのデータセットで現在読み込みができなくなっている。

なぜエラーになる?

これはdatasetsライブラリのversion4.0.0以降におきるエラーだ。
Hugging Faceではデータセット登録時にpythonスクリプトを同時に登録することができ、読み込み時に必要な前処理等をスクリプトで実行するようになっている。
つまり、load_dataset()したときに裏側ではPythonスクリプトが動いているということだ。

しかし、裏側で任意のPythonスクリプトが実行される仕様には脆弱性が指摘されており、読み込みの挙動が不安定になる原因にもなっている。
そこで、datasets==4.0.0からは「裏側でのPythonスクリプトの実行が禁止された」というわけだ。
これは2025年7月からの変更なので、バージョンを指定せずにカジュアルにpip installdatasetsを入れている人は突然動かなくなる人も多いかも。

対処法

主な対処法は2つ。

1. datasetsの古いバージョンを指定する

そのまんま。新しいバージョンでエラーが出るので、

$ pip install datasets==3.6.0

とか指定すれば暫定的には解決。
以下のissueも参考:

2. dataset側で新しい形式に対応する

これは利用者側からはどうしようもないが、今後はデータセット側での対応が必要になりそう。
具体的には、スクリプト実行をやめてparquet形式などのファイルをそのままアップロードするようにすれば解決する。
一応Hugging Face側の内部で自動的にparquet形式に変換する"Auto update"という機能もあるみたいだが、データセットにpythonスクリプトが登録されている限り、「自動的にそっちを呼び出す→ エラーになる」ようだ。

結論

暫定的には古いバージョンを指定するのがよさそう。
今後Hugging Face側が公式にどう対応するか分からないので、引き続き注視していきたい。
ライブラリを使う時はバージョン指定しておくの大事だなと思いました。
ある日突然エラーになっちゃうもんね。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?