You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Versions which worked:
sentence-transformers-3.0.1
transformers-4.44
fromsentence_transformersimportSentenceTransformerfromsentence_transformers.lossesimportMultipleNegativesRankingLossfromsentence_transformersimportSentenceTransformerTrainingArgumentsfromsentence_transformers.training_argsimportBatchSamplersfromsentence_transformersimportSentenceTransformerTrainermodel=SentenceTransformer(
"BAAI/bge-base-en-v1.5",
)
args=SentenceTransformerTrainingArguments(
# Required parameter:output_dir="bge-base-runs",
# Optional training parameters:max_steps=332,
per_device_train_batch_size=16,
per_device_eval_batch_size=16,
learning_rate=3e-6,
warmup_ratio=0.1,
fp16=True, # Set to False if you get an error that your GPU can't run on FP16bf16=False, # Set to True if you have a GPU that supports BF16batch_sampler=BatchSamplers.NO_DUPLICATES, # MultipleNegativesRankingLoss benefits from no duplicate samples in a batch# Optional tracking/debugging parameters:eval_strategy="steps",
eval_steps=20,
save_strategy="steps",
save_steps=100,
save_total_limit=2,
logging_steps=20,
)
loss=MultipleNegativesRankingLoss(model)
trainer=SentenceTransformerTrainer(
model=model,
args=args,
train_dataset=train_dataset,
eval_dataset=eval_dataset,
loss=loss,
)
trainer.train()
Error Trace:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[18], line 1
----> 1 trainer.train()
File /usr/local/lib/python3.10/dist-packages/transformers/trainer.py:2122, in Trainer.train(self, resume_from_checkpoint, trial, ignore_keys_for_eval, **kwargs)
2120 hf_hub_utils.enable_progress_bars()
2121 else:
-> 2122 return inner_training_loop(
2123 args=args,
2124 resume_from_checkpoint=resume_from_checkpoint,
2125 trial=trial,
2126 ignore_keys_for_eval=ignore_keys_for_eval,
2127 )
File /usr/local/lib/python3.10/dist-packages/transformers/trainer.py:2474, in Trainer._inner_training_loop(self, batch_size, args, resume_from_checkpoint, trial, ignore_keys_for_eval)
2471 self.control = self.callback_handler.on_step_begin(args, self.state, self.control)
2473 with self.accelerator.accumulate(model):
-> 2474 tr_loss_step = self.training_step(model, inputs, num_items_in_batch)
2476 if (
2477 args.logging_nan_inf_filter
2478 and not is_torch_xla_available()
2479 and (torch.isnan(tr_loss_step) or torch.isinf(tr_loss_step))
2480 ):
2481 # if loss is nan or inf simply add the average of previous logged losses
2482 tr_loss = tr_loss + tr_loss / (1 + self.state.global_step - self._globalstep_last_logged)
File /usr/local/lib/python3.10/dist-packages/transformers/trainer.py:3572, in Trainer.training_step(self, model, inputs, num_items_in_batch)
3569 return loss_mb.reduce_mean().detach().to(self.args.device)
3571 with self.compute_loss_context_manager():
-> 3572 loss = self.compute_loss(model, inputs, num_items_in_batch=num_items_in_batch)
3574 del inputs
3575 if (
3576 self.args.torch_empty_cache_steps is not None
3577 and self.state.global_step % self.args.torch_empty_cache_steps == 0
3578 ):
TypeError: SentenceTransformerTrainer.compute_loss() got an unexpected keyword argument 'num_items_in_batch'
@tomaarsen I'm not sure if I changed anything but I've been using the above code which works great so far but tried with newer versions today and faced this.
The text was updated successfully, but these errors were encountered:
TypeError: SentenceTransformerTrainer.compute_loss() got an unexpected keyword argument 'num_items_in_batch'
This error keeps popping up especially after Hugging Face made some major changes I am assuming after 4.44 where it was still working
Code snippet which worked fine earlier
Error Trace:
@tomaarsen I'm not sure if I changed anything but I've been using the above code which works great so far but tried with newer versions today and faced this.
The text was updated successfully, but these errors were encountered: