Commit graph

2,797 commits

Author SHA1 Message Date
Daniel Han
e025ca9013 importlib_version 2025-09-12 03:13:15 -07:00
billishyahao
c07f1ec903
[ROCm] add hip device path (#3301) 2025-09-12 02:57:19 -07:00
Daniel Han
f06200db07 Bug fix 2025-09-10 05:14:15 -07:00
Daniel Han
5b5e034805 Update rl.py 2025-09-10 01:39:35 -07:00
Daniel Han
1afedc81ee
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
def96ca486 Update loader.py 2025-09-09 02:06:07 -07:00
Daniel Han
33c2bd031c Merge branch 'main' of https://github.com/unslothai/unsloth 2025-09-09 01:22:27 -07:00
DoubleMathew
a5968f30b2
simplify uns inference (#3291) 2025-09-08 21:07:02 -07:00
Daniel Han
d64e5710fa Merge branch 'main' of https://github.com/unslothai/unsloth 2025-09-08 17:15:57 -07:00
Daniel Han
379bc57b7b Update __init__.py 2025-09-08 17:15:55 -07:00
andrewor14
3541f6e8d0
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
cf9a00eba8
GptAttention turn training off during inference (#3289) 2025-09-08 13:47:32 -07:00
Daniel Han
cb78f0e83d Versioning 2025-09-08 06:06:04 -07:00
Daniel Han
0b6cee89fe Update __init__.py 2025-09-08 04:57:04 -07:00
Daniel Han
48f5372be0 Update __init__.py 2025-09-08 02:02:11 -07:00
Roland Tannous
551bc65235
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
ff6cbb03d0
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
c19a002a77
Filter executor not sleeping log (#3268) 2025-09-04 22:05:42 +05:30
Daniel Han
978f73ed86
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
cd71b1bb96
disable _is_vlm (#3265) 2025-09-04 04:52:35 -07:00
Daniel Han
ffcfbe23ad Update rl.py 2025-09-04 03:25:40 -07:00
Roland Tannous
7ce3e3b2ce
fixed save_pretrained_torchao and associated tests (#3264) 2025-09-03 20:24:12 -07:00
Daniel Han
91b2a22548 Update import_fixes.py 2025-09-03 20:17:36 -07:00
Daniel Han
a656a3df6e Update import_fixes.py 2025-09-03 20:12:42 -07:00
Daniel Han
545f246403 Move logging 2025-09-03 20:07:27 -07:00
Daniel Han
644a2b73ec Update _utils.py 2025-09-03 20:00:21 -07:00
Daniel Han
a82d31486f Update pyproject.toml 2025-09-03 19:55:10 -07:00
Daniel Han
9f4458c57e Update llama.py 2025-09-03 19:11:53 -07:00
Jerry Zhang
5c22f06a9a
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
10d0f25746 Update save.py 2025-09-03 15:19:02 -07:00
Lei Zhenyuan
5f14e6fcd4
[Intel] make intel device support ROPE (#3164)
* make intel device pass

* abstract torch device stream
2025-09-03 04:39:57 -07:00
stevenxdavis
12737e503d
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
64b404877e
chore: Fix Typos (#3246) 2025-09-03 04:38:41 -07:00
Tim Paine
658a4703c5
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
73dd1227b0
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
9050d6f527
tests for mxfp4 and quantized models merge fix unsloth zoo pr 254 (#3223) 2025-08-29 01:30:48 -07:00
Daniel Han
b753ec05c1
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
1748e4794b Merge branch 'main' of https://github.com/unslothai/unsloth 2025-08-28 03:19:16 -07:00
Daniel Han
ec54ac0ba5 Versioning 2025-08-28 03:19:14 -07:00
Michael Han
3dec0c3802
Merge pull request #3224 from DefiWimar7/typos
chore: Fix Typos

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

* cleanup
2025-08-26 19:46:27 -07:00
Jerry Zhang
6108750244
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
e45ddb55a7
fix is casual for qwen3 (#3213) 2025-08-26 04:45:20 -07:00
Daniel Han
bcb1bcfd6a Update vision.py 2025-08-22 04:02:59 -07:00
Daniel Han
11f58ba904 Update loader.py 2025-08-22 04:02:19 -07:00
DoubleMathew
afe8f41236
adallow float32 dtype in FastLanguageModel (#3204) 2025-08-21 16:54:39 -07:00
Daniel Han
26601f9d42
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
7aa42709fe Update _utils.py 2025-08-19 23:43:58 -07:00