Commit graph

2,794 commits

Author SHA1 Message Date
Daniel Han
9a8253a05f Update rl.py 2025-09-10 01:39:35 -07:00
Daniel Han
f3eb4faab5 Bug fixes (#3295)
* 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 <danielhanchen@gmail.com>

* 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

---------

Co-authored-by: Datta Nimmaturi <venkatadattasainimmaturi@gmail.com>
2025-09-10 01:28:13 -07:00
Daniel Han
e79fdebbe8 Update loader.py 2025-09-09 02:06:07 -07:00
Daniel Han
a00fec24f8 Merge branch 'main' of https://github.com/unslothai/unsloth 2025-09-09 01:22:27 -07:00
DoubleMathew
37d9100c01 simplify uns inference (#3291) 2025-09-08 21:07:02 -07:00
Daniel Han
07c9296844 Merge branch 'main' of https://github.com/unslothai/unsloth 2025-09-08 17:15:57 -07:00
Daniel Han
8a532438ce Update __init__.py 2025-09-08 17:15:55 -07:00
andrewor14
6f2228d108 Add support for QAT full fine-tuning (#3238)
**Summary:** Following https://github.com/unslothai/unsloth/pull/2976,
which adds support for QAT + LoRA, this PR adds support for QAT
during full fine-tuning. See the [torchao QAT README](https://github.com/pytorch/ao/blob/main/torchao/quantization/qat/README.md)
for more details.

Current QAT schemes supported are:
```
fp8-int4, targeting the torch.ops.fbgemm.f8i4bf16_shuffled kernel
fp8-fp8, targeting the torch.ops.fbgemm.f8f8bf16_rowwise kernel
```

**Test Plan:** https://gist.github.com/andrewor14/048b5c1bd01b7fa23c53913856a8ef9f

Full fine-tuning Llama3.1-8B with and without QAT on `yahma/alpaca-cleaned` for 1 epoch:
- Batch size = 16 (no grad accum)
- Learning rate = 4e-5
- Quantization scheme = fp8-int4

Wikitext perplexity:
- QAT improved perplexity by 19.2% compared to regular fine-tuning
- QAT's int4 quantized model even outperformed the bf16 baseline
- Regular int4 quantized model (without QAT) was significantly worse than the bf16 baseline

```
==> unsloth_model_full_baseline_output/eval_float.log <==
|        |       |none  |     0|word_perplexity|↓  |9.8446|±  |   N/A|

==> unsloth_model_full_baseline_output/eval_quantized.log <==
|        |       |none  |     0|word_perplexity|↓  |11.4595|±  |   N/A|

==> unsloth_model_full_qat_fp8-int4_output/eval_quantized.log <==
|        |       |none  |     0|word_perplexity|↓  |9.2336|±  |   N/A|
```

Fibonacci test:
- Both bf16 baseline and int4 quantized models correctly identified 13 as the next number
- QAT quantized model was more succinct in its response
- No substantial differences here

```
### Instruction:
Continue the fibonnaci sequence.

### Input:
1, 1, 2, 3, 5, 8

==> unsloth_model_full_baseline_output/eval_float.log <==
### Response:
The next number in the Fibonacci sequence is 13.<|end_of_text|>

==> unsloth_model_full_baseline_output/eval_quantized.log <==
### Response:
The next number in the Fibonacci sequence is 13.<|end_of_text|>

==> unsloth_model_full_qat_fp8-int4_output/eval_quantized.log <==
### Response:
13<|end_of_text|>
```
2025-09-08 15:07:50 -07:00
DoubleMathew
0d70391f9b GptAttention turn training off during inference (#3289) 2025-09-08 13:47:32 -07:00
Daniel Han
a817c68eeb Versioning 2025-09-08 06:06:04 -07:00
Daniel Han
6709382617 Update __init__.py 2025-09-08 04:57:04 -07:00
Daniel Han
bcd609b1ac Update __init__.py 2025-09-08 02:02:11 -07:00
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
DoubleMathew
b6bd9dc867 llama vision inference fix (#3270)
* llama vision inference fix

* fix via can_compile_fullgraph instead
2025-09-04 16:06:49 -07:00
Datta Nimmaturi
7a81dea95c Filter executor not sleeping log (#3268) 2025-09-04 22:05:42 +05:30
Daniel Han
1a51cbb7a6 Bug fixes (#3266)
* 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 <danielhanchen@gmail.com>

* 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

---------

Co-authored-by: Datta Nimmaturi <venkatadattasainimmaturi@gmail.com>
2025-09-04 05:17:59 -07:00
DoubleMathew
77d0f08795 disable _is_vlm (#3265) 2025-09-04 04:52:35 -07:00
Daniel Han
8cb783fa32 Update rl.py 2025-09-04 03:25:40 -07:00
Roland Tannous
cd482b7e0c fixed save_pretrained_torchao and associated tests (#3264) 2025-09-03 20:24:12 -07:00
Daniel Han
2d6793bffb Update import_fixes.py 2025-09-03 20:17:36 -07:00
Daniel Han
48db7e552d Update import_fixes.py 2025-09-03 20:12:42 -07:00
Daniel Han
29d2f5f09b Move logging 2025-09-03 20:07:27 -07:00
Daniel Han
274b0e9ded Update _utils.py 2025-09-03 20:00:21 -07:00
Daniel Han
286c93c045 Update pyproject.toml 2025-09-03 19:55:10 -07:00
Daniel Han
1f7fe4631d Update llama.py 2025-09-03 19:11:53 -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
Daniel Han
49a9b33cdf Update save.py 2025-09-03 15:19:02 -07:00
Lei Zhenyuan
06840d0f00 [Intel] make intel device support ROPE (#3164)
* make intel device pass

* abstract torch device stream
2025-09-03 04:39:57 -07:00
stevenxdavis
fb33feba79 Fix incorrect function call in test_qwen3_grpo.py (#3212)
* Update test_qwen3_grpo.py to correct function call

This test file uses the incorrect name for the function, which is gradient_checkpointing_disable(), not disable_gradient_checkpointing(). 

I copied the line from test_llama32_sft.py - I'm not sure if this actually is required, just wanted it consistent for when other people like me test this and have no clue what they're doing when it throws an exception.

* Update blackwell/test_qwen3_grpo.py

Co-authored-by: Daniel Han <danielhanchen@gmail.com>

---------

Co-authored-by: Daniel Han <danielhanchen@gmail.com>
2025-09-03 04:39:12 -07:00
Defi Wimar
37499c97b0 chore: Fix Typos (#3246) 2025-09-03 04:38:41 -07:00
Tim Paine
4c4e9d678b Remove old version constraint in dependency list (#3237)
xref: https://github.com/unslothai/unsloth-zoo/pull/258
2025-09-01 02:29:58 -07:00
pluesclues
fb4ae0134a Update mistral.py, showed flag to not call cut cross entropy (#3233)
* Update mistral.py, showed flag to not call cut cross entropy

* Update mistral.py, made it so if its not equal to zero

* Update unsloth/models/mistral.py

---------

Co-authored-by: Daniel Han <danielhanchen@gmail.com>
2025-08-29 01:32:21 -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
Daniel Han
bf66b8e4e4 GPT OSS Bug fixes (#3231)
* Update rl.py

* Update rl.py

* Update rl.py

* GPT OSS float32

* Update vision.py

* Update loader.py

* Update loader.py
2025-08-28 09:39:46 -07:00
Daniel Han
eded24dad4 Merge branch 'main' of https://github.com/unslothai/unsloth August-2025-v2 2025-08-28 03:19:16 -07:00
Daniel Han
427d597759 Versioning 2025-08-28 03:19:14 -07:00
Michael Han
20e6469959 Merge pull request #3224 from DefiWimar7/typos
chore: Fix Typos

Thank you @DefiWimar7
2025-08-28 02:46:27 -07:00
DoubleMathew
603f52e1ff Handle transformers move to dtype from torch_dtype (#3225) 2025-08-28 02:43:41 -07:00
DefiWimar7
16dea671cd chore: Fix Typos 2025-08-28 10:44:28 +08:00
DoubleMathew
41951cafb7 Fix gemma-3n (#3219)
* place gemma-3n handling inside gemma-3 conditional

* cleanup
2025-08-26 19:46:27 -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
Lei Zhenyuan
27caf9ed50 fix is casual for qwen3 (#3213) 2025-08-26 04:45:20 -07:00
Daniel Han
d4c589f384 Update vision.py 2025-08-22 04:02:59 -07:00
Daniel Han
096e9aaddc Update loader.py 2025-08-22 04:02:19 -07:00
DoubleMathew
cdf63907e6 adallow float32 dtype in FastLanguageModel (#3204) 2025-08-21 16:54:39 -07:00
Daniel Han
0b42a72e44 Bug fixes (#3195)
* 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 <danielhanchen@gmail.com>

* 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

---------

Co-authored-by: Datta Nimmaturi <venkatadattasainimmaturi@gmail.com>
2025-08-20 07:39:43 -07:00
Daniel Han
74f4a5fff4 Update _utils.py 2025-08-19 23:43:58 -07:00
Michael Han
f2a3bc3369 Merge pull request #3187 from parth2510/fix-transformers-typo-extras
Fix extras transformers typo in pyproject.toml
2025-08-19 15:06:11 -07:00
parth2510
f58374014e Fix extras transformers typo in pyproject.toml 2025-08-19 19:55:29 +05:30
Daniel Han
ffae287698 Update pyproject.toml 2025-08-19 05:20:19 -07:00