Skip to main content
spaCy는 빠르고 정확한 모델을 최소한의 수고로 사용할 수 있게 해주는, 널리 쓰이는 “프로덕션급” NLP 라이브러리입니다. spaCy v3부터는 W&B를 spacy train과 함께 사용해 spaCy 모델의 트레이닝 메트릭을 추적하고, 모델과 데이터셋을 저장하고 버전 관리할 수 있습니다. 필요한 것은 설정에 몇 줄만 추가하는 것뿐입니다.

가입하고 API 키 생성하기

API 키는 사용 중인 머신을 W&B에 인증하는 데 사용됩니다. 사용자 프로필에서 API 키를 생성할 수 있습니다.
더 간편하게 하려면 User Settings로 바로 이동해 API 키를 생성하세요. 새로 생성한 API 키는 즉시 복사해 비밀번호 관리자와 같은 안전한 위치에 저장하세요.
  1. 오른쪽 상단에서 사용자 프로필 아이콘을 클릭합니다.
  2. User Settings를 선택한 다음 API Keys 섹션까지 스크롤합니다.

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

로컬 환경에 wandb 라이브러리를 설치하고 로그인하려면 다음 단계를 따르세요.
  1. WANDB_API_KEY 환경 변수를 API 키로 설정합니다.
    export WANDB_API_KEY=<your_api_key>
    
  2. wandb 라이브러리를 설치하고 로그인합니다.
    pip install wandb
    
    wandb login
    

spaCy 설정 파일에 WandbLogger 추가하기

spaCy 설정 파일은 로깅뿐 아니라 GPU 할당, 옵티마이저 선택, 데이터셋 경로 등 트레이닝의 모든 측면을 지정하는 데 사용됩니다. 최소한 [training.logger] 아래에 값이 "spacy.WandbLogger.v3"인 키 @loggersproject_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
Name설명
project_namestr. W&B 프로젝트의 이름입니다. 아직 존재하지 않으면 프로젝트가 자동으로 생성됩니다.
remove_config_valuesList[str] . W&B에 업로드하기 전에 설정에서 제외할 값 목록입니다. 기본값은 []입니다.
model_log_intervalOptional int. 기본값은 None입니다. 설정하면 모델 버전 관리Artifacts와 함께 사용할 수 있습니다. 모델 체크포인트를 로깅하는 간격으로, 로깅 사이에 대기할 step 수를 지정합니다. 기본값은 None입니다.
log_dataset_dirOptional str. 경로를 전달하면 트레이닝 시작 시 데이터셋이 Artifact로 업로드됩니다. 기본값은 None입니다.
entityOptional str . 전달하면 지정한 entity에 run이 생성됩니다.
run_nameOptional str . 지정하면 해당 이름으로 run이 생성됩니다.

트레이닝 시작

spaCy 트레이닝 설정에 WandbLogger를 추가한 후에는 평소처럼 spacy train을 실행하면 됩니다.
python -m spacy train \
    config.cfg \
    --output ./output \
    --paths.train ./train \
    --paths.dev ./dev
트레이닝이 시작되면 트레이닝 run의 W&B 페이지로 연결되는 링크가 출력되며, 이 링크를 통해 W&B 웹 UI에서 해당 run의 실험 추적 대시보드로 이동할 수 있습니다.