Daniel Han
d71dfb1d01
Update rl_replacements.py
2025-06-21 22:20:32 -07:00
Daniel Han
3461b987fd
Fix DAPO, TRL 0.19.0
2025-06-21 22:14:21 -07:00
simpissa
8a202d6175
Fix for grpo_compute_loss_slow ( #2702 )
...
* slice last logit
* move slicing
2025-06-21 21:58:06 -07:00
Daniel Han
447ce0fb4f
Mistral Small 3.2
2025-06-21 06:44:14 -07:00
amrothemich
ca150bb27a
Update pyproject.toml ( #2778 )
...
Switched pyproject license to dictionary type
2025-06-21 02:44:24 -07:00
Michael Han
2a200e739a
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
8c563abb87
Fix Gemma3ForCausalLm does not have attribute self.llm
2025-06-21 01:07:32 +00:00
Roland Tannous
061f038ec7
Additional tests for unsloth-zoo PR#174
2025-06-21 00:22:00 +00:00
Daniel Han
1be2a6e90a
Merge branch 'main' of https://github.com/unslothai/unsloth
2025-06-20 06:30:43 -07:00
Daniel Han
d8846ebdfd
Update pyproject.toml
2025-06-20 06:30:35 -07:00
marcandrelarochelle
481292a96a
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
e43babe76f
Update __init__.py
2025-06-20 06:13:45 -07:00
Daniel Han
2e9724f279
Fix bugs
2025-06-20 06:09:03 -07:00
Datta Nimmaturi
b87ff3f528
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
a398484d0a
Fix renaming on other model than Llama ( #2762 )
2025-06-18 13:38:36 -07:00
leopardracer
c6e0366e0d
Fix Typos in Documentation and Comments ( #2721 )
...
* Update ocr_eval.md
* Update backward.py
2025-06-17 04:34:51 -07:00
pluesclues
440bbf5b52
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
ee76be7d58
Update issue templates
...
Adding Reddit link
2025-06-12 01:23:36 -07:00
Roland Tannous
efe2cc43a7
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
d535bf067e
Versioning
2025-06-10 06:51:07 -07:00
user799595
19399e09f9
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
af47cfb9a3
Update pyproject.toml
2025-06-10 04:04:25 -07:00
Lei Zhenyuan
fc78af6d76
add support for torch270 ( #2709 )
2025-06-10 03:59:15 -07:00
Daniel Han
16af0ceb8e
versioning
2025-06-06 05:46:49 -07:00
Salpingopharyngeus
0012b13573
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
aa50ef2862
Update prepare 4d causal attention call ( #2678 )
2025-06-04 12:58:50 -07:00
Daniel Han
8f465e21c5
Update rl.py
2025-06-03 00:07:52 -07:00
DoubleMathew
9bf691061d
patch sft_trainer to favor max_seq_length over max_length in config ( #2669 )
2025-06-03 00:06:44 -07:00
DoubleMathew
90a4aacbf8
unsloth checkpointing fix for latest transformers==4.52.x ( #2674 )
2025-06-03 00:06:06 -07:00
Roland Tannous
58f3a6e29d
reroute merge logic language models + comprehensive tests + eval kits ( #2673 )
2025-06-02 20:32:57 -07:00
RunFMe
332eabf309
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
e76172c638
Merge pull request #2662 from Datta0/model_param_fix
...
Fix quant model param fetch regex
2025-06-01 04:19:12 -07:00
datta0
e8d6ede1fd
Make replacement logic conscise
2025-06-01 05:57:43 +00:00
Michael Han
45a32bc599
Update issue templates
2025-05-31 14:38:55 -07:00
datta0
f2a8a437b4
Fix quant model param fetch regex
2025-05-31 18:52:46 +00:00
Daniel Han
03965930e7
DeepSeek R1 Qwen
2025-05-30 01:38:53 -07:00
Daniel Han
f9677b6cae
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
95452eed81
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
623060ba29
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
026ba8e678
Create LICENSE
2025-05-28 03:27:48 -07:00
jeromeku
0b5ac8f2ab
Llama4 MoE Grouped GEMM ( #2639 )
...
* add llama4 reference layer
* add llama4 reference impl
* formatting
2025-05-28 03:26:35 -07:00
Premik
d8bf17959a
Check the skip_prepare_dataset before accessing dataset fields. #2496 ( #2633 )
2025-05-28 03:23:59 -07:00
Michael Han
ce9e54755f
Update README.md
...
Better Qwen3 notebook
2025-05-26 23:44:41 -07:00
Daniel Han
5327d1d36d
Flash Attention whls
2025-05-26 22:48:46 -07:00
Datta Nimmaturi
811422bbb4
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
a66f3f4cda
Colocate vLLM
2025-05-26 00:37:04 -07:00
Michael Han
1f4e74cb96
Update README.md
2025-05-25 03:35:43 -07:00
Quentin Gallouédec
ce5c2d2145
Remove dataset_text_field from SFTConfig ( #2609 )
2025-05-25 03:20:16 -07:00
Richi
f6c4be39b7
add: path checking for failed llama cpp builds ( #2603 )
2025-05-25 03:18:07 -07:00
Daniel Han
dd43200718
Devstral, MedGemma
2025-05-21 07:35:36 -07:00