> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wandb.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# spaCy

> W&B를 spaCy v3와 통합하여 트레이닝 메트릭을 추적하고 WandbLogger 설정을 통해 모델과 데이터셋을 버전 관리하세요.

[spaCy](https://spacy.io)는 빠르고 정확한 모델을 최소한의 수고로 사용할 수 있게 해주는, 널리 쓰이는 "프로덕션급" NLP 라이브러리입니다. spaCy v3부터는 W\&B를 [`spacy train`](https://spacy.io/api/cli#train)과 함께 사용해 spaCy 모델의 트레이닝 메트릭을 추적하고, 모델과 데이터셋을 저장하고 버전 관리할 수 있습니다. 필요한 것은 설정에 몇 줄만 추가하는 것뿐입니다.

<div id="sign-up-and-create-an-api-key">
  ## 가입하고 API 키 생성하기
</div>

API 키는 사용 중인 머신을 W\&B에 인증하는 데 사용됩니다. 사용자 프로필에서 API 키를 생성할 수 있습니다.

<Note>
  더 간편하게 하려면 [User Settings](https://wandb.ai/settings)로 이동해 API 키를 생성하세요. API 키는 즉시 복사해 비밀번호 관리자와 같은 안전한 위치에 저장하세요.
</Note>

1. 오른쪽 상단에서 사용자 프로필 아이콘을 클릭합니다.
2. **User Settings**를 선택한 다음 **API Keys** 섹션까지 스크롤합니다.

<div id="install-the-wandb-library-and-log-in">
  ## `wandb` 라이브러리 설치 및 로그인
</div>

로컬 환경에 `wandb` 라이브러리를 설치하고 로그인하려면 다음 단계를 따르세요.

<Tabs>
  <Tab title="명령줄">
    1. `WANDB_API_KEY` [환경 변수](/ko/models/track/environment-variables/)를 API 키로 설정합니다.

       ```bash theme={null}
       export WANDB_API_KEY=<your_api_key>
       ```

    2. `wandb` 라이브러리를 설치하고 로그인합니다.

       ```shell theme={null}
       pip install wandb

       wandb login
       ```
  </Tab>

  <Tab title="Python">
    ```bash theme={null}
    pip install wandb
    ```

    ```python theme={null}
    import wandb
    wandb.login()
    ```
  </Tab>

  <Tab title="Python 노트북">
    ```notebook theme={null}
    !pip install wandb

    import wandb
    wandb.login()
    ```
  </Tab>
</Tabs>

<div id="add-the-wandblogger-to-your-spacy-config-file">
  ## spaCy 설정 파일에 `WandbLogger` 추가하기
</div>

spaCy 설정 파일은 로깅뿐 아니라 GPU 할당, 옵티마이저 선택, 데이터셋 경로 등 트레이닝의 모든 측면을 지정하는 데 사용됩니다. 최소한 `[training.logger]` 아래에 값이 `"spacy.WandbLogger.v3"`인 키 `@loggers`와 `project_name`을 지정해야 합니다.

<Note>
  spaCy 트레이닝 설정 파일의 작동 방식과 트레이닝을 사용자 지정할 때 전달할 수 있는 다른 옵션에 관해 더 알아보려면 [spaCy 문서](https://spacy.io/usage/training)를 확인하세요.
</Note>

```python theme={null}
[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_name`         | `str`. W\&B 프로젝트의 이름입니다. 아직 존재하지 않으면 프로젝트가 자동으로 생성됩니다.                                                                                                                                   |
| `remove_config_values` | `List[str]` . W\&B에 업로드하기 전에 설정에서 제외할 값 목록입니다. 기본값은 `[]`입니다.                                                                                                                             |
| `model_log_interval`   | `Optional int`. 기본값은 `None`입니다. 설정하면 [모델 버전 관리](/ko/models/registry/)를 [Artifacts](/ko/models/artifacts/)와 함께 사용할 수 있습니다. 모델 체크포인트를 로깅하는 간격으로, 로깅 사이에 대기할 step 수를 지정합니다. 기본값은 `None`입니다. |
| `log_dataset_dir`      | `Optional str`. 경로를 전달하면 트레이닝 시작 시 데이터셋이 Artifact로 업로드됩니다. 기본값은 `None`입니다.                                                                                                               |
| `entity`               | `Optional str` . 전달하면 지정한 entity에 run이 생성됩니다.                                                                                                                                            |
| `run_name`             | `Optional str` . 지정하면 해당 이름으로 run이 생성됩니다.                                                                                                                                                |

<div id="start-training">
  ## 트레이닝 시작
</div>

spaCy 트레이닝 설정에 `WandbLogger`를 추가한 후에는 평소처럼 `spacy train`을 실행하면 됩니다.

<Tabs>
  <Tab title="명령줄">
    ```python theme={null}
    python -m spacy train \
        config.cfg \
        --output ./output \
        --paths.train ./train \
        --paths.dev ./dev
    ```
  </Tab>

  <Tab title="Python">
    ```python theme={null}
    python -m spacy train \
        config.cfg \
        --output ./output \
        --paths.train ./train \
        --paths.dev ./dev
    ```
  </Tab>

  <Tab title="Python 노트북">
    ```notebook theme={null}
    !python -m spacy train \
        config.cfg \
        --output ./output \
        --paths.train ./train \
        --paths.dev ./dev
    ```
  </Tab>
</Tabs>

트레이닝이 시작되면 트레이닝 run의 [W\&B 페이지](/ko/models/runs/)로 연결되는 링크가 출력되며, 이 링크를 통해 W\&B 웹 UI에서 해당 run의 실험 추적 [대시보드](/ko/models/track/workspaces/)로 이동할 수 있습니다.
