liger-kernel-nightly 0.6.0.dev20250718045752__tar.gz → 0.6.4.dev20260121000828__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of liger-kernel-nightly might be problematic. Click here for more details.
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/.github/workflows/amd-ci.yml +6 -8
- liger_kernel_nightly-0.6.4.dev20260121000828/.github/workflows/benchmark.yml +172 -0
- liger_kernel_nightly-0.6.4.dev20260121000828/.github/workflows/docs.yml +64 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/.github/workflows/intel-ci.yml +3 -6
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/.github/workflows/nvi-ci.yml +6 -9
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/.github/workflows/publish-nightly.yml +2 -2
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/.github/workflows/publish-release.yml +2 -2
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/.gitignore +2 -1
- liger_kernel_nightly-0.6.4.dev20260121000828/.pre-commit-config.yaml +10 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/Makefile +9 -1
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/PKG-INFO +33 -22
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/README.md +28 -17
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/data/all_benchmark_data.csv +480 -30
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_cpo_loss.py +14 -8
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_cross_entropy.py +4 -1
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_dpo_loss.py +14 -16
- liger_kernel_nightly-0.6.4.dev20260121000828/benchmark/scripts/benchmark_fused_add_rms_norm.py +201 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_fused_linear_cross_entropy.py +30 -16
- liger_kernel_nightly-0.6.4.dev20260121000828/benchmark/scripts/benchmark_grpo_loss.py +234 -0
- liger_kernel_nightly-0.6.4.dev20260121000828/benchmark/scripts/benchmark_llama4_rope.py +249 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_orpo_loss.py +14 -8
- liger_kernel_nightly-0.6.4.dev20260121000828/benchmark/scripts/benchmark_poly_norm.py +197 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_simpo_loss.py +14 -8
- liger_kernel_nightly-0.6.4.dev20260121000828/benchmark/scripts/benchmark_tiled_mlp.py +397 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_tvd.py +7 -4
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/dev/modal/benchmarks.py +1 -1
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/dev/modal/tests.py +1 -1
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/dev/modal/tests_bwd.py +1 -1
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/docs/Examples.md +1 -1
- liger_kernel_nightly-0.6.4.dev20260121000828/docs/High-Level-APIs.md +93 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/docs/acknowledgement.md +0 -1
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/docs/contributing.md +45 -48
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/docs/index.md +8 -10
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/alignment/run_orpo.py +1 -1
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/training.py +2 -2
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/training_multimodal.py +1 -1
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/medusa/train.py +1 -1
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/mkdocs.yml +27 -9
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/pyproject.toml +29 -1
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/setup.py +35 -6
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/chunked_loss/cosine_similarity_loss.py +20 -5
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/chunked_loss/dpo_loss.py +54 -3
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/chunked_loss/fused_linear_distillation.py +23 -5
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/chunked_loss/fused_linear_ppo.py +25 -5
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/chunked_loss/grpo_loss.py +46 -9
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/chunked_loss/jsd_loss.py +44 -13
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/__init__.py +141 -0
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/backends/README.md +151 -0
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/backends/__init__.py +13 -0
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/backends/_ascend/__init__.py +5 -0
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/backends/_ascend/ascend-ub-manager-design.md +485 -0
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/backends/_ascend/ops/__init__.py +49 -0
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/backends/_ascend/ops/geglu.py +266 -0
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/backends/_ascend/ops/qwen2vl_mrope.py +285 -0
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/backends/_ascend/ops/rope.py +290 -0
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/backends/_ascend/ops/swiglu.py +142 -0
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/backends/_ascend/ops/tvd.py +221 -0
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/backends/_ascend/ub_manager.py +349 -0
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/backends/registry.py +61 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/cross_entropy.py +130 -64
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/dyt.py +5 -2
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/fused_add_rms_norm.py +410 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/fused_linear_cross_entropy.py +115 -22
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/geglu.py +5 -3
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/group_norm.py +12 -8
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/grpo_loss.py +3 -1
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/kl_div.py +8 -11
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/layer_norm.py +138 -83
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/llama4_rope.py +225 -0
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/poly_norm.py +384 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/rms_norm.py +151 -73
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/rope.py +1 -1
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/ops/tiled_mlp.py +136 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/utils.py +25 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/__init__.py +62 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/auto_model.py +21 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/cross_entropy.py +9 -4
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/dyt.py +1 -1
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/experimental/__init__.py +5 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/experimental/embedding.py +1 -1
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/functional.py +56 -24
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/fused_add_rms_norm.py +39 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/fused_linear_cross_entropy.py +17 -5
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/fused_linear_jsd.py +1 -1
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/fused_neighborhood_attention.py +1 -1
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/geglu.py +1 -1
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/group_norm.py +1 -1
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/grpo_loss.py +57 -2
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/jsd.py +1 -1
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/kl_div.py +1 -1
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/layer_norm.py +1 -1
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/llama4_rope.py +93 -0
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model/exaone4.py +136 -0
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model/falcon_h1.py +122 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/gemma.py +19 -7
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/gemma2.py +25 -10
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/gemma3.py +62 -18
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/glm4.py +18 -5
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model/glm4v.py +163 -0
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model/glm4v_moe.py +172 -0
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model/gpt_oss.py +211 -0
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model/hunyuan_v1.py +134 -0
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model/internvl.py +157 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/llama.py +16 -6
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/llama4.py +18 -5
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/llava.py +18 -6
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/loss_utils.py +40 -3
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/mistral.py +17 -7
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/mixtral.py +24 -9
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/mllama.py +18 -7
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/olmo2.py +18 -5
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model/olmo3.py +142 -0
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model/output_classes.py +147 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/paligemma.py +42 -5
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model/phi3.py +120 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/qwen2.py +18 -4
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model/qwen2_5_vl.py +163 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/qwen2_vl.py +24 -7
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/qwen3.py +22 -6
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/model/qwen3_moe.py +27 -7
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model/qwen3_next.py +146 -0
- liger_kernel_nightly-0.6.0.dev20250718045752/src/liger_kernel/transformers/model/qwen2_5_vl.py → liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model/qwen3_vl.py +17 -17
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model/qwen3_vl_moe.py +126 -0
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model/smollm3.py +199 -0
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model/smolvlm.py +158 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/monkey_patch.py +1210 -73
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/multi_token_attention.py +2 -2
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/poly_norm.py +42 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/qwen2vl_mrope.py +1 -1
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/rms_norm.py +15 -3
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/rope.py +64 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/softmax.py +1 -1
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/sparsemax.py +1 -1
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/swiglu.py +18 -1
- liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/tiled_mlp.py +125 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/tvd.py +1 -1
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/utils.py +52 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel_nightly.egg-info/PKG-INFO +33 -22
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel_nightly.egg-info/SOURCES.txt +48 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel_nightly.egg-info/requires.txt +4 -4
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/chunked_loss/test_cosine_loss.py +1 -1
- liger_kernel_nightly-0.6.4.dev20260121000828/test/chunked_loss/test_dpo_loss.py +938 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/chunked_loss/test_grpo_loss.py +234 -26
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/chunked_loss/test_jsd_loss.py +32 -11
- liger_kernel_nightly-0.6.4.dev20260121000828/test/conftest.py +15 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/convergence/bf16/test_mini_models.py +961 -20
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/convergence/bf16/test_mini_models_multimodal.py +433 -6
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/convergence/bf16/test_mini_models_with_logits.py +901 -31
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/convergence/fp32/test_mini_models.py +920 -19
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/convergence/fp32/test_mini_models_multimodal.py +577 -10
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/convergence/fp32/test_mini_models_with_logits.py +865 -0
- liger_kernel_nightly-0.6.4.dev20260121000828/test/resources/fake_configs/HuggingFaceTB/SmolVLM2-256M-Video-Instruct/tokenizer_config.json +1192 -0
- liger_kernel_nightly-0.6.4.dev20260121000828/test/resources/fake_configs/OpenGVLab/InternVL3-1B-hf/tokenizer_config.json +307 -0
- liger_kernel_nightly-0.6.4.dev20260121000828/test/resources/fake_configs/Qwen/Qwen3-VL-4B-Instruct/tokenizer_config.json +63 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_auto_model.py +35 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_cross_entropy.py +126 -6
- liger_kernel_nightly-0.6.0.dev20250718045752/test/transformers/test_rms_norm.py → liger_kernel_nightly-0.6.4.dev20260121000828/test/transformers/test_fused_add_rms_norm.py +69 -35
- liger_kernel_nightly-0.6.4.dev20260121000828/test/transformers/test_fused_linear_cross_entropy.py +955 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_geglu.py +4 -4
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_group_norm.py +5 -11
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_jsd.py +29 -1
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_layer_norm.py +4 -0
- liger_kernel_nightly-0.6.4.dev20260121000828/test/transformers/test_llama4_rope.py +149 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_monkey_patch.py +1886 -564
- liger_kernel_nightly-0.6.4.dev20260121000828/test/transformers/test_poly_norm.py +281 -0
- liger_kernel_nightly-0.6.4.dev20260121000828/test/transformers/test_rms_norm.py +311 -0
- liger_kernel_nightly-0.6.4.dev20260121000828/test/transformers/test_tiled_mlp.py +197 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/utils.py +212 -8
- liger_kernel_nightly-0.6.0.dev20250718045752/.github/workflows/benchmark.yml +0 -93
- liger_kernel_nightly-0.6.0.dev20250718045752/.github/workflows/docs.yml +0 -30
- liger_kernel_nightly-0.6.0.dev20250718045752/docs/High-Level-APIs.md +0 -30
- liger_kernel_nightly-0.6.0.dev20250718045752/src/liger_kernel/transformers/model/phi3.py +0 -263
- liger_kernel_nightly-0.6.0.dev20250718045752/src/liger_kernel/transformers/rope.py +0 -20
- liger_kernel_nightly-0.6.0.dev20250718045752/test/chunked_loss/test_dpo_loss.py +0 -358
- liger_kernel_nightly-0.6.0.dev20250718045752/test/conftest.py +0 -8
- liger_kernel_nightly-0.6.0.dev20250718045752/test/convergence/fp32/__init__.py +0 -0
- liger_kernel_nightly-0.6.0.dev20250718045752/test/transformers/test_fused_linear_cross_entropy.py +0 -347
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/.github/pull_request_template.md +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/LICENSE +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/NOTICE +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/README.md +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/__init__.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/benchmarks_visualizer.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/__init__.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_distill_cosine_loss.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_distill_jsd_loss.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_dyt.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_embedding.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_fused_linear_jsd.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_fused_neighborhood_attention.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_geglu.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_group_norm.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_jsd.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_kl_div.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_kto_loss.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_layer_norm.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_multi_token_attention.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_qwen2vl_mrope.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_rms_norm.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_rope.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_softmax.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_sparse_multi_token_attention.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_sparsemax.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/benchmark_swiglu.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/benchmark/scripts/utils.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/dev/fmt-requirements.txt +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/docs/Getting-Started.md +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/docs/Low-Level-APIs.md +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/docs/images/banner.GIF +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/docs/images/compose.gif +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/docs/images/e2e-memory.png +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/docs/images/e2e-tps.png +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/docs/images/logo-banner.png +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/docs/images/patch.gif +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/docs/images/post-training.png +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/docs/license.md +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/alignment/accelerate_config.yaml +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/README.md +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/callback.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/config/fsdp_config.json +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/img/gemma_7b_mem.png +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/img/gemma_7b_tp.png +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/img/llama_mem_alloc.png +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/img/llama_tps.png +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/img/qwen_mem_alloc.png +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/img/qwen_tps.png +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/launch_on_modal.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/requirements.txt +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/run_benchmarks.sh +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/run_gemma.sh +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/run_llama.sh +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/run_qwen.sh +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/huggingface/run_qwen2_vl.sh +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/lightning/README.md +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/lightning/requirements.txt +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/lightning/training.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/medusa/README.md +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/medusa/callback.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/medusa/docs/images/Memory_Stage1_num_head_3.png +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/medusa/docs/images/Memory_Stage1_num_head_5.png +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/medusa/docs/images/Memory_Stage2_num_head_3.png +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/medusa/docs/images/Memory_Stage2_num_head_5.png +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/medusa/docs/images/Throughput_Stage1_num_head_3.png +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/medusa/docs/images/Throughput_Stage1_num_head_5.png +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/medusa/docs/images/Throughput_Stage2_num_head_3.png +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/medusa/docs/images/Throughput_Stage2_num_head_5.png +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/medusa/fsdp/acc-fsdp.conf +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/medusa/medusa_util.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/medusa/requirements.txt +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/examples/medusa/scripts/llama3_8b_medusa.sh +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/licenses/LICENSE-Apache-2.0 +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/licenses/LICENSE-MIT-AutoAWQ +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/licenses/LICENSE-MIT-Efficient-Cross-Entropy +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/licenses/LICENSE-MIT-llmc +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/licenses/LICENSE-MIT-triton +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/setup.cfg +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/__init__.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/chunked_loss/README.md +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/chunked_loss/__init__.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/chunked_loss/cpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/chunked_loss/functional.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/chunked_loss/fused_linear_preference.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/chunked_loss/fused_linear_unpaired_preference.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/chunked_loss/kto_loss.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/chunked_loss/orpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/chunked_loss/simpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/env_report.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/experimental/embedding.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/experimental/mm_int8int2.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/fused_linear_jsd.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/fused_neighborhood_attention.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/jsd.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/multi_token_attention.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/qwen2vl_mrope.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/softmax.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/sparsemax.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/swiglu.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/ops/tvd.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/fsdp.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752/src/liger_kernel/ops → liger_kernel_nightly-0.6.4.dev20260121000828/src/liger_kernel/transformers/model}/__init__.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/trainer/__init__.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/trainer/orpo_trainer.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/transformers/trainer_integration.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/triton/__init__.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel/triton/monkey_patch.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel_nightly.egg-info/dependency_links.txt +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/src/liger_kernel_nightly.egg-info/top_level.txt +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752/src/liger_kernel/transformers/model → liger_kernel_nightly-0.6.4.dev20260121000828/test}/__init__.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752/test → liger_kernel_nightly-0.6.4.dev20260121000828/test/chunked_loss}/__init__.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/chunked_loss/test_cpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/chunked_loss/test_kto_loss.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/chunked_loss/test_orpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/chunked_loss/test_simpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752/test/chunked_loss → liger_kernel_nightly-0.6.4.dev20260121000828/test/convergence}/__init__.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752/test/convergence → liger_kernel_nightly-0.6.4.dev20260121000828/test/convergence/bf16}/__init__.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752/test/convergence/bf16 → liger_kernel_nightly-0.6.4.dev20260121000828/test/convergence/fp32}/__init__.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/resources/fake_configs/Google/Gemma3/gemma-3-4b-it/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/resources/fake_configs/Google/Paligemma/paligemma-3b-pt-224/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/resources/fake_configs/Llava/llava-1.5-7b-hf/preprocessor_config.json +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/resources/fake_configs/Llava/llava-1.5-7b-hf/processor_config.json +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/resources/fake_configs/Llava/llava-1.5-7b-hf/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/resources/fake_configs/Qwen/Qwen2-VL-7B-Instruct/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/resources/fake_configs/Qwen/Qwen2.5-VL-7B-Instruct/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/resources/fake_configs/meta-llama/Llama-3.2-11B-Vision-Instruct/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/resources/fake_configs/meta-llama/Llama-4-Scout-17B-16E-Instruct/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/resources/scripts/generate_tokenized_dataset.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/resources/tiny_shakespeare.txt +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/resources/tiny_shakespeare_tokenized/data-00000-of-00001.arrow +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/resources/tiny_shakespeare_tokenized/dataset_info.json +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/resources/tiny_shakespeare_tokenized/state.json +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_dyt.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_embedding.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_flex_attention.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_fused_linear_jsd.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_fused_neighborhood_attention.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_grpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_kl_div.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_mm_int8int2.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_multi_token_attention.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_qwen2vl_mrope.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_rope.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_softmax.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_sparsemax.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_swiglu.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_trainer_integration.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_transformers.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/transformers/test_tvd.py +0 -0
- {liger_kernel_nightly-0.6.0.dev20250718045752 → liger_kernel_nightly-0.6.4.dev20260121000828}/test/triton/test_triton_monkey_patch.py +0 -0
|
@@ -13,9 +13,6 @@ on:
|
|
|
13
13
|
paths:
|
|
14
14
|
- "src/**"
|
|
15
15
|
- "test/**"
|
|
16
|
-
schedule:
|
|
17
|
-
# Runs at 00:00 UTC daily
|
|
18
|
-
- cron: '0 0 * * *'
|
|
19
16
|
workflow_dispatch: # Enables manual trigger
|
|
20
17
|
|
|
21
18
|
concurrency:
|
|
@@ -29,10 +26,10 @@ jobs:
|
|
|
29
26
|
|
|
30
27
|
steps:
|
|
31
28
|
- name: Checkout code
|
|
32
|
-
uses: actions/checkout@
|
|
29
|
+
uses: actions/checkout@v6
|
|
33
30
|
|
|
34
31
|
- name: Set up Python
|
|
35
|
-
uses: actions/setup-python@
|
|
32
|
+
uses: actions/setup-python@v6
|
|
36
33
|
with:
|
|
37
34
|
python-version: '3.10'
|
|
38
35
|
|
|
@@ -53,10 +50,10 @@ jobs:
|
|
|
53
50
|
|
|
54
51
|
steps:
|
|
55
52
|
- name: Checkout code
|
|
56
|
-
uses: actions/checkout@
|
|
53
|
+
uses: actions/checkout@v6
|
|
57
54
|
|
|
58
55
|
- name: Set up Python
|
|
59
|
-
uses: actions/setup-python@
|
|
56
|
+
uses: actions/setup-python@v6
|
|
60
57
|
with:
|
|
61
58
|
python-version: '3.10'
|
|
62
59
|
|
|
@@ -64,7 +61,8 @@ jobs:
|
|
|
64
61
|
run: |
|
|
65
62
|
rocm-smi
|
|
66
63
|
python -m pip install --upgrade pip
|
|
67
|
-
pip install -e .[dev]
|
|
64
|
+
pip install -e .[dev]
|
|
65
|
+
pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm${{ matrix.rocm_version }}/
|
|
68
66
|
|
|
69
67
|
- name: List Python Environments
|
|
70
68
|
run: python -m pip list
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
name: Benchmarks
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
6
|
+
schedule:
|
|
7
|
+
# Runs at 00:00 UTC every Friday
|
|
8
|
+
- cron: '0 0 * * 5'
|
|
9
|
+
workflow_dispatch: # Enables manual trigger
|
|
10
|
+
inputs:
|
|
11
|
+
commit_hash:
|
|
12
|
+
description: 'Commit hash to benchmark'
|
|
13
|
+
default: 'main'
|
|
14
|
+
overwrite:
|
|
15
|
+
description: 'Overwrite existing benchmark data if it exists'
|
|
16
|
+
type: boolean
|
|
17
|
+
default: false
|
|
18
|
+
|
|
19
|
+
permissions:
|
|
20
|
+
contents: write
|
|
21
|
+
|
|
22
|
+
concurrency:
|
|
23
|
+
# This causes it to cancel previous in-progress actions on the same PR / branch,
|
|
24
|
+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
|
25
|
+
cancel-in-progress: true
|
|
26
|
+
|
|
27
|
+
jobs:
|
|
28
|
+
benchmarks:
|
|
29
|
+
runs-on: ubuntu-latest
|
|
30
|
+
env:
|
|
31
|
+
MODAL_TOKEN_ID: ${{ secrets.MODAL_TOKEN_ID }}
|
|
32
|
+
MODAL_TOKEN_SECRET: ${{ secrets.MODAL_TOKEN_SECRET }}
|
|
33
|
+
GITHUB_USERNAME: linkedin
|
|
34
|
+
REPO_NAME: Liger-Kernel
|
|
35
|
+
OUTPUT_DIR: benchmarks
|
|
36
|
+
OUTPUT_FILENAME: benchmark.csv
|
|
37
|
+
GENERATED_CSV: benchmark/data/all_benchmark_data.csv
|
|
38
|
+
# Sanitize user-controlled inputs by declaring them as environment variables
|
|
39
|
+
# This prevents command injection attacks by filtering dangerous characters
|
|
40
|
+
INPUT_COMMIT_HASH: ${{ github.event.inputs.commit_hash }}
|
|
41
|
+
INPUT_OVERWRITE: ${{ github.event.inputs.overwrite }}
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
steps:
|
|
45
|
+
# Step: Decide the commit hash to use
|
|
46
|
+
# Step: Checkout full history so we can check out any commit
|
|
47
|
+
- name: Checkout full repo history
|
|
48
|
+
uses: actions/checkout@v6
|
|
49
|
+
with:
|
|
50
|
+
fetch-depth: 0 # Important: so we can checkout arbitrary commit
|
|
51
|
+
|
|
52
|
+
- name: Determine commit hash to checkout
|
|
53
|
+
id: choose_commit
|
|
54
|
+
run: |
|
|
55
|
+
if [ "${{ github.event_name}}" == "workflow_dispatch" ] && [ "$INPUT_COMMIT_HASH" != "main" ]; then
|
|
56
|
+
echo "Using manual input commit: $INPUT_COMMIT_HASH"
|
|
57
|
+
echo "hash=$INPUT_COMMIT_HASH" >> $GITHUB_OUTPUT
|
|
58
|
+
else
|
|
59
|
+
echo "Using latest commit from main"
|
|
60
|
+
echo "hash=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
|
|
61
|
+
fi
|
|
62
|
+
|
|
63
|
+
# Step: Conditionally replace benchmark folder from main
|
|
64
|
+
- name: Replace benchmark folder from main (manual only, commit ≠ main)
|
|
65
|
+
if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.commit_hash != 'main' }}
|
|
66
|
+
run: |
|
|
67
|
+
echo "Detected manual trigger with commit_hash = $INPUT_COMMIT_HASH"
|
|
68
|
+
|
|
69
|
+
# Save current branch (detached HEAD at old commit)
|
|
70
|
+
ORIG_COMMIT="$INPUT_COMMIT_HASH"
|
|
71
|
+
|
|
72
|
+
# Fetch and checkout main
|
|
73
|
+
git fetch origin main
|
|
74
|
+
git checkout origin/main -- benchmark/
|
|
75
|
+
|
|
76
|
+
# Save benchmark folder from main
|
|
77
|
+
cp -r benchmark /tmp/benchmark_main
|
|
78
|
+
# Checkout back to target commit
|
|
79
|
+
git checkout "$ORIG_COMMIT"
|
|
80
|
+
# Replace old benchmark with one from main
|
|
81
|
+
rm -rf benchmark
|
|
82
|
+
cp -r /tmp/benchmark_main benchmark
|
|
83
|
+
|
|
84
|
+
# Step: Check if benchmark exists and exit if overwrite is false
|
|
85
|
+
- name: Check existing benchmark
|
|
86
|
+
run: |
|
|
87
|
+
COMMIT_HASH="${{ steps.choose_commit.outputs.hash }}"
|
|
88
|
+
BENCHMARK_URL="https://raw.githubusercontent.com/linkedin/Liger-Kernel/refs/heads/gh-pages/benchmarks/${COMMIT_HASH}/benchmark.csv"
|
|
89
|
+
|
|
90
|
+
if curl --output /dev/null --silent --head --fail "$BENCHMARK_URL"; then
|
|
91
|
+
echo "Benchmark already exists for commit $COMMIT_HASH"
|
|
92
|
+
if [ "$INPUT_OVERWRITE" != "true" ]; then
|
|
93
|
+
echo "Overwrite is false - exiting"
|
|
94
|
+
exit 1
|
|
95
|
+
else
|
|
96
|
+
echo "Overwrite is true - proceeding"
|
|
97
|
+
fi
|
|
98
|
+
else
|
|
99
|
+
echo "No existing benchmark found - proceeding"
|
|
100
|
+
fi
|
|
101
|
+
|
|
102
|
+
- name: Set up Python
|
|
103
|
+
uses: actions/setup-python@v6
|
|
104
|
+
with:
|
|
105
|
+
python-version: '3.10'
|
|
106
|
+
|
|
107
|
+
# Install dependencies
|
|
108
|
+
- name: Install dependencies
|
|
109
|
+
run: |
|
|
110
|
+
python -m pip install --upgrade pip
|
|
111
|
+
pip install modal
|
|
112
|
+
|
|
113
|
+
# Delete previous benchmark results.
|
|
114
|
+
- name: Remove previous benchmark data
|
|
115
|
+
run: |
|
|
116
|
+
rm -f benchmark/data/all_benchmark_data.csv
|
|
117
|
+
|
|
118
|
+
- name: Run benchmarks on GPU
|
|
119
|
+
run: |
|
|
120
|
+
modal run dev.modal.benchmarks
|
|
121
|
+
|
|
122
|
+
# Step 5: Checkout gh-pages branch in a subfolderAdd commentMore actions
|
|
123
|
+
- name: Checkout gh-pages
|
|
124
|
+
uses: actions/checkout@v6
|
|
125
|
+
with:
|
|
126
|
+
ref: gh-pages
|
|
127
|
+
path: gh-pages
|
|
128
|
+
|
|
129
|
+
# Step 6: Copy benchmark CSV to gh-pages directory
|
|
130
|
+
- name: Copy generated benchmark to gh-pages
|
|
131
|
+
id: copy_benchmark
|
|
132
|
+
run: |
|
|
133
|
+
if [[ "${{ github.event_name }}" == "release" ]]; then
|
|
134
|
+
echo "Release event detected"
|
|
135
|
+
path=${{steps.choose_commit.outputs.hash}}-${{ github.event.release.tag_name }}
|
|
136
|
+
else
|
|
137
|
+
echo "Not a release event"
|
|
138
|
+
path=${{steps.choose_commit.outputs.hash}}
|
|
139
|
+
fi
|
|
140
|
+
echo "path=$path" >> $GITHUB_OUTPUT
|
|
141
|
+
COMMIT_DIR="gh-pages/${OUTPUT_DIR}/${path}"
|
|
142
|
+
|
|
143
|
+
mkdir -p "$COMMIT_DIR"
|
|
144
|
+
|
|
145
|
+
if [ -f "$COMMIT_DIR/${OUTPUT_FILENAME}" ]; then
|
|
146
|
+
echo "Removing existing benchmark.csv for this commit"
|
|
147
|
+
rm "$COMMIT_DIR/${OUTPUT_FILENAME}"
|
|
148
|
+
fi
|
|
149
|
+
|
|
150
|
+
cp "${GENERATED_CSV}" "$COMMIT_DIR/${OUTPUT_FILENAME}"
|
|
151
|
+
|
|
152
|
+
# Step 7: Append commit hash to commits.txt if not already present
|
|
153
|
+
- name: Update commits.txt
|
|
154
|
+
run: |
|
|
155
|
+
cd gh-pages
|
|
156
|
+
echo "commits.txt file path: ${OUTPUT_DIR}/commits.txt"
|
|
157
|
+
# Create file if it doesn't exist
|
|
158
|
+
mkdir -p ${OUTPUT_DIR}
|
|
159
|
+
touch ${OUTPUT_DIR}/commits.txt
|
|
160
|
+
|
|
161
|
+
echo "${{ steps.copy_benchmark.outputs.path }}" >> ${OUTPUT_DIR}/commits.txt
|
|
162
|
+
|
|
163
|
+
echo "Added commit hash to commits.txt"
|
|
164
|
+
# Step 7: Commit and push
|
|
165
|
+
- name: Commit and push to gh-pages
|
|
166
|
+
run: |
|
|
167
|
+
cd gh-pages
|
|
168
|
+
git config user.name github-actions[bot]
|
|
169
|
+
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
|
|
170
|
+
git add .
|
|
171
|
+
git commit -m "Add benchmark for commit ${{ steps.copy_benchmark.outputs.path }}" || echo "No changes to commit"
|
|
172
|
+
git push origin gh-pages
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
name: Publish documentation
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
branches:
|
|
5
|
+
- main
|
|
6
|
+
paths:
|
|
7
|
+
- 'docs/**'
|
|
8
|
+
- 'mkdocs.yml'
|
|
9
|
+
|
|
10
|
+
permissions:
|
|
11
|
+
contents: write
|
|
12
|
+
jobs:
|
|
13
|
+
deploy:
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v6
|
|
17
|
+
- name: Configure Git Credentials
|
|
18
|
+
run: |
|
|
19
|
+
git config user.name github-actions[bot]
|
|
20
|
+
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
|
|
21
|
+
- uses: actions/setup-python@v6
|
|
22
|
+
with:
|
|
23
|
+
python-version: 3.x
|
|
24
|
+
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
|
|
25
|
+
- uses: actions/cache@v5
|
|
26
|
+
with:
|
|
27
|
+
key: mkdocs-material-${{ env.cache_id }}
|
|
28
|
+
path: .cache
|
|
29
|
+
restore-keys: |
|
|
30
|
+
mkdocs-material-
|
|
31
|
+
- run: pip install mkdocs-material mkdocstrings[python]
|
|
32
|
+
# ====== Backup the benchmarks from gh-pages ======
|
|
33
|
+
# This is necessary because the benchmarks are not included in the documentation build process.
|
|
34
|
+
# So we need to backup the benchmarks from gh-pages and restore them after the documentation is built.
|
|
35
|
+
- name: Backup benchmarks from gh-pages
|
|
36
|
+
run: |
|
|
37
|
+
git fetch origin gh-pages
|
|
38
|
+
# create worktree bound to local gh-pages, tracking origin/gh-pages
|
|
39
|
+
git branch -f gh-pages origin/gh-pages || true
|
|
40
|
+
mkdir -p ghp && git worktree add ghp gh-pages || true
|
|
41
|
+
if [ -d ghp/benchmarks ]; then
|
|
42
|
+
tar -C ghp -czf /tmp/benchmarks.tgz benchmarks
|
|
43
|
+
fi
|
|
44
|
+
# IMPORTANT: remove worktree so gh-pages isn't checked out anywhere
|
|
45
|
+
git worktree remove ghp --force || true
|
|
46
|
+
echo "Backed up benchmarks from gh-pages"
|
|
47
|
+
# ====== Deploy the documentation ======
|
|
48
|
+
- name: Deploy documentation
|
|
49
|
+
run: mkdocs gh-deploy --force
|
|
50
|
+
# ====== Restore the benchmarks onto gh-pages ======
|
|
51
|
+
# This is necessary because the benchmarks are not included in the documentation build process.
|
|
52
|
+
# So we need to restore the benchmarks onto gh-pages after the documentation is built.
|
|
53
|
+
- name: Restore benchmarks onto gh-pages
|
|
54
|
+
run: |
|
|
55
|
+
# Refresh remote tracking and recreate a clean worktree
|
|
56
|
+
git fetch origin gh-pages
|
|
57
|
+
git worktree add -B gh-pages ghp origin/gh-pages
|
|
58
|
+
if [ -f /tmp/benchmarks.tgz ]; then
|
|
59
|
+
tar -C ghp -xzf /tmp/benchmarks.tgz
|
|
60
|
+
git -C ghp add -A
|
|
61
|
+
git -C ghp commit -m "Restore benchmarks after gh-deploy" || echo "No changes"
|
|
62
|
+
git -C ghp push origin gh-pages
|
|
63
|
+
fi
|
|
64
|
+
git worktree remove ghp --force || true
|
|
@@ -13,9 +13,6 @@ on:
|
|
|
13
13
|
paths:
|
|
14
14
|
- "src/**"
|
|
15
15
|
- "test/**"
|
|
16
|
-
schedule:
|
|
17
|
-
# Runs at 00:00 UTC daily
|
|
18
|
-
- cron: '0 0 * * *'
|
|
19
16
|
workflow_dispatch: # Enables manual trigger
|
|
20
17
|
|
|
21
18
|
concurrency:
|
|
@@ -29,10 +26,10 @@ jobs:
|
|
|
29
26
|
|
|
30
27
|
steps:
|
|
31
28
|
- name: Checkout code
|
|
32
|
-
uses: actions/checkout@
|
|
29
|
+
uses: actions/checkout@v6
|
|
33
30
|
|
|
34
31
|
- name: Set up Python
|
|
35
|
-
uses: actions/setup-python@
|
|
32
|
+
uses: actions/setup-python@v6
|
|
36
33
|
with:
|
|
37
34
|
python-version: '3.10'
|
|
38
35
|
|
|
@@ -61,7 +58,7 @@ jobs:
|
|
|
61
58
|
apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
62
59
|
|
|
63
60
|
- name: Checkout code
|
|
64
|
-
uses: actions/checkout@
|
|
61
|
+
uses: actions/checkout@v6
|
|
65
62
|
|
|
66
63
|
- name: Setup Dependencies
|
|
67
64
|
shell: bash
|
|
@@ -13,9 +13,6 @@ on:
|
|
|
13
13
|
paths:
|
|
14
14
|
- "src/**"
|
|
15
15
|
- "test/**"
|
|
16
|
-
schedule:
|
|
17
|
-
# Runs at 00:00 UTC daily
|
|
18
|
-
- cron: '0 0 * * *'
|
|
19
16
|
workflow_dispatch: # Enables manual trigger
|
|
20
17
|
|
|
21
18
|
concurrency:
|
|
@@ -28,10 +25,10 @@ jobs:
|
|
|
28
25
|
|
|
29
26
|
steps:
|
|
30
27
|
- name: Checkout code
|
|
31
|
-
uses: actions/checkout@
|
|
28
|
+
uses: actions/checkout@v6
|
|
32
29
|
|
|
33
30
|
- name: Set up Python
|
|
34
|
-
uses: actions/setup-python@
|
|
31
|
+
uses: actions/setup-python@v6
|
|
35
32
|
with:
|
|
36
33
|
python-version: '3.10'
|
|
37
34
|
|
|
@@ -52,10 +49,10 @@ jobs:
|
|
|
52
49
|
|
|
53
50
|
steps:
|
|
54
51
|
- name: Checkout code
|
|
55
|
-
uses: actions/checkout@
|
|
52
|
+
uses: actions/checkout@v6
|
|
56
53
|
|
|
57
54
|
- name: Set up Python
|
|
58
|
-
uses: actions/setup-python@
|
|
55
|
+
uses: actions/setup-python@v6
|
|
59
56
|
with:
|
|
60
57
|
python-version: '3.10'
|
|
61
58
|
|
|
@@ -78,10 +75,10 @@ jobs:
|
|
|
78
75
|
|
|
79
76
|
steps:
|
|
80
77
|
- name: Checkout code
|
|
81
|
-
uses: actions/checkout@
|
|
78
|
+
uses: actions/checkout@v6
|
|
82
79
|
|
|
83
80
|
- name: Set up Python
|
|
84
|
-
uses: actions/setup-python@
|
|
81
|
+
uses: actions/setup-python@v6
|
|
85
82
|
with:
|
|
86
83
|
python-version: '3.10'
|
|
87
84
|
|
|
@@ -5,7 +5,15 @@ all: checkstyle test test-convergence
|
|
|
5
5
|
|
|
6
6
|
# Command to run pytest for correctness tests
|
|
7
7
|
test:
|
|
8
|
-
python -m pytest --disable-warnings
|
|
8
|
+
python -m pytest --disable-warnings \
|
|
9
|
+
--cov=src/liger_kernel \
|
|
10
|
+
--cov-report=term-missing \
|
|
11
|
+
--ignore=test/convergence \
|
|
12
|
+
test/
|
|
13
|
+
|
|
14
|
+
# Command to run coverage report
|
|
15
|
+
coverage:
|
|
16
|
+
coverage report -m
|
|
9
17
|
|
|
10
18
|
# Command to run ruff for linting and formatting code
|
|
11
19
|
checkstyle:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: liger_kernel_nightly
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.4.dev20260121000828
|
|
4
4
|
Summary: Efficient Triton kernels for LLM Training
|
|
5
5
|
License: BSD 2-CLAUSE LICENSE
|
|
6
6
|
Copyright 2024 LinkedIn Corporation
|
|
@@ -35,17 +35,17 @@ Requires-Dist: triton>=2.3.1
|
|
|
35
35
|
Provides-Extra: dev
|
|
36
36
|
Requires-Dist: transformers>=4.49.0; extra == "dev"
|
|
37
37
|
Requires-Dist: matplotlib>=3.7.2; extra == "dev"
|
|
38
|
-
Requires-Dist:
|
|
39
|
-
Requires-Dist: black>=24.4.2; extra == "dev"
|
|
40
|
-
Requires-Dist: isort>=5.13.2; extra == "dev"
|
|
38
|
+
Requires-Dist: ruff>=0.12.0; extra == "dev"
|
|
41
39
|
Requires-Dist: pytest>=7.1.2; extra == "dev"
|
|
42
40
|
Requires-Dist: pytest-xdist; extra == "dev"
|
|
41
|
+
Requires-Dist: pytest-cov; extra == "dev"
|
|
42
|
+
Requires-Dist: pytest-asyncio; extra == "dev"
|
|
43
43
|
Requires-Dist: pytest-rerunfailures; extra == "dev"
|
|
44
44
|
Requires-Dist: datasets>=2.19.2; extra == "dev"
|
|
45
45
|
Requires-Dist: seaborn; extra == "dev"
|
|
46
|
-
Requires-Dist: mkdocs; extra == "dev"
|
|
47
46
|
Requires-Dist: mkdocs-material; extra == "dev"
|
|
48
47
|
Requires-Dist: torchvision>=0.20; extra == "dev"
|
|
48
|
+
Requires-Dist: prek>=0.2.28; extra == "dev"
|
|
49
49
|
|
|
50
50
|
<a name="readme-top"></a>
|
|
51
51
|
|
|
@@ -80,8 +80,8 @@ Requires-Dist: torchvision>=0.20; extra == "dev"
|
|
|
80
80
|
</a>
|
|
81
81
|
</td>
|
|
82
82
|
<td style="padding: 10px;">
|
|
83
|
-
<a href="https://discord.gg/
|
|
84
|
-
<img src="https://dcbadge.
|
|
83
|
+
<a href="https://discord.gg/X4MaxPgA">
|
|
84
|
+
<img src="https://dcbadge.limes.pink/api/server/https://discord.gg/X4MaxPgA?style=flat" alt="Join Our Discord">
|
|
85
85
|
</a>
|
|
86
86
|
</td>
|
|
87
87
|
</tr>
|
|
@@ -96,6 +96,7 @@ Requires-Dist: torchvision>=0.20; extra == "dev"
|
|
|
96
96
|
<details>
|
|
97
97
|
<summary>Latest News 🔥</summary>
|
|
98
98
|
|
|
99
|
+
- [2025/12/19] We announced a liger kernel discord channel at https://discord.gg/X4MaxPgA; We will be hosting Liger Kernel x Triton China Meetup in mid of January 2026
|
|
99
100
|
- [2025/03/06] We release a joint blog post on TorchTune × Liger - [Peak Performance, Minimized Memory: Optimizing torchtune’s performance with torch.compile & Liger Kernel](https://pytorch.org/blog/peak-performance-minimized-memory/)
|
|
100
101
|
- [2024/12/11] We release [v0.5.0](https://github.com/linkedin/Liger-Kernel/releases/tag/v0.5.0): 80% more memory efficient post training losses (DPO, ORPO, CPO, etc)!
|
|
101
102
|
- [2024/12/5] We release LinkedIn Engineering Blog - [Liger-Kernel: Empowering an open source ecosystem of Triton Kernels for Efficient LLM Training](https://www.linkedin.com/blog/engineering/open-source/liger-kernel-open-source-ecosystem-for-efficient-llm-training)
|
|
@@ -114,6 +115,8 @@ We've also added optimized Post-Training kernels that deliver **up to 80% memory
|
|
|
114
115
|
|
|
115
116
|
You can view the documentation site for additional installation, usage examples, and API references:https://linkedin.github.io/Liger-Kernel/
|
|
116
117
|
|
|
118
|
+
You can view the Liger Kernel Technical Report: https://openreview.net/forum?id=36SjAIT42G
|
|
119
|
+
|
|
117
120
|
## Supercharge Your Model with Liger Kernel
|
|
118
121
|
|
|
119
122
|

|
|
@@ -178,8 +181,8 @@ y = orpo_loss(lm_head.weight, x, target)
|
|
|
178
181
|
- `triton >= 3.0.0` Install from pypi. (e.g. `pip install triton==3.0.0`)
|
|
179
182
|
|
|
180
183
|
```bash
|
|
181
|
-
|
|
182
|
-
|
|
184
|
+
pip install -e .[dev]
|
|
185
|
+
pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm6.3/
|
|
183
186
|
```
|
|
184
187
|
|
|
185
188
|
### Optional Dependencies
|
|
@@ -213,6 +216,9 @@ pip install -e .
|
|
|
213
216
|
|
|
214
217
|
# Setup Development Dependencies
|
|
215
218
|
pip install -e ".[dev]"
|
|
219
|
+
|
|
220
|
+
# NOTE -> For AMD users only
|
|
221
|
+
pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm6.3/
|
|
216
222
|
```
|
|
217
223
|
|
|
218
224
|
|
|
@@ -308,7 +314,12 @@ loss.backward()
|
|
|
308
314
|
| Phi3 & Phi3.5 | `liger_kernel.transformers.apply_liger_kernel_to_phi3` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
|
|
309
315
|
| Granite 3.0 & 3.1 | `liger_kernel.transformers.apply_liger_kernel_to_granite` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss |
|
|
310
316
|
| OLMo2 | `liger_kernel.transformers.apply_liger_kernel_to_olmo2` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
|
|
317
|
+
| Olmo3 | `liger_kernel.transformers.apply_liger_kernel_to_olmo3` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
|
|
311
318
|
| GLM-4 | `liger_kernel.transformers.apply_liger_kernel_to_glm4` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
|
|
319
|
+
| GPT-OSS | `liger_kernel.transformers.apply_liger_kernel_to_gpt_oss` | RoPE, RMSNorm, CrossEntropyLoss, FusedLinearCrossEntropy |
|
|
320
|
+
| InternVL3 | `liger_kernel.transformers.apply_liger_kernel_to_internvl` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
|
|
321
|
+
| HunyuanV1 | `liger_kernel.transformers.apply_liger_kernel_to_hunyuan_v1_dense` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
|
|
322
|
+
| HunyuanV1 MoE | `liger_kernel.transformers.apply_liger_kernel_to_hunyuan_v1_moe` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
|
|
312
323
|
|
|
313
324
|
|
|
314
325
|
## Low-level APIs
|
|
@@ -388,17 +399,17 @@ loss.backward()
|
|
|
388
399
|
<td style="padding: 10px;">
|
|
389
400
|
<div style="display: block;">
|
|
390
401
|
<a href="https://github.com/linkedin/Liger-Kernel/actions/workflows/nvi-ci.yml">
|
|
391
|
-
<img src="https://github.com/linkedin/Liger-Kernel/actions/workflows/nvi-ci.yml/badge.svg?event=
|
|
402
|
+
<img src="https://github.com/linkedin/Liger-Kernel/actions/workflows/nvi-ci.yml/badge.svg?branch=main&event=push" alt="Build">
|
|
392
403
|
</a>
|
|
393
404
|
</div>
|
|
394
405
|
<div style="display: block;">
|
|
395
406
|
<a href="https://github.com/linkedin/Liger-Kernel/actions/workflows/amd-ci.yml">
|
|
396
|
-
<img src="https://github.com/linkedin/Liger-Kernel/actions/workflows/amd-ci.yml/badge.svg?event=
|
|
407
|
+
<img src="https://github.com/linkedin/Liger-Kernel/actions/workflows/amd-ci.yml/badge.svg?branch=main&event=push" alt="Build">
|
|
397
408
|
</a>
|
|
398
409
|
</div>
|
|
399
410
|
<div style="display: block;">
|
|
400
|
-
<a href="https://github.com/linkedin/Liger-Kernel/actions/workflows/
|
|
401
|
-
<img src="https://github.com/linkedin/Liger-Kernel/actions/workflows/intel-ci.yml/badge.svg?event=
|
|
411
|
+
<a href="https://github.com/linkedin/Liger-Kernel/actions/workflows/intel-ci.yml">
|
|
412
|
+
<img src="https://github.com/linkedin/Liger-Kernel/actions/workflows/intel-ci.yml/badge.svg?branch=main&event=push" alt="Build">
|
|
402
413
|
</a>
|
|
403
414
|
</div>
|
|
404
415
|
</td>
|
|
@@ -417,15 +428,13 @@ loss.backward()
|
|
|
417
428
|
|
|
418
429
|
Biblatex entry:
|
|
419
430
|
```bib
|
|
420
|
-
@
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
url={https://openreview.net/forum?id=36SjAIT42G},
|
|
428
|
-
journal={Proceedings of the ICML 2025 Workshop on Championing Opensource Development in Machine Learning (CODEML ’25)},
|
|
431
|
+
@inproceedings{
|
|
432
|
+
hsu2025ligerkernel,
|
|
433
|
+
title={Liger-Kernel: Efficient Triton Kernels for {LLM} Training},
|
|
434
|
+
author={Pin-Lun Hsu and Yun Dai and Vignesh Kothapalli and Qingquan Song and Shao Tang and Siyu Zhu and Steven Shimizu and Shivam Sahni and Haowen Ning and Yanning Chen and Zhipeng Wang},
|
|
435
|
+
booktitle={Championing Open-source DEvelopment in ML Workshop @ ICML25},
|
|
436
|
+
year={2025},
|
|
437
|
+
url={https://openreview.net/forum?id=36SjAIT42G}
|
|
429
438
|
}
|
|
430
439
|
```
|
|
431
440
|
|
|
@@ -437,3 +446,5 @@ Biblatex entry:
|
|
|
437
446
|
↑ Back to Top ↑
|
|
438
447
|
</a>
|
|
439
448
|
</p>
|
|
449
|
+
|
|
450
|
+
|