Daniel Han
d00ebe5fe6
Update rl_replacements.py
2025-06-21 22:20:32 -07:00
Daniel Han
8aa0a2dc37
Fix DAPO, TRL 0.19.0
2025-06-21 22:14:21 -07:00
simpissa
3e75f21086
Fix for grpo_compute_loss_slow ( #2702 )
...
* slice last logit
* move slicing
2025-06-21 21:58:06 -07:00
Daniel Han
a9b70d94e4
Mistral Small 3.2
2025-06-21 06:44:14 -07:00
amrothemich
dab00ef9a6
Update pyproject.toml ( #2778 )
...
Switched pyproject license to dictionary type
2025-06-21 02:44:24 -07:00
Michael Han
09ae01fa91
Merge pull request #2780 from rolandtannous/fix/gemma3-grpo-self-llm
...
Fix AttributeError in GRPO trainer for models without llm attribute
2025-06-20 21:15:54 -07:00
Roland Tannous
17563176d9
Fix Gemma3ForCausalLm does not have attribute self.llm
2025-06-21 01:07:32 +00:00
Roland Tannous
4a70f8e880
Additional tests for unsloth-zoo PR#174
2025-06-21 00:22:00 +00:00
Daniel Han
7e7510daf6
Merge branch 'main' of https://github.com/unslothai/unsloth
2025-06-20 06:30:43 -07:00
Daniel Han
9fbb88479c
Update pyproject.toml
2025-06-20 06:30:35 -07:00
marcandrelarochelle
35d37ea567
Fix TRL 1.8.2 ( #2774 )
...
* Fix for TRL 1.8.2
Regex matching LLM initialization
* Update Regex
2025-06-20 06:28:58 -07:00
Daniel Han
1c7a9f46dc
Update __init__.py
2025-06-20 06:13:45 -07:00
Daniel Han
a1e12d4243
Fix bugs
2025-06-20 06:09:03 -07:00
Datta Nimmaturi
83f20be8ad
Enable vLLM to share memory space ( #2712 )
...
* vLLM sleep once generation is done
* Make enable_sleep_model configurable
* Make default to false
Signed-off-by: datta0 <venkatadattasainimmaturi@gmail.com>
* Force standby under environment variable
---------
Signed-off-by: datta0 <venkatadattasainimmaturi@gmail.com>
2025-06-19 04:04:14 -07:00
Edd
3a7cf48532
Fix renaming on other model than Llama ( #2762 )
2025-06-18 13:38:36 -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
pluesclues
0270b7166a
Reward modeling update (There seems to be another patch) ( #2710 )
...
* Update llama.py, sequence_classifcaiton update
* Update llama.py, adapting to original commit
* Update llama.py, for seqeuence classifcation update
* Update llama.py, added transformer import
* Update llama.py, dealt with output weight
* Update llama.py, renamed it peft model fast forward
* Update llama.py, set up is classification varaiable
* Update llama.py, updated lora dict to initialize sequence classification object
* Update llama.py, gets model name correctly before Lora dict is initialized
* Update llama.py, Task_type_SEQ_CLS doesnt work but it does work with Task_type.CAUSAL_LM
2025-06-17 04:33:45 -07:00
Michael Han
701692fcfa
Update issue templates
...
Adding Reddit link
2025-06-12 01:23:36 -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
Daniel Han
4573105fc8
Versioning
2025-06-10 06:51:07 -07:00
user799595
a497f8878b
Making protobuf version more flexible ( #2637 )
...
* Making protobuf version more flexible
* Update pyproject.toml
* Update pyproject.toml
---------
Co-authored-by: Daniel Han <danielhanchen@gmail.com>
2025-06-10 04:13:25 -07:00
Daniel Han
737dc347d4
Update pyproject.toml
2025-06-10 04:04:25 -07:00
Lei Zhenyuan
14cab69d43
add support for torch270 ( #2709 )
2025-06-10 03:59:15 -07:00
Daniel Han
d463db673d
versioning
2025-06-06 05:46:49 -07:00
Salpingopharyngeus
5cd191b520
Ignore None to Subprocess_Commands ( #2680 )
...
Ignores none params when building the subprocess_command for vllm. As none values stop vllm from deploying properly, as --quantize will be passed with none if quantization type isn't specified in the model name.
2025-06-05 01:25:12 -07:00
DoubleMathew
e160305b66
Update prepare 4d causal attention call ( #2678 )
2025-06-04 12:58:50 -07:00
Daniel Han
64e07fc306
Update rl.py
2025-06-03 00:07:52 -07:00
DoubleMathew
c1076ed540
patch sft_trainer to favor max_seq_length over max_length in config ( #2669 )
2025-06-03 00:06:44 -07:00
DoubleMathew
c33bb76972
unsloth checkpointing fix for latest transformers==4.52.x ( #2674 )
2025-06-03 00:06:06 -07:00
Roland Tannous
7677750b67
reroute merge logic language models + comprehensive tests + eval kits ( #2673 )
2025-06-02 20:32:57 -07:00
RunFMe
d80e8a5cd8
Fix batched generation for prompts of different lengths ( #2216 )
...
* fix ignoring of attention mask after prefill stage in decoding
* update naming to avoid confusion
---------
Co-authored-by: Неизвестный Пользователь722497 <dolegosmirnov@sberbank.ru>
2025-06-02 03:59:10 -07:00
Michael Han
cb07a3608b
Merge pull request #2662 from Datta0/model_param_fix
...
Fix quant model param fetch regex
2025-06-01 04:19:12 -07:00
datta0
e6b1a3703d
Make replacement logic conscise
2025-06-01 05:57:43 +00:00
Michael Han
0ff1996273
Update issue templates
2025-05-31 14:38:55 -07:00
datta0
fa98cee8f4
Fix quant model param fetch regex
2025-05-31 18:52:46 +00:00
Daniel Han
c7047d014f
DeepSeek R1 Qwen
2025-05-30 01:38:53 -07:00
Daniel Han
65825aa571
Bug fixes ( #2651 )
...
* 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
* 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 _utils.py
* Update pyproject.toml
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update chat_templates.py
* Seasame force float16 / float32
* Fix Seasame
* Update loader.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update loader.py
* is_multimodal
* Update loader.py
* Update loader.py
* Update loader.py
* Update loader.py
* Update vision.py
* Update vision.py
* Update vision.py
* UNSLOTH_DISABLE_STATIC_GENERATION
* Update vision.py
* Auto vision detection
* Sesame
* Whisper
* Update loader.py
* Update loader.py
* Update loader.py
* Update mapper.py
* Update vision.py
* 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 _utils.py
* Update rl.py
* versioning
* Update rl.py
* Update rl.py
* Update rl.py
* Update rl.py
* Update rl.py
* logging
* Update pyproject.toml
* Update rl.py
* versioning
* Update rl.py
* Update rl.py
---------
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-05-29 09:59:29 -07:00
DoubleMathew
ebfa3df9c6
Fix SFTtraining for new trl ( #2647 )
...
* fix sft training with trl>0.15.2 with trl DataCollator
* Update fix to accomodate both trl and transformers DataCollatorForLanguageModeling
2025-05-28 11:55:48 -07:00
Daniel Han
5d90c8303f
Latest TRL, GRPO + Bug fixes ( #2645 )
...
* 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
* 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 _utils.py
* Update pyproject.toml
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update chat_templates.py
* Seasame force float16 / float32
* Fix Seasame
* Update loader.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update loader.py
* is_multimodal
* Update loader.py
* Update loader.py
* Update loader.py
* Update loader.py
* Update vision.py
* Update vision.py
* Update vision.py
* UNSLOTH_DISABLE_STATIC_GENERATION
* Update vision.py
* Auto vision detection
* Sesame
* Whisper
* Update loader.py
* Update loader.py
* Update loader.py
* Update mapper.py
* Update vision.py
* 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 _utils.py
* Update rl.py
* versioning
* Update rl.py
* Update rl.py
* Update rl.py
* Update rl.py
* Update rl.py
* logging
* Update pyproject.toml
* Update rl.py
---------
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-05-28 06:15:12 -07:00
Daniel Han
e2f3a6567d
Create LICENSE
2025-05-28 03:27:48 -07:00
jeromeku
15bce315ac
Llama4 MoE Grouped GEMM ( #2639 )
...
* add llama4 reference layer
* add llama4 reference impl
* formatting
2025-05-28 03:26:35 -07:00
Premik
3fb131630f
Check the skip_prepare_dataset before accessing dataset fields. #2496 ( #2633 )
2025-05-28 03:23:59 -07:00
Michael Han
e3e90cf6f3
Update README.md
...
Better Qwen3 notebook
2025-05-26 23:44:41 -07:00
Daniel Han
0bf5e2be15
Flash Attention whls
2025-05-26 22:48:46 -07:00
Datta Nimmaturi
16a007a283
Upgrade trl fix ( #2544 )
...
* Update llama.py making set and reset functions in order to properly use autoSequenceClassification
* Update fast_lora.py, added mixed precising pytorch autocasting
* Update llama.py did not included rotary embeddings in the reset functions correctly
* Update rl.py: correct get reward model added as well as the eval step stuff
* Update rl.py removed function that did not need to be patched
* Update llama.py: kept reset functions and made their names generic
* Update fast_lora.py
* Update rl.py, try except
* Update fast_lora.py, removing downcasting stuff
* Update llama.py removed depircate LLamaLinearScalingRotaryEmbedding
* Update rl.py for VLLM RLOO and PPO
* Update rl.py reverted
* Update rl.py with peft cahnges
* Update rl.py, disabling adapters screws inference up
* Update rl.py getting PPO support
* Update rl.py cleanup
* Update rl.py cleaned up not useful commented code
* Update llama.py, enabled new flag, keep padding
* Upgrade trl fix
Signed-off-by: Dattu Sharma <venkatadattasainimmaturi@gmail.com>
* Update rl.py made changes relative to the review
* Revert accidental patch block for non grpo
Signed-off-by: Dattu Sharma <venkatadattasainimmaturi@gmail.com>
* Fixup sampling params issue
* Fix rl.py regex
Signed-off-by: Dattu Sharma <venkatadattasainimmaturi@gmail.com>
* loss type: grpo, drgrpo and bnpo
Signed-off-by: Dattu Sharma <venkatadattasainimmaturi@gmail.com>
* Add trl version check for vllm colocate mode for RL trainers
* Update rl.py
For TRL 0.18.0 (Main branch of TRL at the time because its on 0.17.0) , the SFT trainer for some reason deletes the labels column and unsloth internal loss funcitons need that column for hte claculations so I add it back in like this.
* Update llama.py, merge it to be dattas llama version
* Update rl.py, sft changes to get 0.18.0 to be working
* Update rl_replacements.py, added hidden state stuff
* Update rl_replacements.py
* Update rl_replacements.py
* Update rl_replacements.py, rechanged the accumlated loss
* Fixup num_iterations>1 for grpo
Signed-off-by: datta0 <venkatadattasainimmaturi@gmail.com>
* Update rl_replacements.py
* no unnecessary logits upcast. fix naming
Signed-off-by: datta0 <venkatadattasainimmaturi@gmail.com>
* Update rl_replacements.py returned hidden states from logprobs
* Update rl_replacements.py removed debug logic
* Update rl_replacements.py, should be fine now
* Update rl_replacements.py, should take new args for GRPO trainer
* Update rl_replacements.py, made it compatible with trl 0.15.2
* Update rl_replacements.py, fixed typo in per tokne-Logps
---------
Signed-off-by: Dattu Sharma <venkatadattasainimmaturi@gmail.com>
Signed-off-by: datta0 <venkatadattasainimmaturi@gmail.com>
Co-authored-by: pluesclues <136766175+pluesclues@users.noreply.github.com>
2025-05-26 17:20:57 -07:00
Daniel Han
7a3df703a0
Colocate vLLM
2025-05-26 00:37:04 -07:00
Michael Han
2b419ce039
Update README.md
2025-05-25 03:35:43 -07:00
Quentin Gallouédec
a09f93c921
Remove dataset_text_field from SFTConfig ( #2609 )
2025-05-25 03:20:16 -07:00
Richi
86c77d40bb
add: path checking for failed llama cpp builds ( #2603 )
2025-05-25 03:18:07 -07:00
Daniel Han
911a1def95
Devstral, MedGemma
2025-05-21 07:35:36 -07:00