To print accuracy alongside validation loss during training, define a compute_metrics function that calculates accuracy, and pass it to the SFTTrainer via the compute_metrics argument. For binary classification (yes/no), you can use scikit-learn's accuracy_score as shown below:
from sklearn.metrics import accuracy_score
def compute_metrics(eval_pred):
logits, labels = eval_pred
preds = logits.argmax(axis=-1)
return {"accuracy": accuracy_score(labels, preds)}
Then, add compute_metrics=compute_metrics to your SFTTrainer initialization. This approach is demonstrated in Unsloth's official BERT classification examples (see here).
Would you like a full code example or more details?
Sources:
💡 **Hint:** Mention @RunLLM in the thread for followups.