From 236f1029b1f2055eee25500d29d4fc3a480bb257 Mon Sep 17 00:00:00 2001 From: Daniel Han Date: Sat, 27 Jul 2024 20:30:32 -0700 Subject: [PATCH] Edits --- pyproject.toml | 4 ++-- unsloth/__init__.py | 29 +---------------------------- unsloth/models/llama.py | 3 ++- unsloth/models/loader.py | 6 +++--- 4 files changed, 8 insertions(+), 34 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 829b35ad3b..3335a75933 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -35,7 +35,7 @@ exclude = ["images*"] huggingface = [ "packaging", "tyro", - "transformers>=4.43.1", + "transformers>=4.43.2", "datasets>=2.16.0", "sentencepiece>=0.2.0", "tqdm", @@ -188,7 +188,7 @@ colab-ampere-torch220 = [ colab-new = [ "packaging", "tyro", - "transformers>=4.43.1", + "transformers>=4.43.2", "datasets>=2.16.0", "sentencepiece>=0.2.0", "tqdm", diff --git a/unsloth/__init__.py b/unsloth/__init__.py index 265d08c90d..db54c9a169 100644 --- a/unsloth/__init__.py +++ b/unsloth/__init__.py @@ -60,37 +60,10 @@ except: "We have some installation instructions on our Github page.") pass -# ============================================= -# Check if Unsloth's model list has been updated -import os, requests, inspect, re +import os, re import numpy as np import subprocess -try: - file_location = inspect.getfile(torch) - package, _ = os.path.split(file_location) - dist_packages, package = os.path.split(package) - old_mapper = os.path.join(dist_packages, "unsloth", "models", "mapper.py") - new_mapper = "https://raw.githubusercontent.com/unslothai/unsloth/main/unsloth/models/mapper.py" - with open(old_mapper, "r") as old_mapper: old_mapper = old_mapper.read() - with requests.get(new_mapper) as new_mapper: new_mapper = new_mapper.text - old_mapper = re.findall(r'\"unsloth\/([^\"]{1,})\-bnb\-4bit\" \: \(', old_mapper) - new_mapper = re.findall(r'\"unsloth\/([^\"]{1,})\-bnb\-4bit\" \: \(', new_mapper) - new_models = list(frozenset(new_mapper) - frozenset(old_mapper)) - - print(1) - if len(new_models) != 0: - warnings.warn( - f"Unsloth: Some new models including {new_models} have dropped!\n"\ - "If you want to try them out, please update Unsloth via:\n\n" - 'pip install --upgrade --force-reinstall --no-cache-dir \\\n "unsloth[colab-new] @ git+https://github.com/unslothai/unsloth.git"' - ) - pass - del new_models, old_mapper, dist_packages, package, file_location -except: - pass -# ============================================= - # Hugging Face Hub faster downloads (only enable during Colab and Kaggle sessions) keynames = "\n" + "\n".join(os.environ.keys()) if "\nCOLAB_" in keynames or "\nKAGGLE_" in keynames: diff --git a/unsloth/models/llama.py b/unsloth/models/llama.py index bc434ecf19..d363539997 100644 --- a/unsloth/models/llama.py +++ b/unsloth/models/llama.py @@ -18,6 +18,7 @@ from typing import Optional, Tuple, List, Union from ._utils import * from ._utils import __version__ from torch.nn.functional import scaled_dot_product_attention +from transformers import __version__ as transformers_version from transformers.models.llama.modeling_llama import ( logger, BaseModelOutputWithPast, @@ -1281,7 +1282,7 @@ class FastLlamaModel: max_memory = round(gpu_stats.total_memory / 1024 / 1024 / 1024, 3) statistics = \ - f"==((====))== Unsloth: Fast {model_patcher.__name__[4:-5]} patching release {__version__}\n"\ + f"==((====))== Unsloth {__version__}: Fast {model_patcher.__name__[4:-5]} patching. Transformers = {transformers_version}\n"\ f" \\\ /| GPU: {gpu_stats.name}. Max memory: {max_memory} GB. Platform = {platform_system}.\n"\ f"O^O/ \_/ \\ Pytorch: {torch.__version__}. CUDA = {gpu_stats.major}.{gpu_stats.minor}. CUDA Toolkit = {torch.version.cuda}.\n"\ f"\ / Bfloat16 = {str(SUPPORTS_BFLOAT16).upper()}. FA [Xformers = {xformers_version}. FA2 = {HAS_FLASH_ATTENTION}]\n"\ diff --git a/unsloth/models/loader.py b/unsloth/models/loader.py index 6b83b8e739..ecf871d5d0 100644 --- a/unsloth/models/loader.py +++ b/unsloth/models/loader.py @@ -27,7 +27,7 @@ transformers_version = Version(transformers_version) SUPPORTS_FOURBIT = transformers_version >= Version("4.37") SUPPORTS_GEMMA = transformers_version >= Version("4.38") SUPPORTS_GEMMA2 = transformers_version >= Version("4.42") -SUPPORTS_LLAMA31 = transformers_version >= Version("4.43.1") +SUPPORTS_LLAMA31 = transformers_version >= Version("4.43.2") if SUPPORTS_GEMMA: from .gemma import FastGemmaModel if SUPPORTS_GEMMA2: @@ -147,8 +147,8 @@ class FastLanguageModel(FastLlamaModel): if scaling_type == "llama3" and not SUPPORTS_LLAMA31: raise ImportError( f"Unsloth: Your transformers version of {transformers_version} does not support Llama 3.1.\n"\ - f"The minimum required version is 4.43.1\n"\ - f'Try `pip install --upgrade "transformers>=4.43.1"`\n'\ + f"The minimum required version is 4.43.2\n"\ + f'Try `pip install --upgrade "transformers>=4.43.2"`\n'\ f"to obtain the latest transformers build, then restart this session."\ ) dispatch_model = FastLlamaModel