{"record":{"id":"f0dc7c952d773b36","repo":"hiyouga/LlamaFactory","slug":"mismatched-shape-of-inputs-and-labels","errorCode":null,"errorMessage":"Mismatched shape of inputs and labels.","messagePattern":"Mismatched shape of inputs and labels\\.","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"src/llamafactory/train/kto/trainer.py","lineNumber":192,"sourceCode":"            model_inputs[\"aspect_ratio_mask\"] = batch[\"aspect_ratio_mask\"]\n\n        if f\"{prefix}cross_attention_mask\" in batch:\n            model_inputs[\"cross_attention_mask\"] = batch[f\"{prefix}cross_attention_mask\"]\n\n        logits = model(**model_inputs, return_dict=True, use_cache=False).logits.to(torch.float32)\n        logps, valid_length = get_batch_logps(logits=logits, labels=batch[f\"{prefix}labels\"])\n        return logits, logps, logps / valid_length\n\n    @override\n    def concatenated_forward(\n        self, model: \"PreTrainedModel\", batch: dict[str, \"torch.Tensor\"]\n    ) -> tuple[\"torch.Tensor\", \"torch.Tensor\", \"torch.Tensor\", \"torch.Tensor\", \"torch.Tensor\", \"torch.Tensor\"]:\n        target_logits, target_logps, target_logps_avg = self.forward(model, batch)\n        with torch.no_grad():\n            _, kl_logps, _ = self.forward(model, batch, prefix=\"kl_\")\n\n        if len(target_logps) != len(batch[\"kto_tags\"]):\n            raise ValueError(\"Mismatched shape of inputs and labels.\")\n\n        chosen_logits = target_logits[batch[\"kto_tags\"]]\n        chosen_logps = target_logps[batch[\"kto_tags\"]]\n        rejected_logits = target_logits[~batch[\"kto_tags\"]]\n        rejected_logps = target_logps[~batch[\"kto_tags\"]]\n        chosen_logps_avg = target_logps_avg[batch[\"kto_tags\"]]\n        return chosen_logps, rejected_logps, chosen_logits, rejected_logits, kl_logps, chosen_logps_avg\n\n    @override\n    def compute_reference_log_probs(\n        self, model: \"PreTrainedModel\", batch: dict[str, \"torch.Tensor\"]\n    ) -> tuple[\"torch.Tensor\", \"torch.Tensor\", \"torch.Tensor\"]:\n        r\"\"\"Compute log probabilities of the reference model.\"\"\"\n        if self.ref_model is None:\n            ref_model = model\n            ref_context = self.accelerator.unwrap_model(model).disable_adapter()\n        else:\n            ref_model = self.ref_model","sourceCodeStart":174,"sourceCodeEnd":210,"githubUrl":"https://github.com/hiyouga/LlamaFactory/blob/f28afaf6355af515454dfb16c97d728307c93897/src/llamafactory/train/kto/trainer.py#L174-L210","documentation":"Error \"Mismatched shape of inputs and labels.\" thrown in hiyouga/LlamaFactory.","triggerScenarios":"Thrown at src/llamafactory/train/kto/trainer.py:192 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Ensure each KTO batch contains exactly one kto_tag label per input sample; check that the dataset uses the KTO format (single response with a boolean kto_tag) and is not truncated or padded inconsistently."],"exampleFix":"# dataset sample\n{\"messages\": [...], \"kto_tag\": true}","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"f28afaf6355af515454dfb16c97d728307c93897","analyzedAt":"2026-08-14T21:57:28.298Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}