From 4af624557fbcc14e248daeb9709ce5a81c3070ca Mon Sep 17 00:00:00 2001 From: Daniel Han Date: Mon, 15 Sep 2025 01:55:24 -0700 Subject: [PATCH] Bug fixes (#3322) * Fix mamba * Update loader.py * Update vision.py * Update loader.py * Filter vLLM standby logs (#3131) * filter vLLM standby logs * safeguard standby logger patch * Update unsloth/models/_utils.py * Update unsloth/models/_utils.py * Update unsloth/models/_utils.py --------- Co-authored-by: Daniel Han * Update loader.py * Add scaler * Update llama.py * Update _utils.py * Versioning * GPT OSS fix * GPT OSS fix * Update loader.py * Update vision.py * Update vision.py * Update loader.py * Update vision.py * Update vision.py * Update llama.py * Update llama.py * Update llama.py * Versioning * Update mapper.py * Update vision.py * Update vision.py * Update vision.py * Upcast norms * Update loader.py * Update vision.py * Upcast layernorms * Update llama.py * Update llama.py * Update llama.py * Update llama.py * Update llama.py * Update llama.py * Update save.py * Update rl.py * Update pyproject.toml * Update rl.py * Update rl_replacements.py * Update rl.py * Update rl.py * Update rl.py * Update _utils.py * Update __init__.py * Torch 2.8 * Update rl_replacements.py * Update loader.py * UNSLOTH_ENABLE_CCE * Fix * Update loader.py * Update loader.py * Update __init__.py * Update __init__.py * Update __init__.py * Update __init__.py * Import fixes * Update loader.py * Fix aimv2 issue * Update loader.py * Update import_fixes.py * Update import_fixes.py * Update loader.py * Update loader.py * Update loader.py * Upgrade * Update loader.py * Update loader.py * Update loader.py * Update loader.py * Update vision.py * Update vision.py * custom_datatype * recheck * Float16 * Update vision.py * Update vision.py * Update vision.py * Update vision.py * Update vision.py * Update loader.py * Update loader.py * Update loader.py * Update loader.py * Update loader.py * Update loader.py * Update loader.py * Update loader.py * Update loader.py * Update loader.py * Update loader.py * Update loader.py * Update loader.py * Update loader.py * Update loader.py * Update loader.py * Update loader.py * Update loader.py * Bug fix * Update loader.py * Update loader.py * Update loader.py * Update loader.py * Update loader.py * torch_dtype * Update rl.py * Fix CE Loss * Versioning * Update loader.py * Update loader.py * extract_model_type_from_config * Model types * Update loader.py * get_transformers_model_type * Update loader.py * Update loader.py * Update loader.py * Update rl.py * Update pyproject.toml * Update loader.py * Update loader.py * Update loader.py * Update loader.py * Versioning * Update _utils.py * Update _utils.py * Update _utils.py * Update _utils.py --------- Co-authored-by: Datta Nimmaturi --- pyproject.toml | 4 ++-- unsloth/__init__.py | 2 +- unsloth/models/_utils.py | 25 ++++++++++++++++++++----- unsloth/models/loader.py | 3 ++- 4 files changed, 25 insertions(+), 9 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index d77683c00a..8df936f807 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -37,7 +37,7 @@ triton = [ ] huggingface = [ - "unsloth_zoo>=2025.9.5", + "unsloth_zoo>=2025.9.6", "packaging", "tyro", "transformers>=4.51.3,!=4.52.0,!=4.52.1,!=4.52.2,!=4.52.3,!=4.53.0,!=4.54.0,!=4.55.0,!=4.55.1", @@ -453,7 +453,7 @@ colab-ampere-torch220 = [ "flash-attn>=2.6.3", ] colab-new = [ - "unsloth_zoo>=2025.9.5", + "unsloth_zoo>=2025.9.6", "packaging", "tyro", "transformers>=4.51.3,!=4.47.0,!=4.52.0,!=4.52.1,!=4.52.2,!=4.52.3,!=4.53.0,!=4.54.0,!=4.55.0,!=4.55.1", diff --git a/unsloth/__init__.py b/unsloth/__init__.py index 8255e505a8..1be571b69b 100644 --- a/unsloth/__init__.py +++ b/unsloth/__init__.py @@ -240,7 +240,7 @@ elif DEVICE_TYPE == "xpu": # Check for unsloth_zoo try: unsloth_zoo_version = importlib_version("unsloth_zoo") - if Version(unsloth_zoo_version) < Version("2025.9.5"): + if Version(unsloth_zoo_version) < Version("2025.9.6"): print( "Unsloth: Please update Unsloth and Unsloth-Zoo to the latest version!\n"\ "Do this via `pip install --upgrade --force-reinstall --no-cache-dir --no-deps unsloth unsloth_zoo`" diff --git a/unsloth/models/_utils.py b/unsloth/models/_utils.py index e3ac56ac83..a559d34ca4 100644 --- a/unsloth/models/_utils.py +++ b/unsloth/models/_utils.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "2025.9.4" +__version__ = "2025.9.5" __all__ = [ "SUPPORTS_BFLOAT16", @@ -84,7 +84,7 @@ import warnings, subprocess, re, inspect, psutil, os, math from unsloth_zoo.utils import Version from importlib.metadata import version as importlib_version from unsloth import DEVICE_TYPE, DEVICE_COUNT - +from unsloth_zoo.log import logger from unsloth_zoo.tokenizer_utils import ( patch_tokenizer as _patch_tokenizer, ) @@ -608,12 +608,25 @@ elif DEVICE_TYPE == "hip": elif DEVICE_TYPE == "xpu": SUPPORTS_BFLOAT16 = True -from transformers.models.llama.modeling_llama import logger - # ============================================= # Get Xformers try: from xformers import __version__ as xformers_version + # [TODO] Xformers does NOT work on RTX 50x (12), B200 (10), Jetson (11) + # See https://github.com/facebookresearch/xformers/issues/1329 + # CUDA error (/workspace/xfrm2/third_party/flash-attention/hopper/flash_fwd_launch_template.h:188) + major_version, minor_version = torch.cuda.get_device_capability() + if ( + (f"{major_version}.{minor_version}" in ("10.0", "11.0", "12.0")) and \ + (Version(xformers_version) in (Version("0.0.32.post2"),)) + ): + raise NotImplementedError( + "Unsloth: Xformers does not work in RTX 50X, Blackwell GPUs as of yet. Please build from source via\n"\ + "```\n"\ + "pip install ninja\n"\ + "pip install -v --no-build-isolation -U git+https://github.com/facebookresearch/xformers.git@main#egg=xformers\n"\ + "```\n" + ) # Temporarily disable 0.0.27 and higher - inference issues if False: #Version(xformers_version) >= Version("0.0.27"): raise ImportError( @@ -661,7 +674,9 @@ try: pass import xformers.ops.fmha as xformers xformers_attention = xformers.memory_efficient_attention -except: +except Exception as e: + print("========\nSwitching to SDPA PyTorch native attention which is slightly slower.\n========\n") + print(str(e)) xformers = None xformers_attention = None xformers_version = None diff --git a/unsloth/models/loader.py b/unsloth/models/loader.py index a57deef000..ab258f3ed9 100644 --- a/unsloth/models/loader.py +++ b/unsloth/models/loader.py @@ -622,7 +622,8 @@ class FastModel(FastBaseModel): # Check versions lowered_model_name = model_name.lower() - os.environ["UNSLOTH_MODEL_NAME"] = lowered_model_name + if os.environ.get("UNSLOTH_MODEL_NAME", "") == "": + os.environ["UNSLOTH_MODEL_NAME"] = lowered_model_name LATEST = '\nPlease use transformers via `pip install --no-deps git+https://github.com/huggingface/transformers.git`' NIGHTLY = '\nPlease use nightly transformers via pip install --upgrade "transformers>=4.49.0"`' # Pixtral