diff --git a/src/llmtuner/data/template.py b/src/llmtuner/data/template.py index 631c79c1..0b2ca0e6 100644 --- a/src/llmtuner/data/template.py +++ b/src/llmtuner/data/template.py @@ -859,7 +859,7 @@ _register_template( _register_template( name="yivl", format_user=StringFormatter(slots=["### Human: {{content}}\n### Assistant:"]), - format_assistant=StringFormatter(slots=[" {{content}}"]), + format_assistant=StringFormatter(slots=[" {{content}}\n"]), stop_words=["###"], default_system=( "This is a chat between an inquisitive human and an AI assistant. " diff --git a/src/llmtuner/model/utils/visual.py b/src/llmtuner/model/utils/visual.py index 79a6570e..8553cf86 100644 --- a/src/llmtuner/model/utils/visual.py +++ b/src/llmtuner/model/utils/visual.py @@ -29,7 +29,8 @@ def autocast_projector_dtype( ) -> "torch.Tensor": return output.to(model_args.compute_dtype) - if hasattr(model, mm_projector_name) and getattr(model.config, "quantization_method", None): + if hasattr(model, mm_projector_name) and (getattr(model.config, "quantization_method", None) + or "Yi" in getattr(model.config.text_config, "_name_or_path", None)): logger.info("Casting multimodal projector outputs in {}.".format(model_args.compute_dtype)) mm_projector: "torch.nn.Module" = getattr(model, mm_projector_name) mm_projector.register_forward_hook(_mm_projector_forward_post_hook)