Commit graph

3,297 commits

Author SHA1 Message Date
Daniel Han
33b0343ec5
Merge pull request #3879 from ducviet00/fix-gc
Disable gradient checkpointing when explicitly off for vision
2026-01-14 04:32:02 -08:00
Michael Han
d5724cab2c
Update template.md 2026-01-14 03:45:35 -08:00
Daniel Han
b96a04c17b
Merge pull request #3880 from f14-bertolotti/f14-wrong-ndim
wrong number of dimensions
2026-01-12 21:32:48 -08:00
Daniel Han
56900ab2ef
Apply suggestion from @danielhanchen 2026-01-12 21:32:20 -08:00
Daniel Han
3c07273051
Merge pull request #3881 from unslothai/pre-commit-ci-update-config
[pre-commit.ci] pre-commit autoupdate
2026-01-12 21:29:58 -08:00
pre-commit-ci[bot]
4a2b199a16
[pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.14.10 → v0.14.11](https://github.com/astral-sh/ruff-pre-commit/compare/v0.14.10...v0.14.11)
2026-01-12 19:08:13 +00:00
Francesco Bertolotti
4d1cea5919
wrong number of dimensions 2026-01-12 16:19:43 +01:00
Duc-Viet Hoang
52d8014d4f
Complete disable gradient_checkpointing for vision when use_gradient_checkpointing=False 2026-01-12 10:03:54 +07:00
Daniel Han
ec1757c1a0
Merge pull request #3865 from ykaitao/ktyang_configure_embedding_for_training
reduce code duplication by _offload_frozen_module_for_training
2026-01-09 21:02:55 -08:00
danielhanchen
8a5cf6ae0a fix: use peft.utils.other for ModulesToSaveWrapper import
ModulesToSaveWrapper was removed from peft.tuners.tuners_utils in PEFT
0.16.0. The class has been available in peft.utils.other since at least
PEFT 0.7.1, which is the minimum version Unsloth requires.

This fixes the ImportError when using PEFT >= 0.16.0.
2026-01-09 23:24:39 +00:00
Kaitao Yang
dcd47ab763 reduce code duplication by _offload_frozen_module_for_training 2026-01-09 06:07:38 -08:00
Daniel Han
29e3b7c560
Merge pull request #3869 from hnxnq7/fix-kaggle-telemetry-detection
Fix Kaggle telemetry misclassification when COLAB_ keys exist
2026-01-08 17:29:23 -08:00
pre-commit-ci[bot]
6ec845e952 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2026-01-09 00:33:01 +00:00
Rachel Li
c15611ea9e
Fix Kaggle telemetry detection & address review feedback
- Fix Kaggle misclassification by prioritizing filesystem markers over env vars
- Preserve telemetry pings when statistics is explicitly provided
- Replace bare except with except Exception
- Minor cleanup based on automated review feedback
2026-01-08 19:32:33 -05:00
Rachel Li
31d9720b4e
Fix telemetry ping regression for explicit statistics
Fixed Codex regression: keep snapshot_download pings for explicit statistics values; detection only runs when statistics is None. Also replaced bare except.
2026-01-08 19:20:24 -05:00
pre-commit-ci[bot]
f61dcfccdc [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2026-01-09 00:04:59 +00:00
Rachel Li
ca171b482f
Update _utils.py
fixed indentation
2026-01-08 19:04:30 -05:00
pre-commit-ci[bot]
74fbeb6cda [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2026-01-08 23:49:55 +00:00
Rachel Li
ae2b7a14c3
Fix Kaggle telemetry misclassification when COLAB_ keys exist
Problem: Kaggle notebook environments can expose both KAGGLE_* and COLAB_* environment keys. _get_statistics currently checks COLAB_ before KAGGLE_, causing Kaggle sessions to be labeled colab/colabpro.

Prefer filesystem markers (e.g. /kaggle/working, /content + /opt/colab) before env-key heuristics, then fall back to the existing env-key checks. This avoids misclassification when providers leak overlapping env vars.

Kaggle test notebook: https://www.kaggle.com/code/hnxnq07/kaggle-stats-gathering-test
2026-01-08 18:44:22 -05:00
Daniel Han
010775fbde
Merge pull request #3612 from Vangmay/feature/raw-text-dataprep
Feature/raw text dataprep
2026-01-08 03:38:15 -08:00
pre-commit-ci[bot]
8c506a27c4 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2026-01-08 11:35:21 +00:00
Daniel Han
56ebc94c94 Fix bugs and add improvements to RawTextDataLoader
- Fix test file: use return_tokenized instead of return_tensors
- Fix test file: use text_dataset instead of undefined dataset variable
- Move parameter validation to constructor (fail fast on invalid params)
- Add labels field in tokenized output for causal LM training
- Add empty file handling with clear error message
- Add tests for constructor validation and labels field
2026-01-08 11:35:00 +00:00
Daniel Han
c8c0b26d02
Merge pull request #3863 from unslothai/fix/fbgemm-cutlass-errors-sm100
Fix FBGEMM/CUTLASS errors on SM100 (Blackwell) GPUs
2026-01-08 03:19:53 -08:00
pre-commit-ci[bot]
e038da1491 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2026-01-08 04:15:17 +00:00
danielhanchen
2e55a5e1d5 Fix FBGEMM/CUTLASS errors on SM100 (Blackwell) GPUs
This PR fixes the "Arch conditional MMA instruction used without targeting
appropriate compute capability. Aborting." errors that occur when using
FBGEMM on Blackwell GPUs (B200/B100, SM100).

Changes:
- Add stderr filters in import_fixes.py for CUTLASS/FBGEMM MMA errors
- Add warning filters for various deprecation messages
- Update check_fbgemm_gpu_version() to disable FBGEMM instead of raising
  an error when old versions are detected
- Update test_has_fbgemm() in fp8.py to catch broader CUTLASS/CUDA errors
  and gracefully fall back to Triton kernels
- Update loader_utils.py to disable FBGEMM instead of raising ValueError
  for old fbgemm_gpu versions

The key behavior change is that FBGEMM errors no longer crash the script.
Instead, FBGEMM is disabled and Triton kernels are used automatically.
This allows Unsloth to work on SM100 GPUs where CUTLASS SM90 kernels fail,
and also gracefully handles old FBGEMM versions.
2026-01-08 04:14:53 +00:00
Daniel Han
f3f9d14887
Merge pull request #3857 from Datta0/modelscope_stats
[ModelScope] Disable stats when modelscope is being used
2026-01-06 02:56:55 -08:00
pre-commit-ci[bot]
14204ea65a [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2026-01-06 10:00:17 +00:00
Datta Nimmaturi
6b94be00f4
Check env var explicitly
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-01-06 15:30:06 +05:30
Datta Nimmaturi
8ce5813767 Disable stats when modelscope is being used 2026-01-06 09:53:20 +00:00
Daniel Han
e731f0b551 Versioning 2026-01-05 07:37:08 -08:00
Daniel Han
0b862a7a04
Merge pull request #3843 from unslothai/fix-grpo-version-compat
Unify Version usage and fix TRL version handling
2026-01-05 06:07:41 -08:00
Daniel Han
def6506c96
Merge pull request #3851 from unslothai/grpo-fix-on-pr3754
GRPO: restore model mode after generate (stacked on #3754)
2026-01-05 06:05:24 -08:00
danielhanchen
dafd25f13b Merge main into grpo-fix-on-pr3754 2026-01-05 14:02:18 +00:00
danielhanchen
ef533cddf7 Revert rl_replacements GRPO edits 2026-01-05 13:55:08 +00:00
danielhanchen
6918e2d31a Fix GRPO training state restoration 2026-01-05 13:50:48 +00:00
pre-commit-ci[bot]
242f0996b4 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2026-01-05 13:39:16 +00:00
danielhanchen
d83a5f4e7c Restore TRL version fallback in rl.py 2026-01-05 13:39:03 +00:00
Daniel Han
de43cf3430 Merge branch 'main' into fix-grpo-version-compat 2026-01-05 05:31:42 -08:00
danielhanchen
d74f5a562f Drop rl.py GRPO changes from this branch 2026-01-05 13:29:58 +00:00
Daniel Han
964fdf2563
Merge pull request #3849 from unslothai/fix-pdl-use-vllm-version-check
Replace GitHub API check with vLLM version check for PDL fix
2026-01-05 05:22:16 -08:00
pre-commit-ci[bot]
5951247b54 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2026-01-05 13:19:44 +00:00
Daniel Han
a85ad30f65 Address review feedback: add constant and debug logging 2026-01-05 13:19:37 +00:00
Daniel Han
65f95f579b Replace GitHub API check with vLLM version check for PDL fix
The GitHub issue check had issues:
1. Network latency on import
2. Issue being closed does not mean the fix is in the installed vLLM version

Now skip the PDL workaround if vLLM version > 0.13.2, which is when
the upstream fix is expected to be included.
2026-01-05 13:15:17 +00:00
Daniel Han
06c00b06b4
Merge pull request #3836 from ykaitao/remove_unused_variable_BlockDiagonalCausalMask
remove unused variable BlockDiagonalCausalMask
2026-01-05 04:42:25 -08:00
Daniel Han
3e193d08c3
Merge pull request #3842 from unslothai/fix-vllm-chat-template-sync
Sync chat_template from tokenizer to vLLM
2026-01-05 04:38:39 -08:00
Daniel Han
fcf43c6c29
Merge pull request #3841 from unslothai/fix-vllm-pdl-blackwell
Fix vLLM PDL bug on Blackwell GPUs (B200/B100)
2026-01-05 04:37:58 -08:00
Daniel Han
5e091e5ac5 Keep PDL module check but remove unnecessary env var setting
The check skips the GitHub API call for old vLLM versions.
No need to set TRITON_DISABLE_PDL for versions without PDL support.
2026-01-05 12:34:32 +00:00
Daniel Han
7090393ae2 Remove unnecessary PDL module existence check
Old vLLM versions without PDL modules don't need the fix.
The patching code already handles missing modules gracefully.
2026-01-05 12:32:16 +00:00
Daniel Han
0a07009eb5 Add None check for vLLM tokenizer
- Check _vllm_tok is not None before accessing attributes
- Use getattr for safer chat_template access
2026-01-05 10:02:11 +00:00
pre-commit-ci[bot]
9ce417b445 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2026-01-05 07:03:35 +00:00