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)
          )

  1. wandb 가입
  2. project 안에 프로젝트 이름 넣고 코드 실행 후 나의 api key를 넣으면 된다.
  3. 밑의 training_args 안에 report_to =”wandb”
  4. 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()]
)

실행하면, 밑의 그림 처럼 실시간으로 학습 상황을 그려준다.

image 원래는 loss와 acc 등을 저장한 후 학습이 다 끝난 후에 직접 plot 해서 확인했던 것을 실시간으로 추적할 수 있게 되었다.