
419
16
장
사용자 정의 데이터와 함께 LLM 사용하기
16.2.5
훈련 중 평가
테스트 세트를 준비했으므로 훈련 과정에서 모델의 성능을 평가할 수 있습니다. 각 에폭에서
정방향 계산과 역방향 계산이 완료되어 모델 파라미터가 수정되면 모델을 평가 모드로 바꾸고
테스트 데이터를 전달하여 추론을 수행합니다. 또한 추론 결과를 실제 레이블과 비교하여 정확
도를 계산합니다.
model.eval()
val_accuracy = []
total_val_loss = 0
이전 코드와 비슷하지만 이번에는 테스트 세트의 배치를 읽어 레이블과 함께 전달해 출력을 얻
습니다. 그다음 예측을 만들고 손실 값을 계산합니다.
with torch.no_grad():
for batch in tqdm(eval_dataloader, desc='Validating'):
batch = {k: v.to(device) for k, v in batch.items()}
labels = batch.pop('label')
outputs = model(**batch, labels=labels)
total_val_loss += outputs.loss.item()
predictions = torch.argmax(outputs.logits, dim=-1)
val_accuracy.extend((