日本語GPT-2で 'Tokenizer class T5Tokenizer does not exist or is not currently' と怒られた


日本語GPT-2をfine-tuningしようとしたら怒られたので、メモ。

環境

GCPのCompute Engineで、Deep Learning on Linuxイメージを使いました。

構成
Python3.8
Transformers==4.18.0.dev0
PyTroch==1.11.0+cu113
datasets==2.0.0

OS: Debian
GPU: Tesla K80
CUDA: 11.4

起こったこと

rinna/japanese-gpt2-smallを自前のデータでfine-tuningしようと、run_clm.pyを走らせたところ、以下の様に怒られました。

run_clm.py
ValueError: Tokenizer class T5Tokenizer does not exist or is not currently imported.

んなこと言われても...と思い、色々やりました。

解決

sentencepieceを入れたら解決しました。

Bash
pip install setencepiece

ちゃんと依存関係調べてからやろうねっていう教訓でした。
確認不足で時間食ってしまった....

まとめ

つまり、以下が必要っぽいです。

Bash
pip install git+https://github.com/huggingface/transformers.git
pip install datasets
pip install sklearn
pip install sentencepiece
pip install torch                   #GPU環境では公式ドキュメント要確認