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

> 대규모 트레이닝과 추론을 단순하고 효율적이며 유연하게

# Hugging Face Accelerate

Hugging Face Accelerate는 동일한 PyTorch 코드를 어떤 분산 설정에서든 실행할 수 있게 해 주어, 대규모 모델 트레이닝과 추론을 단순화하는 라이브러리입니다.

Accelerate에는 W\&B Tracker가 포함되어 있습니다. 이 페이지에서는 W\&B Tracker를 사용해 분산 트레이닝 run의 메트릭, 설정, 아티팩트를 W\&B에 로깅하는 방법을 설명합니다. 자세한 내용은 [Hugging Face의 Accelerate Trackers](https://huggingface.co/docs/accelerate/main/en/usage_guides/tracking)를 참조하세요.

<h2 id="start-logging-with-accelerate">
  Accelerate로 로깅 시작하기
</h2>

이 섹션에서는 트레이닝 중 W\&B에 실험 데이터를 로깅하도록 Accelerate를 설정하는 방법을 보여줍니다. Accelerate와 W\&B를 시작하려면 다음 의사 코드를 따르세요.

```python theme={"system"}
from accelerate import Accelerator

# Accelerator 객체가 wandb로 로깅하도록 지시합니다
accelerator = Accelerator(log_with="wandb")

# wandb run을 초기화하고, wandb 매개변수와 설정 정보를 전달합니다
accelerator.init_trackers(
    project_name="my_project", 
    config={"dropout": 0.1, "learning_rate": 1e-2},
    init_kwargs={"wandb": {"entity": "my-wandb-team"}}
    )

...

# accelerator.log()를 호출하여 wandb에 로깅합니다. step은 선택 사항입니다
accelerator.log({"train_loss": 1.12, "valid_loss": 0.8}, step=global_step)


# wandb tracker가 올바르게 종료되도록 합니다
accelerator.end_training()
```

더 자세히:

1. `Accelerator` 클래스를 초기화할 때 `log_with="wandb"`를 전달하세요.
2. [`init_trackers`](https://huggingface.co/docs/accelerate/main/en/package_reference/accelerator#accelerate.Accelerator.init_trackers) 방법을 호출하고 다음을 전달하세요:
   * `project_name`을 통해 프로젝트 이름.
   * `init_kwargs`에 중첩된 dict로 [`wandb.init()`](/ko/products/wandb/ref/python/functions/init)에 전달할 매개변수.
   * `config`를 통해 wandb run에 로깅할 다른 실험 설정 정보.
3. W\&B에 로깅하려면 `wandb.Run.log()` 방법을 사용하세요. `step` 인수는 선택 사항입니다.
4. 트레이닝이 끝나면 `.end_training()`을 호출하세요.

<h2 id="access-the-wb-tracker">
  W\&B tracker 액세스
</h2>

Accelerate가 W\&B에 로깅하면, tracker가 노출하지 않는 아티팩트, 맞춤형 차트 또는 기타 데이터를 로깅하기 위해 기본 W\&B run 객체에 직접 액세스하고 싶을 수 있습니다. W\&B tracker에 액세스하려면 `Accelerator.get_tracker()` 방법을 사용하세요. tracker의 `.name` 속성에 해당하는 문자열을 전달하면 `main` 프로세스의 tracker를 반환합니다.

```python theme={"system"}
wandb_tracker = accelerator.get_tracker("wandb")

```

이제 평소처럼 `wandb` run 객체를 사용할 수 있습니다.

```python theme={"system"}
wandb_tracker.log_artifact(some_artifact_to_log)
```

<Warning>
  Accelerate에 내장된 tracker는 올바른 프로세스에서 자동으로 실행되므로, tracker가 메인 프로세스에서만 실행해야 하는 경우 자동으로 그렇게 됩니다.

  Accelerate의 래핑을 완전히 제거하려면 다음 방법으로 동일한 결과를 얻을 수 있습니다:

  ```python theme={"system"}
  wandb_tracker = accelerator.get_tracker("wandb", unwrap=True)
  with accelerator.on_main_process:
      wandb_tracker.log_artifact(some_artifact_to_log)
  ```
</Warning>

<h2 id="accelerate-articles">
  Accelerate 아티클
</h2>

W\&B와 함께 Accelerate를 사용하는 방법을 자세히 설명하는 워크스루는 다음 아티클을 참조하세요.

<details>
  <summary>HuggingFace Accelerate Super Charged With W\&B</summary>

  이 아티클에서는 HuggingFace Accelerate가 제공하는 기능을 살펴보고, 결과를 W\&B에 로깅하면서 분산 트레이닝과 평가를 수행하는 방법을 알아봅니다.

  [Hugging Face Accelerate Super Charged with W\&B 리포트](https://wandb.ai/gladiator/HF%20Accelerate%20+%20W\&B/reports/Hugging-Face-Accelerate-Super-Charged-with-Weights-Biases--VmlldzoyNzk3MDUx?utm_source=docs\&utm_medium=docs\&utm_campaign=accelerate-docs)를 조회하세요.
</details>

<br />

<br />
