Roland Tannous
8c3c76defc
Add TorchAO quantization tests with FP16 models and serialization workarounds ( #3269 )
...
* Add TorchAO quantization tests with FP16 models and serialization workarounds
* remove unrelated files
* cleaned submission
2025-09-04 17:22:07 -07:00
Roland Tannous
cd482b7e0c
fixed save_pretrained_torchao and associated tests ( #3264 )
2025-09-03 20:24:12 -07:00
Jerry Zhang
43d1f1fc2d
Support saving locally in model.save_pretrained_torchao ( #3263 )
...
Summary:
Previously the test was not ran correctly and the save to local path is not tested
this PR added support for that and tries to test properly
Note: `python tests/saving/test_unsloth_save.py` doesn't run test
Test Plan:
pytest tests/saving/test_unsloth_save.py -k test_save_torchao
Reviewers:
Subscribers:
Tasks:
Tags:
2025-09-03 17:51:33 -07:00
Roland Tannous
3ee93ccd43
tests for mxfp4 and quantized models merge fix unsloth zoo pr 254 ( #3223 )
2025-08-29 01:30:48 -07:00
Jerry Zhang
034b637176
Support model.save_pretrained_torchao ( #3111 )
...
Summary:
Allow users merge the LoRA weights and then do a post training quantization with torchao
Usage:
```
from torchao.quantization import Int8DynamicActivationInt8WeightConfig
torchao_config = Int8DynamicActivationInt8WeightConfig()
model.save_pretrained_torchao(
save_path,
tokenizer=tokenizer,
torchao_config=torchao_config,
)
```
Test Plan:
python tests/saving/test_unsloth_save.py
Reviewers:
Subscribers:
Tasks:
Tags:
2025-08-26 04:53:39 -07:00
Daniel Han
b707fd78c4
Revert "Revert "Add Qwen2.5-VL-32B-Instruct mapping to fix quantized model me…" ( #2990 )
...
This reverts commit 6631007493 .
2025-07-17 15:37:23 -07:00
leopardracer
8a192b7d72
Fix Typos in Documentation and Comments ( #2721 )
...
* Update ocr_eval.md
* Update backward.py
2025-06-17 04:34:51 -07:00
Roland Tannous
d0287bc596
tests for additional merge fix unsloth zoo pr 163 ( #2719 )
...
* tests for additional merge fix unsloth zoo pr 163
* fixed load_dataset indent in mistral perplexity test file
2025-06-11 14:08:41 -07:00
Roland Tannous
7677750b67
reroute merge logic language models + comprehensive tests + eval kits ( #2673 )
2025-06-02 20:32:57 -07:00
omahs
568a806fc8
Fix typos ( #2540 )
2025-05-15 04:23:27 -07:00
Daniel Han
ad9976450d
Qwen 3, Bug Fixes ( #2445 )
...
* bug fix #2008 (#2039 )
* fix (#2051 )
* Update loader.py
* Update pyproject.toml
* Update pyproject.toml
* Update vision.py
* more prints
* Update loader.py
* LoRA 16bit fix
* Update vision.py
* Update vision.py
* Update _utils.py
* Update vision.py
* move forced float32
* Update _utils.py
* Update _utils.py
* Update _utils.py
* Update _utils.py
* move print
* Update _utils.py
* disable bfloat16
* Fix forced float32
* move float32
* Ensure trust_remote_code propegates down to unsloth_compile_transformers (#2075 )
* Update _utils.py
* Show both `peft_error` and `autoconfig_error`, not just `autoconfig_error` (#2080 )
When loading a PEFT model fails, only the `autoconfig_error` is shown. Instead of the `peft_error`, which is what really matters when we're trying to load a PEFT adapter, the user will see something like this:
```
RuntimeError: Unrecognized model in my_model. Should have a `model_type` key in its config.json, or contain one of the following strings in its name: albert, align, altclip, ...
```
This PR just changes it so `autoconfig_error` and `peft_error` are both displayed.
* fix error message (#2046 )
* Update vision.py
* Update _utils.py
* Update pyproject.toml
* Update __init__.py
* Update __init__.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update rl_replacements.py
* Update rl_replacements.py
* Update rl_replacements.py
* Update rl_replacements.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update rl_replacements.py
* Update vision.py
* Update rl_replacements.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Remove double generate patch
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update mapper.py
* Update vision.py
* fix: config.torch_dtype in LlamaModel_fast_forward_inference (#2091 )
* fix: config.torch_dtype in LlamaModel_fast_forward_inference
* Update llama.py
* update for consistency
---------
Co-authored-by: Daniel Han <danielhanchen@gmail.com>
* versioning
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* model_type_arch
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update loader.py
* check
* Update _utils.py
* Update loader.py
* Update loader.py
* Remove prints
* Update README.md
typo
* Update _utils.py
* Update _utils.py
* versioning
* Update _utils.py
* Update _utils.py
* Update _utils.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update vision.py
* HF Transfer
* fix(utils): add missing importlib import to fix NameError (#2134 )
This commit fixes a NameError that occurs when `importlib` is referenced in _utils.py
without being imported, especially when UNSLOTH_USE_MODELSCOPE=1 is enabled.
By adding the missing import statement, the code will no longer throw a NameError.
* Add QLoRA Train and Merge16bit Test (#2130 )
* add reference and unsloth lora merging tests
* add test / dataset printing to test scripts
* allow running tests from repo root
* add qlora test readme
* more readme edits
* ruff formatting
* additional readme comments
* forgot to add actual tests
* add apache license
* Update pyproject.toml
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update loader.py
* Update loader.py
* Revert
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Bug fix
* Update mapper.py
* check SDPA for Mistral 3, Pixtral
* Update vision.py
* Versioning
* Update rl_replacements.py
* Update README.md
* add model registry
* move hf hub utils to unsloth/utils
* refactor global model info dicts to dataclasses
* fix dataclass init
* fix llama registration
* remove deprecated key function
* start registry reog
* add llama vision
* quant types -> Enum
* remap literal quant types to QuantType Enum
* add llama model registration
* fix quant tag mapping
* add qwen2.5 models to registry
* add option to include original model in registry
* handle quant types per model size
* separate registration of base and instruct llama3.2
* add QwenQVQ to registry
* add gemma3 to registry
* add phi
* add deepseek v3
* add deepseek r1 base
* add deepseek r1 zero
* add deepseek distill llama
* add deepseek distill models
* remove redundant code when constructing model names
* add mistral small to registry
* rename model registration methods
* rename deepseek registration methods
* refactor naming for mistral and phi
* add global register models
* refactor model registration tests for new registry apis
* add model search method
* remove deprecated registration api
* add quant type test
* add registry readme
* make llama registration more specific
* clear registry when executing individual model registration file
* more registry readme updates
* Update _auto_install.py
* Llama4
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Synthetic data
* Update mapper.py
* Xet and Synthetic
* Update synthetic.py
* Update loader.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update pyproject.toml
* Delete .gitignore
---------
Co-authored-by: Mukkesh Ganesh <mukmckenzie@gmail.com>
Co-authored-by: Kareem <81531392+KareemMusleh@users.noreply.github.com>
Co-authored-by: Xander Hawthorne <167850078+CuppaXanax@users.noreply.github.com>
Co-authored-by: Isaac Breen <isaac.breen@icloud.com>
Co-authored-by: lurf21 <93976703+lurf21@users.noreply.github.com>
Co-authored-by: Jack Shi Wei Lun <87535974+jackswl@users.noreply.github.com>
Co-authored-by: naliazheli <nalia0316@gmail.com>
Co-authored-by: jeromeku <jerome.ku@gmail.com>
Co-authored-by: Michael Han <107991372+shimmyshimmer@users.noreply.github.com>
2025-04-30 22:38:39 -07:00
Erland366
fd3e431bd6
feat: Add validation for 4bit save method and implement corresponding error handling
2025-04-19 20:36:30 +00:00
Daniel Han
84c2871a22
Fix Transformers 4.45 ( #2151 )
...
* Update pyproject.toml
* Update _utils.py
* Update _utils.py
* Update _utils.py
* Batch samples
* Update loader.py
* Update loader.py
* Update loader.py
* Update loader.py
* Update _utils.py
* Update loader.py
* Update vision.py
* Update loader.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update mapper.py
* Update vision.py
* Temporary patches
* Update loader.py
* model names
* Gemma 3 chat template
* Bug fixes
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update llama.py
* Update llama.py
* Update rl.py
* Update chat_templates.py
* Update chat_templates.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update loader.py
* Update vision.py
* Update vision.py
* Revert
* Update _utils.py
* forced precision
* Autocast
* Update vision.py
* Update vision.py
* Update rl.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update rl.py
* vLLM fixes
* constexpr
* Update vision.py
* Update vision.py
* Update vision.py
* Update rl.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update _utils.py
* Update _utils.py
* Update _utils.py
* Update _utils.py
* Update save.py
* New models
* Triton windows update (#1976 )
* Update pyproject.toml
* Update README.md
* Update RMS LayerNorm implementation, and list compr. change in chat templates (#1974 )
* Update RMS LayerNorm implementation with optimizations and testing suite
* perf: optimize list comprehension in get_ollama_eos_tokens
* Update Zoo
* Update llama.py
* Update llama.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update rl_replacements.py
* Update vision.py
* grpo fix
* Update rl_replacements.py
* Update vision.py
* Update rl_replacements.py
* Update vision.py
* Update mapper.py
* Update vision.py
* Update vision.py
* Update loader.py
* Update vision.py
* Update save.py
* Update save.py
* Update save.py
* Update rl.py
* Update _utils.py
* Version
* Update pyproject.toml
* Update llama.py
* Update llama.py
* bug fix #2008 (#2039 )
* fix (#2051 )
* Update loader.py
* Update pyproject.toml
* Update pyproject.toml
* Update vision.py
* more prints
* Update loader.py
* LoRA 16bit fix
* Update vision.py
* Update vision.py
* Update _utils.py
* Update vision.py
* move forced float32
* Update _utils.py
* Update _utils.py
* Update _utils.py
* Update _utils.py
* move print
* Update _utils.py
* disable bfloat16
* Fix forced float32
* move float32
* Ensure trust_remote_code propegates down to unsloth_compile_transformers (#2075 )
* Update _utils.py
* Show both `peft_error` and `autoconfig_error`, not just `autoconfig_error` (#2080 )
When loading a PEFT model fails, only the `autoconfig_error` is shown. Instead of the `peft_error`, which is what really matters when we're trying to load a PEFT adapter, the user will see something like this:
```
RuntimeError: Unrecognized model in my_model. Should have a `model_type` key in its config.json, or contain one of the following strings in its name: albert, align, altclip, ...
```
This PR just changes it so `autoconfig_error` and `peft_error` are both displayed.
* fix error message (#2046 )
* Update vision.py
* Update _utils.py
* Update pyproject.toml
* Update __init__.py
* Update __init__.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update rl_replacements.py
* Update rl_replacements.py
* Update rl_replacements.py
* Update rl_replacements.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update rl_replacements.py
* Update vision.py
* Update rl_replacements.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Remove double generate patch
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update mapper.py
* Update vision.py
* fix: config.torch_dtype in LlamaModel_fast_forward_inference (#2091 )
* fix: config.torch_dtype in LlamaModel_fast_forward_inference
* Update llama.py
* update for consistency
---------
Co-authored-by: Daniel Han <danielhanchen@gmail.com>
* versioning
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* model_type_arch
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update loader.py
* check
* Update _utils.py
* Update loader.py
* Update loader.py
* Remove prints
* Update _utils.py
* Update _utils.py
* versioning
* Update _utils.py
* Update _utils.py
* Update _utils.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update vision.py
* HF Transfer
* fix(utils): add missing importlib import to fix NameError (#2134 )
This commit fixes a NameError that occurs when `importlib` is referenced in _utils.py
without being imported, especially when UNSLOTH_USE_MODELSCOPE=1 is enabled.
By adding the missing import statement, the code will no longer throw a NameError.
* Add QLoRA Train and Merge16bit Test (#2130 )
* add reference and unsloth lora merging tests
* add test / dataset printing to test scripts
* allow running tests from repo root
* add qlora test readme
* more readme edits
* ruff formatting
* additional readme comments
* forgot to add actual tests
* add apache license
* Update pyproject.toml
---------
Co-authored-by: Akshay Behl <126911424+Captain-T2004@users.noreply.github.com>
Co-authored-by: Nino Risteski <95188570+NinoRisteski@users.noreply.github.com>
Co-authored-by: Mukkesh Ganesh <mukmckenzie@gmail.com>
Co-authored-by: Kareem <81531392+KareemMusleh@users.noreply.github.com>
Co-authored-by: Xander Hawthorne <167850078+CuppaXanax@users.noreply.github.com>
Co-authored-by: Isaac Breen <isaac.breen@icloud.com>
Co-authored-by: lurf21 <93976703+lurf21@users.noreply.github.com>
Co-authored-by: naliazheli <nalia0316@gmail.com>
Co-authored-by: jeromeku <jerome.ku@gmail.com>
2025-03-21 17:55:12 -07:00