본문으로 건너뛰기

Hugging Face

여기에서 Colab 노트북으로 시도해보세요 →

Hugging Face 모델의 성능을 W&B 통합을 통해 쉽고 빠르게 시각화하세요.

모델 간 하이퍼파라미터, 출력 메트릭 및 GPU 사용량과 같은 시스템 상태를 비교하세요.

🤔 왜 W&B를 사용해야 하나요?

  • 통합 대시보드: 모든 모델 메트릭 및 예측값을 위한 중앙 저장소
  • 경량: Hugging Face와 통합하기 위해 코드 변경이 필요 없음
  • 접근성: 개인 및 학술 팀은 무료로 사용 가능
  • 보안: 모든 프로젝트는 기본적으로 비공개
  • 신뢰성: OpenAI, Toyota, Lyft 등의 기계학습 팀이 사용

W&B를 기계학습 모델을 위한 GitHub처럼 생각하세요 - 기계학습 실험을 개인 호스팅 대시보드에 저장하세요. 스크립트를 실행하는 위치에 관계없이 모델의 모든 버전이 저장되어 있으므로, 빠르게 실험할 수 있습니다.

W&B 경량 통합은 모든 Python 스크립트와 함께 작동하며, 무료 W&B 계정에 가입하기만 하면 모델 추적 및 시각화를 시작할 수 있습니다.

Hugging Face Transformers 저장소에서는 Trainer를 자동으로 W&B에 트레이닝 및 평가 메트릭을 각 로깅 단계마다 자동으로 로그하도록 조정했습니다.

통합 작동 방식에 대한 자세한 내용은 여기에서 확인하세요: Hugging Face + W&B 리포트.

🚀 설치, 가져오기 및 로그인

이 튜토리얼을 위한 Hugging Face 및 Weights & Biases 라이브러리, GLUE 데이터셋 및 트레이닝 스크립트를 설치하세요.

!pip install datasets wandb evaluate accelerate -qU
!wget https://raw.githubusercontent.com/huggingface/transformers/master/examples/pytorch/text-classification/run_glue.py
# run_glue.py 스크립트는 transformers dev가 필요합니다
!pip install -q git+https://github.com/huggingface/transformers

🖊️ 무료 계정에 가입하세요 →

🔑 API 키 입력

가입한 후, 다음 셀을 실행하고 링크를 클릭하여 API 키를 받아 이 노트북을 인증하세요.

import wandb
wandb.login()

선택적으로, W&B 로깅을 커스터마이징하기 위해 환경 변수를 설정할 수 있습니다. 문서를 참조하세요.

# 선택사항: 그레이디언트와 파라미터 모두 로그
%env WANDB_WATCH=all

👟 모델 트레이닝

다음으로, 다운로드한 트레이닝 스크립트 run_glue.py를 호출하고 트레이닝이 Weights & Biases 대시보드에 자동으로 추적되는 것을 확인하세요. 이 스크립트는 Microsoft Research Paraphrase Corpus에 BERT를 파인튜닝합니다 — 문장 쌍과 이들이 의미적으로 동등한지를 나타내는 인간의 주석이 포함되어 있습니다.

%env WANDB_PROJECT=huggingface-demo
%env TASK_NAME=MRPC

!python run_glue.py \
--model_name_or_path bert-base-uncased \
--task_name $TASK_NAME \
--do_train \
--do_eval \
--max_seq_length 256 \
--per_device_train_batch_size 32 \
--learning_rate 2e-4 \
--num_train_epochs 3 \
--output_dir /tmp/$TASK_NAME/ \
--overwrite_output_dir \
--logging_steps 50

👀 대시보드에서 결과 시각화

위에 출력된 링크를 클릭하거나, wandb.ai로 이동하여 실시간으로 결과가 스트리밍되는 것을 확인하세요. 모든 의존성이 로드된 후 브라우저에서 실행을 볼 수 있는 링크가 나타납니다 — 다음 출력을 찾으세요: "wandb: 🚀 런 보기 [고유한 런의 URL]"

모델 성능 시각화 수십 개의 실험을 쉽게 살펴보고, 흥미로운 발견한 내용에 확대하며, 고차원 데이터를 시각화할 수 있습니다.

아키텍처 비교 BERT 대 DistilBERT 비교의 예입니다 — 자동 선 그래프 시각화를 통해 트레이닝 중에 다른 아키텍처가 평가 정확도에 어떤 영향을 미치는지 쉽게 볼 수 있습니다.

📈 기본적으로 핵심 정보를 쉽게 추적

Weights & Biases는 각 실험마다 새로운 런을 저장합니다. 기본적으로 저장되는 정보는 다음과 같습니다:

  • 하이퍼파라미터: 모델 설정은 Config에 저장됩니다
  • 모델 메트릭: 메트릭의 시계열 데이터는 Log에 저장됩니다
  • 터미널 로그: 커맨드라인 출력은 탭에서 사용할 수 있도록 저장됩니다
  • 시스템 메트릭: GPU 및 CPU 사용량, 메모리, 온도 등

🤓 더 알아보기!

  • 문서: Weights & Biases와 Hugging Face 통합에 대한 문서
  • 비디오: 우리의 YouTube 채널에서 튜토리얼, 실무자와의 인터뷰 등
  • 문의: contact@wandb.com으로 질문 보내기
Was this page helpful?👍👎