wandb을 활용한 학습 진행사항 확인 - Songwooseok123/Study_Space GitHub Wiki
!pip install wandb
import wandb
from transformers.integrations import WandbCallback
wandb.init(project="llama-Full-Fine-Tuning",
#entity="wooseoksong",
settings=wandb.Settings(init_timeout=120)
)
- wandb 가입
- project 안에 프로젝트 이름 넣고 코드 실행 후 나의 api key를 넣으면 된다.
- 밑의 training_args 안에 report_to =”wandb”
- trainer 안에 callbacks = [WandbCallback()]
training_args = TrainingArguments(
output_dir="llama_results",
run_name="llama_f",
num_train_epochs=10 ,
#max_steps=800,
per_device_train_batch_size=2,
per_device_eval_batch_size=2,
warmup_steps=0,
weight_decay=0.01,
learning_rate=2e-4,
logging_dir="logs",
logging_steps=100,
save_steps = 1000,
report_to="wandb",
)
trainer = Trainer(
args=training_args,
model=model,
tokenizer=tokenizer,
data_collator=collator,
train_dataset=train_dataset_sampled,
eval_dataset=tokenized_sample_dataset["test"],
preprocess_logits_for_metrics=preprocess_logits_for_metrics,
compute_metrics=compute_metrics,
callbacks=[WandbCallback()]
)
실행하면, 밑의 그림 처럼 실시간으로 학습 상황을 그려준다.
원래는 loss와 acc 등을 저장한 후 학습이 다 끝난 후에 직접 plot 해서 확인했던 것을 실시간으로 추적할 수 있게 되었다.