chunk_content:       optimizer.zero_grad()
  
      model.eval()
      eval_loss = 0
      eval_preds = []
      for step, batch in enumerate(tqdm(eval_dataloader)):
          batch = {k: v.to(device) for k, v in batch.items()}
          with torch.no_grad():
              outputs = model(**batch)
          loss = outputs.loss
          eval_loss += loss.detach().float()
          eval_preds.extend(
              tokenizer.batch_decode(torch.argmax(outputs.logits, -1).detach().cpu()