unsloth/.github
Daniel Han 7855571abb CI(Core): all-models compile sweep + dynamic TRL trainer/experimental coverage
Two extensions to the strict-mode matrix:

1. Compiler full-model-sweep. The previous step parametrized
   `unsloth_compile_transformers` over [llama, qwen3, gemma3] only.
   Replace with `pkgutil.iter_modules(transformers.models.*)` walk so
   every model_type the matrix's transformers ships gets exercised
   (~383 packages on transformers 4.57.6, similar on latest). Local
   verification: 362 / 383 compile cleanly in 108s wall (~0.31s/model
   mean). 21 model_types currently break the rewriter; they are
   listed in KNOWN_BROKEN_COMPILE in the shim, split by failure
   category for follow-up unsloth-zoo PRs:
     A. `string index out of range` (6): colpali, colqwen2, dpr,
        rag, shieldgemma2, timm_backbone.
     B. emit invalid Python (8): clvp, electra, falcon_mamba, gpt2,
        imagegpt, mamba, tapas, xlstm.
     C. emit unclosed paren (2): kosmos2, kosmos2_5.
     D. attribute error on imports (4): auto, bit, regnet, resnet.
     E. undefined name in emitted file (1): perceiver.
   New failures on any OTHER model_type fail the cell. Floor of >=200
   ok models guards against transformers-induced wholesale regression.

2. Dynamic TRL trainer + experimental coverage. The previous discovery
   sweep only counted *Trainer / *Config discovery; it did not verify
   unsloth ACTUALLY patches what it discovers. Two new pytest cases
   in the same shim:
     - `test_unsloth_patches_every_canonical_trainer_in_this_trl_version`:
       enumerate canonical trainers via filesystem walk, run
       patch_trl_rl_trainers(), assert each is Unsloth-prefixed.
       Floor matches cohort sizes (18 / 15 / 6 trainers across
       0.22-0.23 / 0.24-0.28 / 0.29-1.x).
     - `test_unsloth_patches_experimental_trainers_via_thin_wrappers`:
       walk `trl/experimental/*` AST for *Trainer classes, verify
       unsloth's MRO-walk fallback (rl.py:677-702) reaches them.
       TRL 0.29+ moved 9 trainers (bco/cpo/gkd/nash_md/online_dpo/
       orpo/ppo/prm/xpo) to trl.experimental; we want the matrix to
       confirm patching reaches that surface, not just the canonical
       6.

Wall-time per cell: compile sweep ~2-3 min warm; trainer sweep ~30-60s.
Total cell budget remains under 35 min including the existing llama.cpp
build.
2026-05-07 09:01:41 +00:00
..
ISSUE_TEMPLATE Update issue template 2026-03-23 10:10:15 +05:30
workflows CI(Core): all-models compile sweep + dynamic TRL trainer/experimental coverage 2026-05-07 09:01:41 +00:00
CODEOWNERS Update CODEOWNERS 2026-03-13 13:38:19 -07:00
dependabot.yml CI(security): defense-in-depth additions across 7 axes 2026-05-07 00:09:40 +00:00
FUNDING.yml Update FUNDING.yml (#3792) 2025-12-28 19:57:43 -08:00