From bcf4fd6bd3e912a6f4a93a060367bd1d8de07256 Mon Sep 17 00:00:00 2001 From: Roland Tannous <115670425+rolandtannous@users.noreply.github.com> Date: Thu, 9 Apr 2026 23:36:42 +0400 Subject: [PATCH] =?UTF-8?q?updated=20models=20template=20mappers.=20added?= =?UTF-8?q?=20lfm2.5vl450m=20to=20transformers=205=E2=80=A6=20(#4939)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * updated models template mappers. added lfm2.5vl450m to transformers 5.3.0 whitelist * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .../backend/utils/datasets/model_mappings.py | 33 +++++++++++++++++++ studio/backend/utils/transformers_version.py | 1 + unsloth/models/mapper.py | 33 +++++++++++++++++++ unsloth/ollama_template_mappers.py | 6 ++-- 4 files changed, 69 insertions(+), 4 deletions(-) diff --git a/studio/backend/utils/datasets/model_mappings.py b/studio/backend/utils/datasets/model_mappings.py index 95b4791574..bcd4f4fc01 100644 --- a/studio/backend/utils/datasets/model_mappings.py +++ b/studio/backend/utils/datasets/model_mappings.py @@ -215,6 +215,21 @@ TEMPLATE_TO_MODEL_MAPPER = { "google/gemma-3n-E2B-it", "unsloth/gemma-3n-E2B-it-unsloth-bnb-4bit", ), + "gemma-4": ( + "unsloth/gemma-4-E2B-it", + "google/gemma-4-E2B-it", + "unsloth/gemma-4-E4B-it", + "google/gemma-4-E4B-it", + "unsloth/gemma-4-E2B-it-unsloth-bnb-4bit", + "unsloth/gemma-4-E4B-it-unsloth-bnb-4bit", + ), + "gemma-4-thinking": ( + "unsloth/gemma-4-26B-A4B-it", + "google/gemma-4-26B-A4B-it", + "unsloth/gemma-4-31B-it", + "unsloth/gemma-4-31B-it-unsloth-bnb-4bit", + "google/gemma-4-31B-it", + ), "qwen2.5": ( "unsloth/Qwen2.5-0.5B-Instruct-unsloth-bnb-4bit", "unsloth/Qwen2.5-0.5B-Instruct", @@ -399,6 +414,12 @@ TEMPLATE_TO_MODEL_MAPPER = { "THUDM/GLM-4.7-Flash", "unsloth/GLM-4.7-Flash-bnb-4bit", ), + "lfm-2": ( + "unsloth/LFM2-1.2B", + "LiquidAI/LFM2-1.2B", + "unsloth/LFM2-1.2B-unsloth-bnb-4bit", + ), + "lfm-2.5": ("unsloth/LFM2.5-1.2B-Instruct",), } MODEL_TO_TEMPLATE_MAPPER = {} @@ -414,6 +435,14 @@ for key, values in TEMPLATE_TO_MODEL_MAPPER.items(): TEMPLATE_TO_RESPONSES_MAPPER = { + "gemma-4-thinking": { + "instruction": "<|turn>user\n", + "response": "<|turn>model\n", + }, + "gemma-4": { + "instruction": "<|turn>user\n", + "response": "<|turn>model\n", + }, "gemma-3": { "instruction": "user\n", "response": "model\n", @@ -514,6 +543,10 @@ TEMPLATE_TO_RESPONSES_MAPPER = { "instruction": "<|im_start|>user\n", "response": "<|im_start|>assistant\n", }, + "lfm-2.5": { + "instruction": "<|im_start|>user\n", + "response": "<|im_start|>assistant\n", + }, "starling": { "instruction": "GPT4 Correct User: ", "response": "GPT4 Correct Assistant: ", diff --git a/studio/backend/utils/transformers_version.py b/studio/backend/utils/transformers_version.py index 0c13b5455b..36c3a4c22d 100644 --- a/studio/backend/utils/transformers_version.py +++ b/studio/backend/utils/transformers_version.py @@ -52,6 +52,7 @@ TRANSFORMERS_5_MODEL_SUBSTRINGS: tuple[str, ...] = ( "qwen3.5", # Qwen3.5 family (35B-A3B, etc.) "qwen3-next", # Qwen3-Next and variants "tiny_qwen3_moe", # imdatta0/tiny_qwen3_moe_2.8B_0.7B + "lfm2.5-vl-450m", # LiquidAI/LFM2.5-VL-450M ) # Lowercase substrings for models that require transformers 5.5.0 (checked first). diff --git a/unsloth/models/mapper.py b/unsloth/models/mapper.py index f0f430eb7e..f0b6737246 100644 --- a/unsloth/models/mapper.py +++ b/unsloth/models/mapper.py @@ -22,6 +22,39 @@ __all__ = [ __INT_TO_FLOAT_MAPPER = \ { + "unsloth/gemma-4-E2B-it-unsloth-bnb-4bit" : ( + "unsloth/gemma-4-E2B-it", + "google/gemma-4-E2B-it", + ), + "unsloth/gemma-4-E4B-it-unsloth-bnb-4bit" : ( + "unsloth/gemma-4-E4B-it", + "google/gemma-4-E4B-it", + ), + "unsloth/gemma-4-26B-A4B-it" : ( + "unsloth/gemma-4-26B-A4B-it", + "google/gemma-4-26B-A4B-it", + ), + "unsloth/gemma-4-31B-it" : ( + "unsloth/gemma-4-31B-it", + "google/gemma-4-31B-it", + ), + "unsloth/gemma-4-E2B" : ( + "unsloth/gemma-4-E2B", + "google/gemma-4-E2B", + ), + "unsloth/gemma-4-E4B" : ( + "unsloth/gemma-4-E4B", + "google/gemma-4-E4B", + ), + "unsloth/gemma-4-26B-A4B" : ( + "unsloth/gemma-4-26B-A4B", + "google/gemma-4-26B-A4B", + ), + "unsloth/gemma-4-31B" : ( + "unsloth/gemma-4-31B", + "google/gemma-4-31B", + ), + "unsloth/mistral-7b-bnb-4bit" : ( "unsloth/mistral-7b", "mistralai/Mistral-7B-v0.1", diff --git a/unsloth/ollama_template_mappers.py b/unsloth/ollama_template_mappers.py index 728b08813a..e3eb7f0735 100644 --- a/unsloth/ollama_template_mappers.py +++ b/unsloth/ollama_template_mappers.py @@ -1978,13 +1978,11 @@ OLLAMA_TEMPLATE_TO_MODEL_MAPPER = { ), "gemma4": ( "unsloth/gemma-4-E2B-it", - "unsloth/gemma-4-E2B", + "unsloth/gemma-4-E2B-it-unsloth-bnb-4bit", "unsloth/gemma-4-E4B-it", - "unsloth/gemma-4-E4B", + "unsloth/gemma-4-E4B-it-unsloth-bnb-4bit", "unsloth/gemma-4-31B-it", - "unsloth/gemma-4-31B", "unsloth/gemma-4-26B-A4B-it", - "unsloth/gemma-4-26B-A4B", ), "gemma3n": ( "unsloth/gemma-3n-E4B-it-unsloth-bnb-4bit",