Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1405 commits
Select commit Hold shift + click to select a range
8e2a102
Fix FSDP2 sharding and validate AO version for LR groups (#3403)
bekk02 Mar 5, 2026
28cc085
include number of params and rounded est of params so we can easily g…
winglian Mar 5, 2026
4b8bc52
fix: correct total_num_steps and batch_size calculation with context …
Yatimai Mar 5, 2026
1eaf4d7
add: support mxfp4 axo (#3375)
ved1beta Mar 5, 2026
6a8baf8
feat: add sonicmoe (#3411)
NanoCode012 Mar 5, 2026
234931d
extend pytest-sdist timeout to 30 min for slow/flaky tests (#3456) [s…
winglian Mar 5, 2026
6c44afa
chore: update pre-commit hooks (#3381) [skip ci]
github-actions[bot] Mar 6, 2026
56162f7
monkeypatch fix for fsdp with cpu ram efficient loading (#3464) [skip…
winglian Mar 6, 2026
cada93c
upgrade transformers==5.3.0 trl==0.29.0 kernels (#3459)
winglian Mar 6, 2026
da17c7c
fix: use dp_world_size instead of world_size for batch_size with tens…
Yatimai Mar 6, 2026
a260d33
add info about linting that was removed at some point (#3458) [skip ci]
winglian Mar 6, 2026
6c8c73e
fix(validation): add validation for lora target linear with quantize …
NanoCode012 Mar 6, 2026
c119382
add: qwen 3.5 (#3442)
ved1beta Mar 6, 2026
fc2d63e
use new tf32 APIs for torch 2.9+ (#3467) [skip ci]
winglian Mar 6, 2026
0a23ae0
fix: position_ids casted to int64 for qwen35 patch (#3468) [skip ci]
NanoCode012 Mar 6, 2026
d65e1b9
fix: add guard for _initialize_missing_keys patch (#3469) [skip ci]
NanoCode012 Mar 6, 2026
876941f
install flash-linear-attention (#3466)
winglian Mar 6, 2026
8f19169
tag for v0.15.0 release (#3470)
winglian Mar 6, 2026
46b9f40
bump dev version to 0.16.0.dev0 (#3472) [skip ci]
winglian Mar 6, 2026
80f7088
update setuptools so trl can be installed from main for nightlies (#3…
winglian Mar 6, 2026
a36aaa7
add gpu tests for scattermoe (#3474) [skip ci]
winglian Mar 7, 2026
43b1c80
load weights synchronously so they can be converted and not OOM: (#3477)
winglian Mar 7, 2026
cf4d550
fix: reduce permissions for preview docs CI (#3480) [skip ci]
NanoCode012 Mar 9, 2026
23ad40b
fix: disable async load when loading quantized bnb
NanoCode012 Mar 11, 2026
fccc712
builds for py312-cu128-torch2.9.1 (#3489)
winglian Mar 12, 2026
819b157
swap around what we're building for docker (#3490)
winglian Mar 12, 2026
79908b3
use ubuntu user instead of root for uv docker images (#3491)
winglian Mar 13, 2026
083c5a0
check ubuntu user and set uv python dir (#3492)
winglian Mar 13, 2026
e1ff756
become the ubuntu user when root logs in (#3494)
winglian Mar 13, 2026
ff77fa2
preserve env for root -> ubuntu user (#3495)
winglian Mar 13, 2026
d8a0574
Reverts commits 79908b3c6, 083c5a042, e1ff75624, ff77fa248. (#3496)
winglian Mar 13, 2026
a806704
moe quant patch for merge miss match (#3483)
ved1beta Mar 16, 2026
d8a646c
chore: logging cleanup (#3482) [skip ci]
NanoCode012 Mar 16, 2026
f56efdb
fix: high eval loss w/ sample packing (#3478) [skip ci]
ved1beta Mar 16, 2026
defee62
fix: fix CONTRIBUTING.md placeholders, bare except clauses, and add c…
Hadar01 Mar 16, 2026
4a5876d
fix: explicit set workflow permission and move secrets to necessary (…
NanoCode012 Mar 16, 2026
7da5f94
feat: add FA4 (#3481)
NanoCode012 Mar 16, 2026
a098df5
feat: add Mistral Small 4 (#3502)
NanoCode012 Mar 17, 2026
d230cbb
chore(doc): update readme (#3503) [skip ci]
NanoCode012 Mar 17, 2026
830e9f7
automatically enable tf32 if supported (#3473) [skip ci]
winglian Mar 17, 2026
8f3fb51
consolidate behavioud of routing in scattermoe kernels (#3475)
winglian Mar 17, 2026
999b3fe
fix: replace shell=True subprocess with argument list in modal CLI (#…
Hadar01 Mar 17, 2026
5ef3f28
Support for Async GRPO (#3486)
winglian Mar 17, 2026
f291ac0
fix for flaky tests in lora ops kernels w autotune (#3511) [skip ci]
winglian Mar 19, 2026
163bd4d
use custom triton kernels for entropy from logits and selective softm…
winglian Mar 19, 2026
bb483ad
make the CI fail GitHub Actions on test failures (#3517)
winglian Mar 19, 2026
1fc86d5
Scattermoe LoRA optimizations (#3513)
winglian Mar 20, 2026
7920fe7
fix num_labels= 1 test fail (#3493) [skip ci]
ved1beta Mar 20, 2026
113d275
qwen docs + new config (#3499) [skip ci]
ved1beta Mar 20, 2026
b3823cc
fix: gemma3 configs (#3500) [skip ci]
ved1beta Mar 20, 2026
c13cb7c
feat: add nemotron config (#3506)
ved1beta Mar 20, 2026
038ffe3
fix: solved double sequence partition from SequenceParallelContextMan…
lorenzbaraldi Mar 20, 2026
c57acef
Qwen3.5-MoE example config with lora_target_modules regex (#3515) [sk…
Nero10578 Mar 20, 2026
7ddfb2d
cleanup: remove dead SDPA patches (#3488) [skip ci]
OnePunchMonk Mar 20, 2026
5a5cf30
fix: add dequant bf16 repo (#3507) [skip ci]
NanoCode012 Mar 20, 2026
1bcfc08
feat: add support and end-to-end tests for multiple custom optimizers…
OnePunchMonk Mar 20, 2026
b0294b3
handle qwen3.5 moe loading (#3523) [skip ci]
winglian Mar 20, 2026
2c05847
reduce autotune search space (#3525) [skip ci]
winglian Mar 21, 2026
0ee98a0
fix token state json and mistral tokenizer issue (#3522) [skip ci]
winglian Mar 22, 2026
c9df6ef
support offloading layers to CPU (#3512) [skip ci]
winglian Mar 22, 2026
fc3b3d1
synthetic datasets for benchmarking and testing (#3518) [skip ci]
winglian Mar 22, 2026
5b2e3f0
fix: handle connection errors when checking user whoami (#3529)
winglian Mar 22, 2026
a67392c
liger support for qwen 3.5 and fused rmsnorm+gated (#3531) [skip ci]
winglian Mar 22, 2026
b3289fd
feat: LoRA kernel support for bias, dropout, dora, embeddings (#3528)…
winglian Mar 22, 2026
0e583ef
increase rtol, codecov informational only, don't silently fail errors…
winglian Mar 22, 2026
86be9f3
post merge lora fixes for CI (#3536) [skip ci]
winglian Mar 23, 2026
e412370
roundup_power2_divisions not needed with newer pytorch versions (#3540)
winglian Mar 24, 2026
e9883c9
fix: robust handling of race condition on patching check (#3543) [ski…
winglian Mar 24, 2026
c50c4ac
EBFT: Matching Features, Not Tokens: Energy-Based Fine-Tuning of Lang…
winglian Mar 24, 2026
1f1ebb8
feat: move to uv first
NanoCode012 Mar 25, 2026
2fb7279
Revert "feat: move to uv first" (#3544)
NanoCode012 Mar 25, 2026
c2bd75a
Nemo gym integration (#3516) [skip ci]
winglian Mar 25, 2026
678ebb1
Fix Ray train crashing after succeeding (#3542) [skip ci]
mhambre Mar 25, 2026
ff0f67c
feat: add custom routing support for ernie4_5_moe, and hunyuan_v1_moe…
OnePunchMonk Mar 25, 2026
b55706b
feat:merge-lora iterate through bins without loading (#3095)
ved1beta Mar 25, 2026
74b959e
dispatch scored rollouts to plugins, extend path for external plugins…
winglian Mar 25, 2026
5191e4e
More minor RL fixes (#3551)
winglian Mar 25, 2026
99bde01
deprecate torch 2.8.0 support (#3550)
winglian Mar 25, 2026
00dee05
support flattening/packing for GRPO (#3552)
winglian Mar 28, 2026
bb622b8
super nemo support (#3508)
ved1beta Mar 30, 2026
a81feab
DPO transformers v0.29 fixes (#3560) [skip ci]
BrownianNotion Mar 31, 2026
a4c9441
bug-fix: only apply patches when CUDA is available (#3561)
kallewoof Mar 31, 2026
5e5603c
upgrade transformers to 5.4.0 (#3562)
winglian Mar 31, 2026
9e64c76
qwen3.5 configs (#3554) [skip ci]
ved1beta Apr 1, 2026
f6c122b
allow bf16 flag but warn (#3563) [skip ci]
kallewoof Apr 1, 2026
438ea7b
chore: update pre-commit hooks (#3567) [skip ci]
github-actions[bot] Apr 1, 2026
96ae8bd
Add troubleshooting note for GLM4 GGUF MTP mismatch (#3559) [skip ci]
mariozupan Apr 1, 2026
1b1fc91
Add precompute_ref_log_probs to config schema (#3555) [skip ci]
joaquinhuigomez Apr 1, 2026
6c92b5c
lazy load trainer classes to prevent unnecesary imports (#3568)
winglian Apr 1, 2026
c92b71b
MX QAT patch (#3553)
ved1beta Apr 1, 2026
55a7950
fix: DPO tool role KeyError (#3217), dataset hash output_dir (#3303),…
Edward-Zion-Saji Apr 1, 2026
50e9573
Update lm-eval for transformers v5 support (#3571) [skip ci]
BrownianNotion Apr 2, 2026
16e3223
feat(docs): comprehensive improvement (#3564)
NanoCode012 Apr 2, 2026
842fa03
feat: add sonicmoe fused lora support (#3519)
NanoCode012 Apr 2, 2026
573726c
upgrade torchao to 0.17.0 (#3569)
winglian Apr 2, 2026
08fc7de
gemma4 support (#3574)
winglian Apr 2, 2026
900eec7
Fix DO_NOT_TRACK not being correctly handled (#3580)
maximegmd Apr 4, 2026
6f15da4
make it easier for agents to discover docs (#3579) [skip ci]
winglian Apr 6, 2026
dc638e7
fix(config): add cce and liger to nemotron-h example (#3573) [skip ci]
NanoCode012 Apr 6, 2026
149178d
chore: cleanup post release v0.16 (#3577)
NanoCode012 Apr 6, 2026
7c56809
use vllm 0.19.0 for torch 2.10.0 (#3582)
winglian Apr 7, 2026
7daf7d9
fix: regex for unfrozen language tower (#3586) [skip ci]
NanoCode012 Apr 8, 2026
4ef608d
fix ddp/fsdp w gemma4 (#3584)
winglian Apr 10, 2026
4dfa0a5
Add uninstall command to cut_cross_entropy import message (#3583) [sk…
floaty3 Apr 10, 2026
bfb4da1
fix: document jinja2 file path support (#3588) [skip ci]
NanoCode012 Apr 10, 2026
e7a6a5b
fix: move warning after we've set any overrides (#3589) [skip ci]
NanoCode012 Apr 10, 2026
315cdee
handle trainable/masked spans in content and reasoning content (#3592)
winglian Apr 10, 2026
29fa4de
Gemma4 fixes and profiler (#3591)
winglian Apr 10, 2026
e77a185
upgrade transformers to use v5.5.3 (#3593)
winglian Apr 10, 2026
122b50b
pre-cache the eot token ids rather than on each iteration (#3594) [sk…
winglian Apr 12, 2026
e2f6982
[fix][fsdp2] clone sharded param so original full size shard can be g…
winglian Apr 12, 2026
e079cf1
qwen3_5.jinja: handle list content on system messages (#3595) [skip ci]
joaquinhuigomez Apr 12, 2026
b8358aa
[gemma4] use mixed Flash Attention and SDPA and add fused RMSNorm+RoP…
winglian Apr 12, 2026
66c3e5a
better handling of dora merge on Conv layers in Qwen 3.5 (#3599)
winglian Apr 12, 2026
a44edda
Skip redundant evaluation when resuming from checkpoint (#3575) [skip…
joaquinhuigomez Apr 13, 2026
3985ec2
feat: add FineGrainedFP8Config support for model quantization (#3587)…
madScientist10 Apr 13, 2026
63a58cf
feat: support excess_length_strategy for RL trainers (#3578) [skip ci]
yurekami Apr 13, 2026
6990478
fix: rename model to adapter_model for fsdp sharded final model (#3585)
NanoCode012 Apr 13, 2026
323da79
bump transformers to 5.5.4 and trl to latest 1.1.0 (#3603)
winglian Apr 15, 2026
9de5b76
feat: move to uv first (#3545)
NanoCode012 Apr 21, 2026
e562e14
fix: [gemma4] fix VRAM leak in hybrid FA2+SDPA (hybrid attentiuon) pa…
thad0ctor Apr 21, 2026
05113bc
train on remote compute using Tinker compatible APIs (#3614)
winglian Apr 22, 2026
7420fd4
fix async prefetch with nemogym (#3606)
winglian Apr 22, 2026
90090fa
DPO support loss types (#3566)
BrownianNotion Apr 23, 2026
bcbe049
Feat: add support for datasets with `str` saved `messages` field (#3607)
brightwind26 Apr 23, 2026
1bf65c5
feat: add processor_kwargs YAML field forwarded to from_pretrained (#…
thad0ctor Apr 23, 2026
901f235
dpo collation/padding (#3601) [skip ci]
winglian Apr 23, 2026
17fc747
fix: docker build failing (#3622)
NanoCode012 Apr 24, 2026
798c8fb
chore: update docker docs (#3623)
NanoCode012 Apr 24, 2026
ac77da9
use smaller pretrained models for ci (#3620) [skip ci]
winglian Apr 27, 2026
ebbd7fa
feat: Add Mistral Medium 3.5 (#3633)
NanoCode012 Apr 29, 2026
e662972
Feat: Add bitnet integration (#3634)
younesbelkada Apr 30, 2026
6136ae6
Fix: add bitnet config (#3636)
younesbelkada Apr 30, 2026
e4032fc
Refactor separate attention flags with attn_implementation and capabi…
winglian May 5, 2026
c15f6cf
fix: FSDP FULL_STATE_DICT oom from memory leak (#3635)
ved1beta May 5, 2026
5352d41
feat: systemic multimodal assistant-only loss masking + cfg.role_boun…
thad0ctor May 5, 2026
e2f01de
Fix Axolotl ReLoRA optimizer reset scope (#3646)
winglian May 9, 2026
b7ec06b
Add optional Axolotl MoRA/ReMoRA integration (#3647) [skip ci]
winglian May 12, 2026
52c7843
Fix cu130 LD_LIBRARY_PATH startup (#3648) [skip ci]
winglian May 13, 2026
3e9639f
chore: update security policy to email rather than discord (#3645) [s…
NanoCode012 May 13, 2026
2e5baa4
fix: transformers moved fa utils broke ring fa (#3644) [skip ci]
NanoCode012 May 13, 2026
b7f787f
fix: processor_kwargs for mm_chat regression (#3643) [skip ci]
NanoCode012 May 13, 2026
72ea237
feat: add blackwell to docker arch list (#3641) [skip ci]
ved1beta May 13, 2026
f3f37a3
fix: preserve split slices for local file datasets (#3627) [skip ci]
cyc00518 May 13, 2026
b77e18d
fix: probe GPU capabilities on Ray worker, not driver (#3179) (#3619)…
zxuhan May 13, 2026
73d782b
qwen fft mutli (#3605) [skip ci]
ved1beta May 13, 2026
99451aa
feat: migrate gc_steps to native torch_empty_cache_steps (#3604) [ski…
SuperMarioYL May 13, 2026
3423b2f
fix un supported tensor for pTq (#3581) [skip ci]
ved1beta May 13, 2026
4f4d5d8
fix: make prepare_context_parallel_inputs no-op (#3520) [skip ci]
NanoCode012 May 13, 2026
bcb3b9e
test for moe activation vram leak (#3649)
ved1beta May 13, 2026
4f855f6
feat: support field_messages in multimodal collator (#3628) [skip ci]
cyc00518 May 13, 2026
d7cb1c9
feat: add pytorch 2.11 to base images (#3621)
winglian May 13, 2026
afd74ae
Fix: ci being broken (fa2, ray) (#3664)
NanoCode012 May 20, 2026
dc8f7c7
fix: ray batch_size derivation, fsdp schema migration, FakeExperts pe…
winglian May 20, 2026
cc25d3e
feat: add EP (#3632)
NanoCode012 May 21, 2026
97c2635
cp fix for mamba models (#3572) [skip ci]
ved1beta May 22, 2026
a4b00df
feat: update transformers to 5.8.1 (#3650) [skip ci]
NanoCode012 May 22, 2026
20f56fa
feat-qgalore (#3654) [skip ci]
ved1beta May 22, 2026
d198094
feat support with autoprocessor (#3656) [skip ci]
ved1beta May 22, 2026
bccc1e5
fix AssertionError: Original QKV code not found (#3657) [skip ci]
ved1beta May 22, 2026
65b5308
simpo (#3665) [skip ci]
ved1beta May 22, 2026
1d68aca
fix test_rm_lora rmv skip (#3669)
ved1beta May 22, 2026
a50dd98
fix: ep test missed teardown (#3674)
NanoCode012 May 26, 2026
b433cbd
fix broken MX tests from transformers 5.8.1 upgrade (#3679) [skip ci]
winglian May 26, 2026
b05ab9a
feat(fsdp2): add fp32_norms for keeping RMSNorm/LayerNorm in fp32 (#3…
winglian May 26, 2026
ab1a0d8
latest typer breaks HF CLI (#3684) [skip ci]
winglian May 26, 2026
3c4ff59
fix flaky ep tests (#3683) [skip ci]
winglian May 26, 2026
3aeb078
fix: shim Gemma4 use_kernels kernelize() crash on vision tower (#3687)
winglian May 28, 2026
d452e65
update to use same as latest it gemma4 chat template (#3686) [skip ci]
winglian May 28, 2026
3f478db
fix: refactor kernels patch to drop routing and inject into Expert (#…
NanoCode012 May 28, 2026
5c1a266
Fused ScatterMoE-LoRA for MXFP4 weights (#3663) [skip ci]
winglian May 28, 2026
9a79b68
tiled-MLP for MoE: MoE block patcher + FSDP2 reshard fix + grad-accum…
winglian May 28, 2026
135c4ee
fix modal call with explicit module flag for future deprecation (#366…
winglian May 28, 2026
91adc26
fix: respect has_aux contract in KD liger chunked loss (#3660)
roycho96 May 28, 2026
ead6bc7
scattermoe-lora: INT64_INDICES tl.constexpr in scatter2scatter family…
winglian May 28, 2026
280506e
feat(qwen): fused RMSNorm+RoPE for Qwen3/3.X family + Liger m-rope de…
thad0ctor May 29, 2026
5f23d93
fix: compute kd loss in trainer to bypass broken patch/inject paths (…
roycho96 May 29, 2026
bf19bff
test(scattermoe-lora): skip on CUDA OOM under xdist contention (#3689…
winglian May 29, 2026
6da2f9e
add pytorch 2.12 base and prune unused base images (#3697)
winglian Jun 1, 2026
3f6f8c6
bump transformers to 5.9.0 and trl to 1.5.1 (#3696)
winglian Jun 2, 2026
406aee4
prefer latest pytorch as gated e2e tests (#3698)
winglian Jun 2, 2026
09d325b
fix(ci): build pypi release via `uv build` instead of removed setup.p…
winglian Jun 3, 2026
41ef48f
fix(gemma4): key shared KV by layer_type on transformers >=5.8 (#3701)
thad0ctor Jun 4, 2026
e13bf16
test(ci): cut CPU test tail — drop dataset_num_proc to 1, split build…
winglian Jun 4, 2026
69f6d8b
lora kernel memory improvement (#3704)
winglian Jun 5, 2026
edcbeb7
perf(scattermoe-lora): grouped-Gram dA/dB + sync-free dX_lora for lar…
winglian Jun 7, 2026
45a17e9
perf(scattermoe): Blackwell sm120 MoE-LoRA — EP sentinel-skip, fused …
winglian Jun 7, 2026
ed761c6
build docker uv images w torch 2.11 and 2.12 (#3715)
winglian Jun 7, 2026
b99ae09
perf: expand torch.compile coverage to 4bit dequant (#3677)
thad0ctor Jun 8, 2026
77706d1
feat: when validating OptimizationValidationMixin, fsdp_version shoul…
SamuelLarkin Jun 9, 2026
2501b62
fix: tkps grad accu miscalculation (#3699) [skip ci]
NanoCode012 Jun 9, 2026
5a0dc63
Honor curriculum_sampling in AxolotlGRPOTrainer sampler (#3707) [skip…
lollinng Jun 9, 2026
56bfe64
fix: gc_collect_steps not honored (#3709) [skip ci]
thad0ctor Jun 9, 2026
ed10453
Feat/liger 0.8.0 bump (#3713)
thad0ctor Jun 9, 2026
a713e3c
perf: faster multimodal assistant-only masking (vectorized scanner) (…
thad0ctor Jun 9, 2026
22bcb9a
Multi-adapter MoE LoRA support (#3719)
winglian Jun 9, 2026
5ed506e
Feat: add gemma4 unified (#3706)
NanoCode012 Jun 15, 2026
ac35190
fix numpy version mismatch 4 pirate (#3662) [skip ci]
ved1beta Jun 15, 2026
b02ee14
fix(chat_templates): extract reasoning_content before reassigning con…
Anai-Guo Jun 15, 2026
a56fe86
fix qwen chat3.5 (#3728) [skip ci]
ved1beta Jun 15, 2026
277d524
feat(offload): hidden_states activation offloading + fix legacy/full-…
winglian Jun 15, 2026
fa7a665
fix: KTO user_defined dataset transform crashes on every documented c…
Ayushhgit Jun 16, 2026
bc7e265
fix: fail early for CI if meet CUDA error (#3737) [skip ci]
NanoCode012 Jun 16, 2026
e86163d
feat: add inference multi-turn chat interface (#3723)
NanoCode012 Jun 16, 2026
8eac710
feat(kernels): fast + low-memory MoE-LoRA for gemma4 (NVFP4/Marlin + …
winglian Jun 24, 2026
df327bb
feat(fsdp): expose fsdp's min_num_params for SIZE_BASED_WRAP in confi…
thad0ctor Jun 24, 2026
00e6258
Fix RAM OOM when loading large preprocessed SFT datasets (#3711) [ski…
ved1beta Jun 24, 2026
b3c9e07
fix(jinja): outdated template multi modal (#3736) [skip ci]
NanoCode012 Jun 24, 2026
989c993
fix: correct NameError in _get_messages when JSON decodes to non-list…
JSap0914 Jun 24, 2026
3ad474c
fix(dpo): user_defined strategy KeyError on custom field names (#3742)
vineethsaivs Jun 24, 2026
a6dd149
fix: avoid IndexError in metharme/reflection _tokenize on empty field…
vineethsaivs Jun 24, 2026
ba940e9
fix: remove non-uv images and general docker improvements (#3740)
NanoCode012 Jun 24, 2026
5412748
fix: cce update and post merge bugs (#3757)
NanoCode012 Jun 28, 2026
ed9514c
feat(glm_moe_dsa): GLM-5.2 DSA kernels, NVFP4 loading, and expert par…
winglian Jun 29, 2026
0bda5a1
feat(optimizers): add SinkGD stateless gradient multi-normalization o…
winglian Jun 30, 2026
c9b442f
build and test only torch 2.11.0+ w cu130 (#3761)
winglian Jul 1, 2026
f3be669
feat: add httpx (#3770)
NanoCode012 Jul 1, 2026
a68e7da
fix: pin version for httpx and not use pre-release (#3775)
NanoCode012 Jul 2, 2026
7379c1c
fix(merge): dequantize quantized bases before folding LoRA delta (#3771)
winglian Jul 2, 2026
9f8e548
Add checkpoint hidden-state activation offload (#3776)
winglian Jul 2, 2026
0e18eb2
fix(chat_template): train the Gemma turn terminator by default in exa…
thad0ctor Jul 2, 2026
bf0e7e2
fix: uv build dep from hf hub (#3783)
NanoCode012 Jul 2, 2026
0cfacb7
feat: register custom torch ops for in-repo kernels (#3788)
winglian Jul 3, 2026
5b2ae6b
fix(fsdp2): route quantized LoRA checkpoints through adapter gather (…
winglian Jul 3, 2026
61ae54d
move some package installs up to base to make downstream builds faste…
winglian Jul 3, 2026
a5bbe70
push some of the missed apt packages up to base (#3792)
winglian Jul 3, 2026
f51fa20
feat: selective activation checkpointing (save attention instead of r…
winglian Jul 3, 2026
68a2a07
strip out apt libs installs that were moved to base image (#3794)
winglian Jul 3, 2026
c35810d
feat: compile-clean multidoc routing for large-head attention (#3789)…
winglian Jul 4, 2026
8c42d32
fix: correct and streamline multipack packing decontamination across …
winglian Jul 4, 2026
8b1f7c1
fix: gemma4 gqa guard breaks under transformers 5.13 3-arg use_gqa_in…
winglian Jul 4, 2026
6a93dbf
perf(lora): route GatedDeltaNet projections through fused LoRA kernel…
thad0ctor Jul 5, 2026
122f13a
bumo trl (#3784)
ved1beta Jul 5, 2026
ec55b5e
fix(lora): correct fp32 NF4 dequant + harden fused GDN LoRA routing (…
winglian Jul 5, 2026
2e5caca
fix(fsdp2): use EP LoRA saver for quantized checkpoints (#3777)
winglian Jul 5, 2026
5e920c7
fix: improve validation error for jinja chat template (#3802) [skip ci]
lxcxjxhx Jul 7, 2026
3fa2cdc
docs(expert_parallel): pin DeepEP to v1.2.1 for the DISABLE_NVSHMEM p…
trevorgordon981 Jul 8, 2026
8297b78
fix(cli/vllm_serve): let explicit CLI False override config-enabled b…
Anai-Guo Jul 8, 2026
39c961e
streaming fix (#3717) [skip ci]
ved1beta Jul 8, 2026
629bafb
feat(lora): per-module rank/alpha overrides via rank_pattern / alpha_…
thad0ctor Jul 8, 2026
7988467
fix(lora): make fused LoRA backward torch.compile traceable (#3800)
thad0ctor Jul 8, 2026
51b840f
docs: expanded contributor, testing and agents guidance (#3748) [skip…
thad0ctor Jul 9, 2026
c7e3e80
ci: pin all GitHub Actions to full commit SHAs to prevent supply-chai…
XananasX7 Jul 9, 2026
9200864
feat(doc): add support matrix (#3782) [skip ci]
NanoCode012 Jul 9, 2026
e9def20
feat(ci): harden workflow checkout credentials + add dependabot (#380…
NanoCode012 Jul 9, 2026
8284de3
fix(expert_parallel): post-fix for glm dsa branch (#3781) [skip ci]
NanoCode012 Jul 9, 2026
f6d4379
feat(kernels): add NVFP4 LoRA sonicmoe support (#3780)
NanoCode012 Jul 9, 2026
5474569
Fix/lora attn kernel dropout gate (#3806)
thad0ctor Jul 9, 2026
6543c33
add torch 2.13 to base image build (#3816)
winglian Jul 9, 2026
6401a35
fix(scattermoe): upcast gates-branch grad_out under bf16 autocast (#3…
roycho96 Jul 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
41 changes: 41 additions & 0 deletions .axolotl-complete.bash
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#!/bin/bash

_axolotl_completions() {
local cur prev
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"

# If we're completing the first argument (the command)
if [[ $COMP_CWORD -eq 1 ]]; then
mapfile -t COMPREPLY < <(compgen -W "delinearize-llama4 fetch lm-eval merge-sharded-fsdp-weights quantize vllm-serve evaluate inference merge-lora preprocess train" -- "$cur")
return 0
fi

# Commands that should complete with directories and YAML files
local -a yaml_commands=("merge-sharded-fsdp-weights" "quantize" "vllm-serve" "evaluate" "inference" "merge-lora" "preprocess" "train")

# Check if previous word is in our list
if [[ " ${yaml_commands[*]} " =~ (^|[[:space:]])$prev($|[[:space:]]) ]]; then
# Use filename completion which handles directories properly
compopt -o filenames
mapfile -t COMPREPLY < <(compgen -f -- "$cur")

# Filter to only include directories and YAML files
local -a filtered=()
for item in "${COMPREPLY[@]}"; do
if [[ -d "$item" ]] || [[ "$item" == *.yaml ]] || [[ "$item" == *.yml ]]; then
filtered+=("$item")
fi
done
COMPREPLY=("${filtered[@]}")

return 0
fi

# Default: no completion
return 0
}

# Remove the -o nospace option - let filenames handle it
complete -F _axolotl_completions axolotl
2 changes: 1 addition & 1 deletion .bandit
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[bandit]
exclude = tests
skips = B101
skips = B101,B615,B102,B110
17 changes: 17 additions & 0 deletions .coderabbit.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
language: "en-US"
early_access: false
reviews:
profile: "chill"
request_changes_workflow: false
high_level_summary: true
review_status: true
collapse_walkthrough: true
poem: false
sequence_diagrams: false
auto_review:
enabled: true
drafts: false
auto_incremental_review: false
chat:
auto_reply: true
14 changes: 14 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[run]
source = axolotl
omit =
*/tests/*
setup.py

[report]
exclude_lines =
pragma: no cover
def __repr__
raise NotImplementedError
if __name__ == .__main__.:
pass
raise ImportError
5 changes: 0 additions & 5 deletions .flake8

This file was deleted.

64 changes: 55 additions & 9 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,38 +15,67 @@ First of all, thank you for your interest in contributing to axolotl! We appreci
- [Commit Messages](#commit-messages)
- [Additional Resources](#additional-resources)

## Code of Conductcode
## Code of Conduct

All contributors are expected to adhere to our [Code of Conduct](CODE_OF_CONDUCT.md). Please read it before participating in the axolotl community.

## Getting Started

Bugs? Please check for open issue else create a new [Issue](https://github.com/OpenAccess-AI-Collective/axolotl/issues/new).
Bugs? Please check for open issue else create a new [Issue](https://github.com/axolotl-ai-cloud/axolotl/issues/new).

PRs are **greatly welcome**!

1. Fork the repository and clone it to your local machine.
2. Set up the development environment by following the instructions in the [README.md](https://github.com/OpenAccess-AI-Collective/axolotl/tree/main/README.md) file.
2. Set up the development environment by following the instructions in the [README.md](https://github.com/axolotl-ai-cloud/axolotl/tree/main/README.md) file.
3. Explore the codebase, run tests, and verify that everything works as expected.

Please run below to setup env
```bash
pip3 install -r requirements-dev.txt -r requirements-tests.txt
# Install axolotl + dev and test dependencies
export UV_TORCH_BACKEND=cu128 # or cu130
uv venv --no-project --relocatable
source .venv/bin/activate
uv pip install --no-build-isolation -e '.[deepspeed]' --group dev --group test
pre-commit install

# test
pytest tests/
```

CI tests across a matrix of Python and PyTorch versions — see [tests.yml](workflows/tests.yml) for the current one. Tests default to `-m 'not slow'`. Run the CPU suite locally (GPU e2e runs in separate jobs — see below):

```bash
pytest -m "not slow" -n4 --dist loadfile --ignore=tests/e2e tests/
```

### Running e2e (GPU) tests locally

Recommended for larger changes before opening a PR. Needs an NVIDIA GPU. Run in the public Docker image with your checkout mounted ([docs/docker.qmd](../docs/docker.qmd) lists the available tags):

```bash
docker run --gpus all --rm -it --ipc=host -v "$PWD:/workspace/axolotl" -w /workspace/axolotl \
axolotlai/axolotl-uv:main-latest
```

The runtime image omits test deps, so install them, then run a test:

```bash
uv pip install --group test # tbparse, etc.
pytest tests/e2e/test_lora_llama.py # LoRA smoke test
pytest tests/e2e/multigpu/ # needs >= 2 GPUs
```

Some tests require flash-attn (`uv pip install flash-attn --no-build-isolation`). `cicd/cicd.sh` and `cicd/multigpu.sh` list CI's exact run order.

## How to Contribute

### Reporting Bugs

If you encounter a bug or issue while using axolotl, please open a new issue on the [GitHub Issues](https://github.com/OpenAccess-AI-Collective/axolotl/issues) page. Provide a clear and concise description of the problem, steps to reproduce it, and any relevant error messages or logs.
If you encounter a bug or issue while using axolotl, please open a new issue on the [GitHub Issues](https://github.com/axolotl-ai-cloud/axolotl/issues) page. Provide a clear and concise description of the problem, steps to reproduce it, and any relevant error messages or logs.

### Suggesting Enhancements

We welcome ideas for improvements and new features. To suggest an enhancement, open a new issue on the [GitHub Issues](https://github.com/OpenAccess-AI-Collective/axolotl/issues) page. Describe the enhancement in detail, explain the use case, and outline the benefits it would bring to the project.
We welcome ideas for improvements and new features. To suggest an enhancement, open a new issue on the [GitHub Issues](https://github.com/axolotl-ai-cloud/axolotl/issues) page. Describe the enhancement in detail, explain the use case, and outline the benefits it would bring to the project.

### Submitting Pull Requests

Expand All @@ -55,13 +84,30 @@ We welcome ideas for improvements and new features. To suggest an enhancement, o
3. Test your changes and ensure that they don't introduce new issues or break existing functionality.
4. Commit your changes, following the [commit message guidelines](#commit-messages).
5. Push your branch to your fork on GitHub.
6. Open a new pull request against the `main` branch of the axolotl repository. Include a clear and concise description of your changes, referencing any related issues.
6. Open a new pull request against the `main` branch of the axolotl repository. PR formatting is prescribed in the [PR template](PULL_REQUEST_TEMPLATE.md); reference any related issues.

#### Skipping CI Checks

You can skip certain CI checks by including specific keywords in your commit messages:

- `[skip ci]` or `skip ci` - Skips all CI checks for that commit
- `[skip-e2e]` or `skip-e2e` - Skips only end-to-end tests while running other CI checks. You may also include this in the title of your PR to disable end-to-end tests for the entire PR.

## Style Guidelines

### Code Style

axolotl uses [{codestyle}]({URLofCodestyle}) as its code style guide. Please ensure that your code follows these guidelines.
axolotl uses [Ruff](https://docs.astral.sh/ruff/) as its code style guide. Please ensure that your code follows these guidelines.

Use the pre-commit linter to ensure that your code is formatted consistently. It installs and runs the **exact versions CI uses**, so don't rely on a system-installed `ruff`/`mypy`:
```bash
pre-commit install # one-time
pre-commit run --all-files
```

The exact ruff/mypy/bandit versions are pinned in [`.pre-commit-config.yaml`](../.pre-commit-config.yaml) — the same file CI's pre-commit job runs from, so local and CI never drift.

To run ruff outside pre-commit, pin it to the `ruff-pre-commit` rev in that file so output matches CI, e.g. `uvx ruff@<rev> check` / `uvx ruff@<rev> format`.

### Commit Messages

Expand All @@ -71,6 +117,6 @@ Write clear and concise commit messages that briefly describe the changes made i

- [GitHub Help](https://help.github.com/)
- [GitHub Pull Request Documentation](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests)
- [{codestyle}]({URLofCodestyle})
- [Ruff](https://docs.astral.sh/ruff/)

Thank you once again for your interest in contributing to axolotl. We look forward to collaborating with you and creating an even better project together!
6 changes: 3 additions & 3 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# These are supported funding model platforms

github: [winglian, OpenAccess-AI-Collective] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: axolotl_ai # Replace with a single Ko-fi username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
custom: ['https://quickchart.io/qr?text=bitcoin%3Abc1qxlgwlqwfea5s2cxm42xqsfmwjct0rj8w8ea5np&size=480&centerImageUrl=https%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2Fthumb%2F4%2F46%2FBitcoin.svg%2F64px-Bitcoin.svg.png'] # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug-report.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ body:
label: "Please check that this issue hasn't been reported before."
description: "The **Label filters** may help make your search more focussed."
options:
- label: "I searched previous [Bug Reports](https://github.com/OpenAccess-AI-Collective/axolotl/labels/bug) didn't find any similar reports."
- label: "I searched previous [Bug Reports](https://github.com/axolotl-ai-cloud/axolotl/labels/bug) didn't find any similar reports."
required: true

- type: textarea
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
blank_issues_enabled: false
contact_links:
- name: Ask a question
url: https://github.com/OpenAccess-AI-Collective/axolotl/discussions/categories/q-a
url: https://github.com/axolotl-ai-cloud/axolotl/discussions/categories/q-a
about: Ask questions and discuss with other community members
- name: Discuss the Project in Discord
url: https://discord.gg/HhrNrHJPRb
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ body:
value: |
* Ask questions in [Discord](https://discord.gg/HhrNrHJPRb).
* Before you file an issue read the [Contributing guide](./CONTRIBUTING.md).
* Check to make sure someone hasn't already opened a [similar issue](https://github.com/OpenAccess-AI-Collective/axolotl/issues).
* Check to make sure someone hasn't already opened a [similar issue](https://github.com/axolotl-ai-cloud/axolotl/issues).
- type: textarea
attributes:
label: What piece of documentation is affected?
Expand Down
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/feature-request.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ body:
label: "⚠️ Please check that this feature request hasn't been suggested before."
description: "There are two locations for previous feature requests. Please search in both. Thank you. The **Label filters** may help make your search more focussed."
options:
- label: "I searched previous [Ideas in Discussions](https://github.com/OpenAccess-AI-Collective/axolotl/discussions/categories/ideas) didn't find any similar feature requests."
- label: "I searched previous [Ideas in Discussions](https://github.com/axolotl-ai-cloud/axolotl/discussions/categories/ideas) didn't find any similar feature requests."
required: true
- label: "I searched previous [Issues](https://github.com/OpenAccess-AI-Collective/axolotl/labels/enhancement) didn't find any similar feature requests."
- label: "I searched previous [Issues](https://github.com/axolotl-ai-cloud/axolotl/labels/enhancement) didn't find any similar feature requests."
required: true

- type: textarea
Expand Down
5 changes: 5 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,11 @@
<!--- Include details of your testing environment, tests ran to see how -->
<!--- your change affects other areas of the code, etc. -->

## AI Usage Disclaimer

<!--- Was AI (e.g., ChatGPT, Claude, Copilot) used to generate or assist with this PR? -->
<!--- Please indicate: No / Yes (specify which tool and to what extent) -->

## Screenshots (if appropriate)

## Types of changes
Expand Down
2 changes: 1 addition & 1 deletion .github/SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@ Due to the nature of the fast development that is happening in this project, onl

## Reporting a Vulnerability

If you find a vulnerability, please contact us on [Discord](https://discord.gg/xcu3ECkH9a) rather than creating a GitHub issue to allow us some time to fix it before it is a known vulnerability to others.
If you find a vulnerability, please contact us by email `wing@axolotl.ai` rather than creating a GitHub issue to allow us some time to fix it before it is a known vulnerability to others.
6 changes: 6 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
Loading