spaCy

spaCy は人気のある「産業強度」のNLPライブラリで、迅速かつ高精度なモデルを手間なく利用できます。spaCy v3からは、Weights & Biasesをspacy trainと共に使用することで、あなたのspaCyモデルのトレーニングメトリクスを追跡し、モデルとデータセットの保存とバージョン管理も可能になりました。そして、それには設定にほんの数行追加するだけです。

サインアップしてAPIキーを作成

APIキーは、あなたのマシンをW&Bに認証します。ユーザープロフィールからAPIキーを生成できます。

  1. 右上のユーザープロフィールアイコンをクリック。
  2. ユーザー設定を選択し、APIキーセクションまでスクロール。
  3. 表示をクリックし、表示されたAPIキーをコピーします。APIキーを非表示にするには、ページを再読み込みしてください。

wandbライブラリをインストールしてログイン

wandbライブラリをローカルにインストールし、ログインするには:

  1. WANDB_API_KEY 環境変数 をあなたのAPIキーに設定します。

    export WANDB_API_KEY=<your_api_key>
    
  2. wandbライブラリをインストールしてログインします。

    pip install wandb
    
    wandb login
    
pip install wandb
import wandb
wandb.login()
!pip install wandb

import wandb
wandb.login()

WandbLoggerをspaCyの設定ファイルに追加

spaCyの設定ファイルは、ロギングだけでなく、GPUの割り当て、オプティマイザーの選択、データセットのパスなど、トレーニングのすべての側面を指定するために使用されます。[training.logger]の下に、キー @loggers “spacy.WandbLogger.v3” で、さらに project_name を指定する必要があります。

[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型。W&Bプロジェクトの名前。存在しない場合は、自動的にプロジェクトが作成されます。
remove_config_values List[str]型。W&Bにアップロードする前に設定から除外する値のリスト。デフォルトは[]です。
model_log_interval Optional int型。デフォルトはNoneです。設定すると、モデルのバージョン管理Artifactsとともに有効になります。モデルチェックポイントをログに記録する間隔のステップ数を渡します。デフォルトはNoneです。
log_dataset_dir Optional str型。パスを渡すと、トレーニング開始時にデータセットはArtifactsとしてアップロードされます。デフォルトはNoneです。
entity Optional str型。指定した場合、run は指定したエンティティで作成されます。
run_name Optional str型。指定された場合、run は指定された名前で作成されます。

トレーニングを開始

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
!python -m spacy train \
    config.cfg \
    --output ./output \
    --paths.train ./train \
    --paths.dev ./dev

トレーニングが始まると、トレーニングrun のW&Bページへのリンクが出力され、このrun の実験管理ダッシュボードにWeights & BiasesのウェブUIでアクセスできます。