spaCy
spaCyは、高速で正確なモデルを簡単に扱える「産業強度」のNLPライブラリです。spaCy v3以降では、Weights and Biasesをspacy train
と組み合わせて使用することで、spaCyモデルのトレーニングメトリクスを追跡したり、モデルとデータセットを保存・バージョン管理することができます。そして、設定に数行を追加するだけで実現できます!
はじめに:モデルのトラッキングと保存
1. wandb
ライブラリをインストールしてログイン
- コマンドライン
- ノートブック
pip install wandb
wandb login
!pip install wandb
import wandb
wandb.login()
2) spaCy設定ファイルにWandbLogger
を追加
spaCyの設定ファイルは、ロギングだけでなく、トレーニングのすべての側面を指定するために使用されます。GPU割り当て、オプティマイザーの選択、データセットのパスなどです。最小限、[training.logger]
の下で、キー@loggers
に値"spacy.WandbLogger.v3"
と、project_name
を指定する必要があります。
備考
spaCyトレーニング設定ファイルの機能や、トレーニングをカスタマイズするために渡すことができる他のオプションについては、spaCyのドキュメントをご覧ください。
[training.logger]
@loggers = "spacy.WandbLogger.v3"
project_name = "my_spacy_project"
remove_config_values = ["paths.train", "paths.dev", "corpora.train.path", "corpora.dev.path"]
log_dataset_dir = "./corpus"
model_log_interval = 1000
名前 | 説明 |
---|---|
project_name | str . Weights & Biasesのプロジェクトの名前。プロジェクトがまだ存在しない場合は自動的に作成されます。 |
remove_config_values | List[str] . 設定から除外する値のリスト。初期値は [] です。 |
model_log_interval | Optional int . 初期値はNone です。設定された場合、モデルのバージョン管理とアーティファクトが有効化されます。モデルチェックポイントのロギング間隔を設定してください。初期値はNone です。 |
log_dataset_dir | Optional str . パスが指定されている場合、トレーニング開始時にデータセットがアーティファクトとしてアップロードされます。初期値はNone です。 |
entity | Optional str . 指定された場合、特定のエンティティでrunが作成されます。 |
run_name | Optional str . 指定された場合、指定された名前でrunが作成されます。 |
3) トレーニングを開始する
WandbLogger
をspaCyトレーニング設定に追加したら、通常通りspacy train
を実行できます。
- コマンドライン
- ノートブック
python -m spacy train \
config.cfg \
--output ./output \
--paths.train ./train \
--paths.dev ./dev
!python -m spacy train \
config.cfg \
--output ./output \
--paths.train ./train \
--paths.dev ./dev
トレーニングが始まると、トレーニングrunのW&Bページへのリンクが出力され、このリンクからWeights & Biases Web UIの実験トラッキングダッシュボードにアクセスできるようになります。