spaCy

spaCy는 빠르고 정확한 모델을 간편하게 사용할 수 있도록 하는 유명한 “산업용” NLP 라이브러리입니다. spaCy v3부터는 Weights & Biases를 spacy train과 함께 사용하여 spaCy 모델의 트레이닝 메트릭을 추적하고 모델과 데이터셋을 저장 및 버저닝할 수 있습니다. 설정에 몇 줄만 추가하면 됩니다.

가입하고 API 키 만들기

API 키는 사용자의 머신이 W&B에 인증되도록 합니다. 사용자 프로필에서 API 키를 생성할 수 있습니다.

  1. 오른쪽 상단 모서리에 있는 사용자 프로필 아이콘을 클릭합니다.
  2. User Settings를 선택한 다음 API Keys 섹션으로 스크롤합니다.
  3. Reveal을 클릭합니다. 표시된 API 키를 복사합니다. API 키를 숨기려면 페이지를 새로 고칩니다.

wandb 라이브러리 설치 및 로그인

wandb 라이브러리를 로컬에 설치하고 로그인하려면 다음을 수행합니다.

  1. API 키로 WANDB_API_KEY 환경 변수를 설정합니다.

    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()

spaCy 설정 파일에 WandbLogger 추가

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 Project의 이름입니다. 아직 존재하지 않으면 프로젝트가 자동으로 생성됩니다.
remove_config_values List[str] . W&B에 업로드하기 전에 설정에서 제외할 값의 목록입니다. 기본적으로 []입니다.
model_log_interval Optional int. 기본적으로 None입니다. 설정되면 Artifacts를 사용하여 모델 버전 관리를 활성화합니다. 모델 체크포인트를 로깅하는 사이의 단계 수를 전달합니다. 기본적으로 None입니다.
log_dataset_dir Optional str. 경로가 전달되면 트레이닝 시작 시 데이터셋이 Artifact로 업로드됩니다. 기본적으로 None입니다.
entity Optional str . 전달되면 지정된 엔터티에 run이 생성됩니다.
run_name Optional str . 지정되면 지정된 이름으로 run이 생성됩니다.

트레이닝 시작

spaCy 트레이닝 설정에 WandbLogger를 추가했으면 평소와 같이 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 page 링크가 출력되어 Weights & Biases 웹 UI에서 이 run의 실험 추적 대시보드로 이동합니다.