liger-kernel-nightly 0.6.4.dev20251208235806__tar.gz → 0.6.4.dev20260113013032__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.

Files changed (322) hide show
  1. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/.github/workflows/amd-ci.yml +4 -4
  2. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/.github/workflows/benchmark.yml +14 -10
  3. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/.github/workflows/docs.yml +3 -3
  4. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/.github/workflows/intel-ci.yml +3 -3
  5. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/.github/workflows/nvi-ci.yml +6 -6
  6. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/.github/workflows/publish-nightly.yml +2 -2
  7. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/.github/workflows/publish-release.yml +2 -2
  8. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/PKG-INFO +5 -3
  9. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/README.md +4 -2
  10. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/pyproject.toml +1 -1
  11. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/setup.py +1 -1
  12. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/chunked_loss/cosine_similarity_loss.py +7 -1
  13. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/chunked_loss/fused_linear_distillation.py +10 -3
  14. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/chunked_loss/jsd_loss.py +21 -6
  15. liger_kernel_nightly-0.6.4.dev20260113013032/src/liger_kernel/ops/__init__.py +141 -0
  16. liger_kernel_nightly-0.6.4.dev20260113013032/src/liger_kernel/ops/backends/README.md +151 -0
  17. liger_kernel_nightly-0.6.4.dev20260113013032/src/liger_kernel/ops/backends/__init__.py +13 -0
  18. liger_kernel_nightly-0.6.4.dev20260113013032/src/liger_kernel/ops/backends/_ascend/__init__.py +5 -0
  19. liger_kernel_nightly-0.6.4.dev20260113013032/src/liger_kernel/ops/backends/_ascend/ascend-ub-manager-design.md +485 -0
  20. liger_kernel_nightly-0.6.4.dev20260113013032/src/liger_kernel/ops/backends/_ascend/ops/__init__.py +49 -0
  21. liger_kernel_nightly-0.6.4.dev20260113013032/src/liger_kernel/ops/backends/_ascend/ops/geglu.py +266 -0
  22. liger_kernel_nightly-0.6.4.dev20260113013032/src/liger_kernel/ops/backends/_ascend/ops/qwen2vl_mrope.py +285 -0
  23. liger_kernel_nightly-0.6.4.dev20260113013032/src/liger_kernel/ops/backends/_ascend/ops/rope.py +290 -0
  24. liger_kernel_nightly-0.6.4.dev20260113013032/src/liger_kernel/ops/backends/_ascend/ops/swiglu.py +142 -0
  25. liger_kernel_nightly-0.6.4.dev20260113013032/src/liger_kernel/ops/backends/_ascend/ops/tvd.py +221 -0
  26. liger_kernel_nightly-0.6.4.dev20260113013032/src/liger_kernel/ops/backends/_ascend/ub_manager.py +349 -0
  27. liger_kernel_nightly-0.6.4.dev20260113013032/src/liger_kernel/ops/backends/registry.py +61 -0
  28. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/ops/cross_entropy.py +12 -3
  29. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/ops/fused_linear_cross_entropy.py +2 -1
  30. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/ops/geglu.py +3 -2
  31. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/ops/group_norm.py +10 -7
  32. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/ops/kl_div.py +8 -11
  33. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/ops/rms_norm.py +141 -69
  34. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/ops/utils.py +12 -0
  35. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/__init__.py +3 -0
  36. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/auto_model.py +21 -0
  37. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/cross_entropy.py +1 -1
  38. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/dyt.py +1 -1
  39. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/experimental/embedding.py +1 -1
  40. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/functional.py +20 -20
  41. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/fused_add_rms_norm.py +1 -1
  42. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/fused_linear_cross_entropy.py +1 -1
  43. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/fused_linear_jsd.py +1 -1
  44. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/fused_neighborhood_attention.py +1 -1
  45. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/geglu.py +1 -1
  46. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/group_norm.py +1 -1
  47. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/grpo_loss.py +1 -1
  48. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/jsd.py +1 -1
  49. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/kl_div.py +1 -1
  50. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/layer_norm.py +1 -1
  51. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/llama4_rope.py +1 -1
  52. liger_kernel_nightly-0.6.4.dev20260113013032/src/liger_kernel/transformers/model/exaone4.py +136 -0
  53. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/model/gemma2.py +3 -3
  54. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/model/gemma3.py +1 -2
  55. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/monkey_patch.py +121 -39
  56. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/multi_token_attention.py +1 -1
  57. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/poly_norm.py +1 -1
  58. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/qwen2vl_mrope.py +1 -1
  59. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/rms_norm.py +8 -3
  60. liger_kernel_nightly-0.6.4.dev20260113013032/src/liger_kernel/transformers/rope.py +64 -0
  61. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/softmax.py +1 -1
  62. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/sparsemax.py +1 -1
  63. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/swiglu.py +1 -1
  64. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/tiled_mlp.py +5 -13
  65. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/tvd.py +1 -1
  66. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/utils.py +27 -0
  67. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel_nightly.egg-info/PKG-INFO +5 -3
  68. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel_nightly.egg-info/SOURCES.txt +14 -0
  69. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/chunked_loss/test_cosine_loss.py +1 -1
  70. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/chunked_loss/test_jsd_loss.py +27 -9
  71. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/convergence/bf16/test_mini_models.py +55 -0
  72. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/convergence/bf16/test_mini_models_with_logits.py +56 -1
  73. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/convergence/fp32/test_mini_models.py +53 -0
  74. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/convergence/fp32/test_mini_models_multimodal.py +18 -4
  75. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/convergence/fp32/test_mini_models_with_logits.py +63 -4
  76. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/transformers/test_auto_model.py +35 -0
  77. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/transformers/test_geglu.py +4 -4
  78. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/transformers/test_group_norm.py +5 -11
  79. liger_kernel_nightly-0.6.4.dev20260113013032/test/transformers/test_llama4_rope.py +149 -0
  80. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/transformers/test_monkey_patch.py +75 -73
  81. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/transformers/test_rms_norm.py +142 -16
  82. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/transformers/test_tiled_mlp.py +37 -56
  83. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/utils.py +14 -1
  84. liger_kernel_nightly-0.6.4.dev20251208235806/src/liger_kernel/transformers/rope.py +0 -63
  85. liger_kernel_nightly-0.6.4.dev20251208235806/test/convergence/fp32/__init__.py +0 -0
  86. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
  87. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
  88. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/.github/pull_request_template.md +0 -0
  89. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/.gitignore +0 -0
  90. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/LICENSE +0 -0
  91. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/Makefile +0 -0
  92. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/NOTICE +0 -0
  93. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/README.md +0 -0
  94. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/__init__.py +0 -0
  95. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/benchmarks_visualizer.py +0 -0
  96. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/data/all_benchmark_data.csv +0 -0
  97. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/__init__.py +0 -0
  98. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/benchmark_cpo_loss.py +0 -0
  99. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/benchmark_cross_entropy.py +0 -0
  100. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/benchmark_distill_cosine_loss.py +0 -0
  101. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/benchmark_distill_jsd_loss.py +0 -0
  102. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/benchmark_dpo_loss.py +0 -0
  103. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/benchmark_dyt.py +0 -0
  104. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/benchmark_embedding.py +0 -0
  105. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/benchmark_fused_add_rms_norm.py +0 -0
  106. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/benchmark_fused_linear_cross_entropy.py +0 -0
  107. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/benchmark_fused_linear_jsd.py +0 -0
  108. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/benchmark_fused_neighborhood_attention.py +0 -0
  109. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/benchmark_geglu.py +0 -0
  110. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/benchmark_group_norm.py +0 -0
  111. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/benchmark_grpo_loss.py +0 -0
  112. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/benchmark_jsd.py +0 -0
  113. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/benchmark_kl_div.py +0 -0
  114. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/benchmark_kto_loss.py +0 -0
  115. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/benchmark_layer_norm.py +0 -0
  116. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/benchmark_llama4_rope.py +0 -0
  117. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/benchmark_multi_token_attention.py +0 -0
  118. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/benchmark_orpo_loss.py +0 -0
  119. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/benchmark_poly_norm.py +0 -0
  120. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/benchmark_qwen2vl_mrope.py +0 -0
  121. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/benchmark_rms_norm.py +0 -0
  122. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/benchmark_rope.py +0 -0
  123. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/benchmark_simpo_loss.py +0 -0
  124. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/benchmark_softmax.py +0 -0
  125. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/benchmark_sparse_multi_token_attention.py +0 -0
  126. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/benchmark_sparsemax.py +0 -0
  127. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/benchmark_swiglu.py +0 -0
  128. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/benchmark_tiled_mlp.py +0 -0
  129. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/benchmark_tvd.py +0 -0
  130. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/benchmark/scripts/utils.py +0 -0
  131. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/dev/fmt-requirements.txt +0 -0
  132. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/dev/modal/benchmarks.py +0 -0
  133. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/dev/modal/tests.py +0 -0
  134. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/dev/modal/tests_bwd.py +0 -0
  135. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/docs/Examples.md +0 -0
  136. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/docs/Getting-Started.md +0 -0
  137. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/docs/High-Level-APIs.md +0 -0
  138. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/docs/Low-Level-APIs.md +0 -0
  139. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/docs/acknowledgement.md +0 -0
  140. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/docs/contributing.md +0 -0
  141. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/docs/images/banner.GIF +0 -0
  142. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/docs/images/compose.gif +0 -0
  143. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/docs/images/e2e-memory.png +0 -0
  144. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/docs/images/e2e-tps.png +0 -0
  145. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/docs/images/logo-banner.png +0 -0
  146. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/docs/images/patch.gif +0 -0
  147. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/docs/images/post-training.png +0 -0
  148. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/docs/index.md +0 -0
  149. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/docs/license.md +0 -0
  150. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/alignment/accelerate_config.yaml +0 -0
  151. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/alignment/run_orpo.py +0 -0
  152. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/huggingface/README.md +0 -0
  153. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/huggingface/callback.py +0 -0
  154. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/huggingface/config/fsdp_config.json +0 -0
  155. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/huggingface/img/gemma_7b_mem.png +0 -0
  156. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/huggingface/img/gemma_7b_tp.png +0 -0
  157. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/huggingface/img/llama_mem_alloc.png +0 -0
  158. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/huggingface/img/llama_tps.png +0 -0
  159. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/huggingface/img/qwen_mem_alloc.png +0 -0
  160. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/huggingface/img/qwen_tps.png +0 -0
  161. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/huggingface/launch_on_modal.py +0 -0
  162. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/huggingface/requirements.txt +0 -0
  163. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/huggingface/run_benchmarks.sh +0 -0
  164. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/huggingface/run_gemma.sh +0 -0
  165. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/huggingface/run_llama.sh +0 -0
  166. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/huggingface/run_qwen.sh +0 -0
  167. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/huggingface/run_qwen2_vl.sh +0 -0
  168. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/huggingface/training.py +0 -0
  169. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/huggingface/training_multimodal.py +0 -0
  170. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/lightning/README.md +0 -0
  171. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/lightning/requirements.txt +0 -0
  172. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/lightning/training.py +0 -0
  173. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/medusa/README.md +0 -0
  174. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/medusa/callback.py +0 -0
  175. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/medusa/docs/images/Memory_Stage1_num_head_3.png +0 -0
  176. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/medusa/docs/images/Memory_Stage1_num_head_5.png +0 -0
  177. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/medusa/docs/images/Memory_Stage2_num_head_3.png +0 -0
  178. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/medusa/docs/images/Memory_Stage2_num_head_5.png +0 -0
  179. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/medusa/docs/images/Throughput_Stage1_num_head_3.png +0 -0
  180. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/medusa/docs/images/Throughput_Stage1_num_head_5.png +0 -0
  181. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/medusa/docs/images/Throughput_Stage2_num_head_3.png +0 -0
  182. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/medusa/docs/images/Throughput_Stage2_num_head_5.png +0 -0
  183. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/medusa/fsdp/acc-fsdp.conf +0 -0
  184. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/medusa/medusa_util.py +0 -0
  185. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/medusa/requirements.txt +0 -0
  186. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/medusa/scripts/llama3_8b_medusa.sh +0 -0
  187. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/examples/medusa/train.py +0 -0
  188. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/licenses/LICENSE-Apache-2.0 +0 -0
  189. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/licenses/LICENSE-MIT-AutoAWQ +0 -0
  190. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/licenses/LICENSE-MIT-Efficient-Cross-Entropy +0 -0
  191. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/licenses/LICENSE-MIT-llmc +0 -0
  192. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/licenses/LICENSE-MIT-triton +0 -0
  193. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/mkdocs.yml +0 -0
  194. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/setup.cfg +0 -0
  195. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/__init__.py +0 -0
  196. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/chunked_loss/README.md +0 -0
  197. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/chunked_loss/__init__.py +0 -0
  198. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/chunked_loss/cpo_loss.py +0 -0
  199. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/chunked_loss/dpo_loss.py +0 -0
  200. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/chunked_loss/functional.py +0 -0
  201. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/chunked_loss/fused_linear_ppo.py +0 -0
  202. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/chunked_loss/fused_linear_preference.py +0 -0
  203. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/chunked_loss/fused_linear_unpaired_preference.py +0 -0
  204. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/chunked_loss/grpo_loss.py +0 -0
  205. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/chunked_loss/kto_loss.py +0 -0
  206. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/chunked_loss/orpo_loss.py +0 -0
  207. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/chunked_loss/simpo_loss.py +0 -0
  208. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/env_report.py +0 -0
  209. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/ops/dyt.py +0 -0
  210. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/ops/experimental/embedding.py +0 -0
  211. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/ops/experimental/mm_int8int2.py +0 -0
  212. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/ops/fused_add_rms_norm.py +0 -0
  213. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/ops/fused_linear_jsd.py +0 -0
  214. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/ops/fused_neighborhood_attention.py +0 -0
  215. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/ops/grpo_loss.py +0 -0
  216. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/ops/jsd.py +0 -0
  217. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/ops/layer_norm.py +0 -0
  218. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/ops/llama4_rope.py +0 -0
  219. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/ops/multi_token_attention.py +0 -0
  220. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/ops/poly_norm.py +0 -0
  221. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/ops/qwen2vl_mrope.py +0 -0
  222. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/ops/rope.py +0 -0
  223. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/ops/softmax.py +0 -0
  224. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/ops/sparsemax.py +0 -0
  225. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/ops/swiglu.py +0 -0
  226. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/ops/tiled_mlp.py +0 -0
  227. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/ops/tvd.py +0 -0
  228. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/experimental/__init__.py +0 -0
  229. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/fsdp.py +0 -0
  230. {liger_kernel_nightly-0.6.4.dev20251208235806/src/liger_kernel/ops → liger_kernel_nightly-0.6.4.dev20260113013032/src/liger_kernel/transformers/model}/__init__.py +0 -0
  231. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/model/falcon_h1.py +0 -0
  232. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/model/gemma.py +0 -0
  233. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/model/glm4.py +0 -0
  234. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/model/glm4v.py +0 -0
  235. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/model/glm4v_moe.py +0 -0
  236. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/model/gpt_oss.py +0 -0
  237. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/model/hunyuan_v1.py +0 -0
  238. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/model/internvl.py +0 -0
  239. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/model/llama.py +0 -0
  240. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/model/llama4.py +0 -0
  241. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/model/llava.py +0 -0
  242. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/model/loss_utils.py +0 -0
  243. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/model/mistral.py +0 -0
  244. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/model/mixtral.py +0 -0
  245. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/model/mllama.py +0 -0
  246. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/model/olmo2.py +0 -0
  247. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/model/olmo3.py +0 -0
  248. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/model/output_classes.py +0 -0
  249. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/model/paligemma.py +0 -0
  250. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/model/phi3.py +0 -0
  251. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/model/qwen2.py +0 -0
  252. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/model/qwen2_5_vl.py +0 -0
  253. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/model/qwen2_vl.py +0 -0
  254. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/model/qwen3.py +0 -0
  255. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/model/qwen3_moe.py +0 -0
  256. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/model/qwen3_next.py +0 -0
  257. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/model/qwen3_vl.py +0 -0
  258. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/model/qwen3_vl_moe.py +0 -0
  259. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/model/smollm3.py +0 -0
  260. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/model/smolvlm.py +0 -0
  261. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/trainer/__init__.py +0 -0
  262. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/trainer/orpo_trainer.py +0 -0
  263. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/transformers/trainer_integration.py +0 -0
  264. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/triton/__init__.py +0 -0
  265. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel/triton/monkey_patch.py +0 -0
  266. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel_nightly.egg-info/dependency_links.txt +0 -0
  267. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel_nightly.egg-info/requires.txt +0 -0
  268. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/src/liger_kernel_nightly.egg-info/top_level.txt +0 -0
  269. {liger_kernel_nightly-0.6.4.dev20251208235806/src/liger_kernel/transformers/model → liger_kernel_nightly-0.6.4.dev20260113013032/test}/__init__.py +0 -0
  270. {liger_kernel_nightly-0.6.4.dev20251208235806/test → liger_kernel_nightly-0.6.4.dev20260113013032/test/chunked_loss}/__init__.py +0 -0
  271. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/chunked_loss/test_cpo_loss.py +0 -0
  272. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/chunked_loss/test_dpo_loss.py +0 -0
  273. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/chunked_loss/test_grpo_loss.py +0 -0
  274. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/chunked_loss/test_kto_loss.py +0 -0
  275. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/chunked_loss/test_orpo_loss.py +0 -0
  276. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/chunked_loss/test_simpo_loss.py +0 -0
  277. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/conftest.py +0 -0
  278. {liger_kernel_nightly-0.6.4.dev20251208235806/test/chunked_loss → liger_kernel_nightly-0.6.4.dev20260113013032/test/convergence}/__init__.py +0 -0
  279. {liger_kernel_nightly-0.6.4.dev20251208235806/test/convergence → liger_kernel_nightly-0.6.4.dev20260113013032/test/convergence/bf16}/__init__.py +0 -0
  280. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/convergence/bf16/test_mini_models_multimodal.py +0 -0
  281. {liger_kernel_nightly-0.6.4.dev20251208235806/test/convergence/bf16 → liger_kernel_nightly-0.6.4.dev20260113013032/test/convergence/fp32}/__init__.py +0 -0
  282. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/resources/fake_configs/Google/Gemma3/gemma-3-4b-it/tokenizer_config.json +0 -0
  283. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/resources/fake_configs/Google/Paligemma/paligemma-3b-pt-224/tokenizer_config.json +0 -0
  284. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/resources/fake_configs/HuggingFaceTB/SmolVLM2-256M-Video-Instruct/tokenizer_config.json +0 -0
  285. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/resources/fake_configs/Llava/llava-1.5-7b-hf/preprocessor_config.json +0 -0
  286. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/resources/fake_configs/Llava/llava-1.5-7b-hf/processor_config.json +0 -0
  287. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/resources/fake_configs/Llava/llava-1.5-7b-hf/tokenizer_config.json +0 -0
  288. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/resources/fake_configs/OpenGVLab/InternVL3-1B-hf/tokenizer_config.json +0 -0
  289. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/resources/fake_configs/Qwen/Qwen2-VL-7B-Instruct/tokenizer_config.json +0 -0
  290. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/resources/fake_configs/Qwen/Qwen2.5-VL-7B-Instruct/tokenizer_config.json +0 -0
  291. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/resources/fake_configs/Qwen/Qwen3-VL-4B-Instruct/tokenizer_config.json +0 -0
  292. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/resources/fake_configs/meta-llama/Llama-3.2-11B-Vision-Instruct/tokenizer_config.json +0 -0
  293. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/resources/fake_configs/meta-llama/Llama-4-Scout-17B-16E-Instruct/tokenizer_config.json +0 -0
  294. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/resources/scripts/generate_tokenized_dataset.py +0 -0
  295. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/resources/tiny_shakespeare.txt +0 -0
  296. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/resources/tiny_shakespeare_tokenized/data-00000-of-00001.arrow +0 -0
  297. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/resources/tiny_shakespeare_tokenized/dataset_info.json +0 -0
  298. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/resources/tiny_shakespeare_tokenized/state.json +0 -0
  299. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/transformers/test_cross_entropy.py +0 -0
  300. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/transformers/test_dyt.py +0 -0
  301. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/transformers/test_embedding.py +0 -0
  302. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/transformers/test_flex_attention.py +0 -0
  303. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/transformers/test_fused_add_rms_norm.py +0 -0
  304. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/transformers/test_fused_linear_cross_entropy.py +0 -0
  305. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/transformers/test_fused_linear_jsd.py +0 -0
  306. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/transformers/test_fused_neighborhood_attention.py +0 -0
  307. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/transformers/test_grpo_loss.py +0 -0
  308. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/transformers/test_jsd.py +0 -0
  309. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/transformers/test_kl_div.py +0 -0
  310. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/transformers/test_layer_norm.py +0 -0
  311. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/transformers/test_mm_int8int2.py +0 -0
  312. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/transformers/test_multi_token_attention.py +0 -0
  313. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/transformers/test_poly_norm.py +0 -0
  314. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/transformers/test_qwen2vl_mrope.py +0 -0
  315. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/transformers/test_rope.py +0 -0
  316. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/transformers/test_softmax.py +0 -0
  317. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/transformers/test_sparsemax.py +0 -0
  318. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/transformers/test_swiglu.py +0 -0
  319. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/transformers/test_trainer_integration.py +0 -0
  320. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/transformers/test_transformers.py +0 -0
  321. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/transformers/test_tvd.py +0 -0
  322. {liger_kernel_nightly-0.6.4.dev20251208235806 → liger_kernel_nightly-0.6.4.dev20260113013032}/test/triton/test_triton_monkey_patch.py +0 -0
@@ -26,10 +26,10 @@ jobs:
26
26
 
27
27
  steps:
28
28
  - name: Checkout code
29
- uses: actions/checkout@v3
29
+ uses: actions/checkout@v6
30
30
 
31
31
  - name: Set up Python
32
- uses: actions/setup-python@v3
32
+ uses: actions/setup-python@v6
33
33
  with:
34
34
  python-version: '3.10'
35
35
 
@@ -50,10 +50,10 @@ jobs:
50
50
 
51
51
  steps:
52
52
  - name: Checkout code
53
- uses: actions/checkout@v3
53
+ uses: actions/checkout@v6
54
54
 
55
55
  - name: Set up Python
56
- uses: actions/setup-python@v3
56
+ uses: actions/setup-python@v6
57
57
  with:
58
58
  python-version: '3.10'
59
59
 
@@ -35,22 +35,26 @@ jobs:
35
35
  OUTPUT_DIR: benchmarks
36
36
  OUTPUT_FILENAME: benchmark.csv
37
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 }}
38
42
 
39
43
 
40
44
  steps:
41
45
  # Step: Decide the commit hash to use
42
46
  # Step: Checkout full history so we can check out any commit
43
47
  - name: Checkout full repo history
44
- uses: actions/checkout@v3
48
+ uses: actions/checkout@v6
45
49
  with:
46
50
  fetch-depth: 0 # Important: so we can checkout arbitrary commit
47
51
 
48
52
  - name: Determine commit hash to checkout
49
53
  id: choose_commit
50
54
  run: |
51
- if [ "${{ github.event_name}}" == "workflow_dispatch" ] && [ "${{ github.event.inputs.commit_hash }}" != "main" ]; then
52
- echo "Using manual input commit: ${{ github.event.inputs.commit_hash }}"
53
- echo "hash=${{ github.event.inputs.commit_hash }}" >> $GITHUB_OUTPUT
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
54
58
  else
55
59
  echo "Using latest commit from main"
56
60
  echo "hash=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
@@ -60,10 +64,10 @@ jobs:
60
64
  - name: Replace benchmark folder from main (manual only, commit ≠ main)
61
65
  if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.commit_hash != 'main' }}
62
66
  run: |
63
- echo "Detected manual trigger with commit_hash = ${{ github.event.inputs.commit_hash }}"
67
+ echo "Detected manual trigger with commit_hash = $INPUT_COMMIT_HASH"
64
68
 
65
69
  # Save current branch (detached HEAD at old commit)
66
- ORIG_COMMIT=${{ github.event.inputs.commit_hash }}
70
+ ORIG_COMMIT="$INPUT_COMMIT_HASH"
67
71
 
68
72
  # Fetch and checkout main
69
73
  git fetch origin main
@@ -72,7 +76,7 @@ jobs:
72
76
  # Save benchmark folder from main
73
77
  cp -r benchmark /tmp/benchmark_main
74
78
  # Checkout back to target commit
75
- git checkout $ORIG_COMMIT
79
+ git checkout "$ORIG_COMMIT"
76
80
  # Replace old benchmark with one from main
77
81
  rm -rf benchmark
78
82
  cp -r /tmp/benchmark_main benchmark
@@ -85,7 +89,7 @@ jobs:
85
89
 
86
90
  if curl --output /dev/null --silent --head --fail "$BENCHMARK_URL"; then
87
91
  echo "Benchmark already exists for commit $COMMIT_HASH"
88
- if [ "${{ github.event.inputs.overwrite }}" != "true" ]; then
92
+ if [ "$INPUT_OVERWRITE" != "true" ]; then
89
93
  echo "Overwrite is false - exiting"
90
94
  exit 1
91
95
  else
@@ -96,7 +100,7 @@ jobs:
96
100
  fi
97
101
 
98
102
  - name: Set up Python
99
- uses: actions/setup-python@v3
103
+ uses: actions/setup-python@v6
100
104
  with:
101
105
  python-version: '3.10'
102
106
 
@@ -117,7 +121,7 @@ jobs:
117
121
 
118
122
  # Step 5: Checkout gh-pages branch in a subfolderAdd commentMore actions
119
123
  - name: Checkout gh-pages
120
- uses: actions/checkout@v3
124
+ uses: actions/checkout@v6
121
125
  with:
122
126
  ref: gh-pages
123
127
  path: gh-pages
@@ -13,16 +13,16 @@ jobs:
13
13
  deploy:
14
14
  runs-on: ubuntu-latest
15
15
  steps:
16
- - uses: actions/checkout@v4
16
+ - uses: actions/checkout@v6
17
17
  - name: Configure Git Credentials
18
18
  run: |
19
19
  git config user.name github-actions[bot]
20
20
  git config user.email 41898282+github-actions[bot]@users.noreply.github.com
21
- - uses: actions/setup-python@v5
21
+ - uses: actions/setup-python@v6
22
22
  with:
23
23
  python-version: 3.x
24
24
  - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
25
- - uses: actions/cache@v4
25
+ - uses: actions/cache@v5
26
26
  with:
27
27
  key: mkdocs-material-${{ env.cache_id }}
28
28
  path: .cache
@@ -26,10 +26,10 @@ jobs:
26
26
 
27
27
  steps:
28
28
  - name: Checkout code
29
- uses: actions/checkout@v3
29
+ uses: actions/checkout@v6
30
30
 
31
31
  - name: Set up Python
32
- uses: actions/setup-python@v3
32
+ uses: actions/setup-python@v6
33
33
  with:
34
34
  python-version: '3.10'
35
35
 
@@ -58,7 +58,7 @@ jobs:
58
58
  apt-get clean && rm -rf /var/lib/apt/lists/*
59
59
 
60
60
  - name: Checkout code
61
- uses: actions/checkout@v3
61
+ uses: actions/checkout@v6
62
62
 
63
63
  - name: Setup Dependencies
64
64
  shell: bash
@@ -25,10 +25,10 @@ jobs:
25
25
 
26
26
  steps:
27
27
  - name: Checkout code
28
- uses: actions/checkout@v3
28
+ uses: actions/checkout@v6
29
29
 
30
30
  - name: Set up Python
31
- uses: actions/setup-python@v3
31
+ uses: actions/setup-python@v6
32
32
  with:
33
33
  python-version: '3.10'
34
34
 
@@ -49,10 +49,10 @@ jobs:
49
49
 
50
50
  steps:
51
51
  - name: Checkout code
52
- uses: actions/checkout@v3
52
+ uses: actions/checkout@v6
53
53
 
54
54
  - name: Set up Python
55
- uses: actions/setup-python@v3
55
+ uses: actions/setup-python@v6
56
56
  with:
57
57
  python-version: '3.10'
58
58
 
@@ -75,10 +75,10 @@ jobs:
75
75
 
76
76
  steps:
77
77
  - name: Checkout code
78
- uses: actions/checkout@v3
78
+ uses: actions/checkout@v6
79
79
 
80
80
  - name: Set up Python
81
- uses: actions/setup-python@v3
81
+ uses: actions/setup-python@v6
82
82
  with:
83
83
  python-version: '3.10'
84
84
 
@@ -13,10 +13,10 @@ jobs:
13
13
 
14
14
  steps:
15
15
  - name: Checkout repository
16
- uses: actions/checkout@v3
16
+ uses: actions/checkout@v6
17
17
 
18
18
  - name: Set up Python
19
- uses: actions/setup-python@v3
19
+ uses: actions/setup-python@v6
20
20
  with:
21
21
  python-version: '3.8'
22
22
 
@@ -10,10 +10,10 @@ jobs:
10
10
 
11
11
  steps:
12
12
  - name: Checkout repository
13
- uses: actions/checkout@v3
13
+ uses: actions/checkout@v6
14
14
 
15
15
  - name: Set up Python
16
- uses: actions/setup-python@v3
16
+ uses: actions/setup-python@v6
17
17
  with:
18
18
  python-version: '3.10'
19
19
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: liger_kernel_nightly
3
- Version: 0.6.4.dev20251208235806
3
+ Version: 0.6.4.dev20260113013032
4
4
  Summary: Efficient Triton kernels for LLM Training
5
5
  License: BSD 2-CLAUSE LICENSE
6
6
  Copyright 2024 LinkedIn Corporation
@@ -79,8 +79,8 @@ Requires-Dist: torchvision>=0.20; extra == "dev"
79
79
  </a>
80
80
  </td>
81
81
  <td style="padding: 10px;">
82
- <a href="https://discord.gg/gpumode">
83
- <img src="https://dcbadge.limes.pink/api/server/gpumode?style=flat" alt="Join Our Discord">
82
+ <a href="https://discord.gg/X4MaxPgA">
83
+ <img src="https://dcbadge.limes.pink/api/server/https://discord.gg/X4MaxPgA?style=flat" alt="Join Our Discord">
84
84
  </a>
85
85
  </td>
86
86
  </tr>
@@ -95,6 +95,7 @@ Requires-Dist: torchvision>=0.20; extra == "dev"
95
95
  <details>
96
96
  <summary>Latest News 🔥</summary>
97
97
 
98
+ - [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
98
99
  - [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/)
99
100
  - [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)!
100
101
  - [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)
@@ -445,3 +446,4 @@ url={https://openreview.net/forum?id=36SjAIT42G}
445
446
  </a>
446
447
  </p>
447
448
 
449
+
@@ -31,8 +31,8 @@
31
31
  </a>
32
32
  </td>
33
33
  <td style="padding: 10px;">
34
- <a href="https://discord.gg/gpumode">
35
- <img src="https://dcbadge.limes.pink/api/server/gpumode?style=flat" alt="Join Our Discord">
34
+ <a href="https://discord.gg/X4MaxPgA">
35
+ <img src="https://dcbadge.limes.pink/api/server/https://discord.gg/X4MaxPgA?style=flat" alt="Join Our Discord">
36
36
  </a>
37
37
  </td>
38
38
  </tr>
@@ -47,6 +47,7 @@
47
47
  <details>
48
48
  <summary>Latest News 🔥</summary>
49
49
 
50
+ - [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
50
51
  - [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/)
51
52
  - [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)!
52
53
  - [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)
@@ -397,3 +398,4 @@ url={https://openreview.net/forum?id=36SjAIT42G}
397
398
  </a>
398
399
  </p>
399
400
 
401
+
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "liger_kernel_nightly"
7
- version = "0.6.4.dev20251208235806"
7
+ version = "0.6.4.dev20260113013032"
8
8
  description = "Efficient Triton kernels for LLM Training"
9
9
  urls = { "Homepage" = "https://github.com/linkedin/Liger-Kernel" }
10
10
  readme = { file = "README.md", content-type = "text/markdown" }
@@ -25,7 +25,7 @@ def get_default_dependencies():
25
25
  "torch>=2.6.0",
26
26
  ]
27
27
  elif platform == "npu":
28
- return ["torch_npu==2.6.0", "triton-ascend"]
28
+ return ["torch_npu==2.7.1", "triton-ascend"]
29
29
 
30
30
 
31
31
  def get_optional_dependencies():
@@ -9,7 +9,13 @@ from liger_kernel.chunked_loss.fused_linear_distillation import LigerFusedLinear
9
9
 
10
10
  class LigerFusedLinearCosineSimilarityFunction(LigerFusedLinearDistillationBase):
11
11
  @staticmethod
12
- def distillation_loss_fn(student_logits, teacher_logits, beta=1.0):
12
+ def distillation_loss_fn(
13
+ student_logits,
14
+ teacher_logits,
15
+ target=None,
16
+ ignore_index=None,
17
+ beta=1.0,
18
+ ):
13
19
  """
14
20
  Compute Cosine loss (Cosine Similarity Loss).
15
21
  Args:
@@ -13,6 +13,8 @@ class LigerFusedLinearDistillationBase(torch.autograd.Function):
13
13
  def distillation_loss_fn(
14
14
  student_logits,
15
15
  teacher_logits,
16
+ target=None,
17
+ ignore_index=None,
16
18
  ):
17
19
  """
18
20
  Compute distillation loss.
@@ -132,10 +134,15 @@ class LigerFusedLinearDistillationBase(torch.autograd.Function):
132
134
  )
133
135
  student_logits_chunk = torch.cat([student_logits_chunk, pad_tensor], dim=-1)
134
136
 
135
- hard_loss /= full_target.shape[0]
137
+ num_valid_tokens = (full_target != ignore_index).sum()
138
+ num_valid_tokens = num_valid_tokens.clamp_min(1) # to avoid division by zero
136
139
 
137
- soft_loss = distillation_loss_fn(student_logits_chunk, teacher_logits_chunk, **loss_kwargs)
138
- soft_loss /= full_target.shape[0]
140
+ hard_loss /= num_valid_tokens
141
+
142
+ soft_loss = distillation_loss_fn(
143
+ student_logits_chunk, teacher_logits_chunk, target=target_chunk, ignore_index=ignore_index, **loss_kwargs
144
+ )
145
+ soft_loss /= num_valid_tokens
139
146
 
140
147
  loss = weight_hard_loss * hard_loss + weight_soft_loss * soft_loss
141
148
  return loss, (soft_loss, hard_loss, student_logits_chunk, teacher_logits_chunk)
@@ -11,35 +11,50 @@ from liger_kernel.chunked_loss.fused_linear_distillation import LigerFusedLinear
11
11
 
12
12
  class LigerFusedLinearJSDFunction(LigerFusedLinearDistillationBase):
13
13
  @staticmethod
14
- def distillation_loss_fn(student_logits, teacher_logits, beta=0.5):
14
+ def distillation_loss_fn(student_logits, teacher_logits, beta=0.5, target=None, ignore_index=-100):
15
15
  """
16
16
  Compute JSD loss (Jensen-Shannon Divergence Loss).
17
17
  Args:
18
18
  student_logits (torch.Tensor): Logits of student tokens. Shape: (batch_size * seq_len,).
19
19
  teacher_logits (torch.Tensor): Logits of teacher tokens. Shape: (batch_size * seq_len,).
20
20
  beta (float): Coefficient beta of generalized JSD in the interval [0, 1]. Default: `0.5`.
21
+ target (torch.Tensor): Target labels for masking. Shape: (chunk_size,).
22
+ ignore_index (int): Index to ignore in loss computation.
21
23
  Returns:
22
24
  torch.Tensor: Jensen-Shannon Divergence loss
25
+ Note:
26
+ - Uses reduction="none" to preserve per-token losses for masking
27
+ - KL divergence requires summing over vocab dimension (not mean)
28
+ - Masking excludes padding/prompt tokens from loss computation
23
29
  """
24
30
  student_log_probs = F.log_softmax(student_logits, dim=-1)
25
31
  teacher_log_probs = F.log_softmax(teacher_logits, dim=-1)
26
32
 
27
33
  if beta == 0:
28
- jsd_loss = F.kl_div(student_log_probs, teacher_log_probs, reduction="sum", log_target=True)
34
+ jsd_loss = F.kl_div(student_log_probs, teacher_log_probs, reduction="none", log_target=True)
29
35
  elif beta == 1:
30
- jsd_loss = F.kl_div(teacher_log_probs, student_log_probs, reduction="sum", log_target=True)
36
+ jsd_loss = F.kl_div(teacher_log_probs, student_log_probs, reduction="none", log_target=True)
31
37
  else:
32
38
  # Compute probabilities (only required for mean calculation)
33
39
  log_mean_probs = torch.logsumexp(
34
40
  torch.stack([student_log_probs + math.log(1 - beta), teacher_log_probs + math.log(beta)], dim=0), dim=0
35
41
  )
36
42
 
37
- student_kl = F.kl_div(log_mean_probs, student_log_probs, reduction="sum", log_target=True)
38
- teacher_kl = F.kl_div(log_mean_probs, teacher_log_probs, reduction="sum", log_target=True)
43
+ student_kl = F.kl_div(log_mean_probs, student_log_probs, reduction="none", log_target=True)
44
+ teacher_kl = F.kl_div(log_mean_probs, teacher_log_probs, reduction="none", log_target=True)
39
45
 
40
46
  # JSD is the weighted average of the KL divergences
41
47
  jsd_loss = beta * teacher_kl + (1 - beta) * student_kl
42
- return jsd_loss
48
+
49
+ # Sum over vocab dimension (KL divergence definition)
50
+ jsd_loss = jsd_loss.sum(dim=-1) # (chunk_size,)
51
+
52
+ # Apply ignore_index mask
53
+ if target is not None:
54
+ mask = target != ignore_index
55
+ jsd_loss = jsd_loss.masked_fill(~mask, 0.0)
56
+
57
+ return jsd_loss.sum()
43
58
 
44
59
  @classmethod
45
60
  def forward(
@@ -0,0 +1,141 @@
1
+ """
2
+ Liger-Kernel operators with automatic vendor-specific replacement.
3
+
4
+ This module provides two ways to import operators:
5
+
6
+ 1. Import from this package (recommended for Function classes):
7
+ from liger_kernel.ops import LigerGELUMulFunction
8
+
9
+ This automatically uses vendor-specific implementation if available.
10
+
11
+ 2. Import from submodules (for kernel functions or specific access):
12
+ from liger_kernel.ops.geglu import geglu_forward, geglu_backward
13
+
14
+ This always uses the default implementation (no auto-replacement).
15
+
16
+ The replacement mechanism:
17
+ 1. Default implementations are imported from individual modules (e.g., geglu.py)
18
+ 2. On module load, device is detected via infer_device()
19
+ 3. If running on a supported vendor device (npu, xpu, etc.), the default
20
+ implementations are replaced with vendor-specific ones
21
+ 4. All subsequent imports from this package get the replaced versions
22
+
23
+ Note: Direct imports from submodules (e.g., from liger_kernel.ops.geglu import ...)
24
+ are NOT affected by the replacement mechanism.
25
+ """
26
+
27
+ # =============================================================================
28
+ # Import default implementations
29
+ # Both Function classes and kernel functions are imported here.
30
+ # All of these can be replaced by vendor-specific implementations.
31
+ # =============================================================================
32
+
33
+ from liger_kernel.ops.cross_entropy import LigerCrossEntropyFunction # noqa: F401
34
+ from liger_kernel.ops.cross_entropy import cross_entropy_backward # noqa: F401
35
+ from liger_kernel.ops.cross_entropy import cross_entropy_forward # noqa: F401
36
+ from liger_kernel.ops.dyt import LigerDyTFunction # noqa: F401
37
+ from liger_kernel.ops.experimental.embedding import LigerEmbeddingFunction # noqa: F401
38
+ from liger_kernel.ops.fused_add_rms_norm import LigerFusedAddRMSNormFunction # noqa: F401
39
+ from liger_kernel.ops.fused_add_rms_norm import fused_add_rms_norm_backward # noqa: F401
40
+ from liger_kernel.ops.fused_add_rms_norm import fused_add_rms_norm_forward # noqa: F401
41
+ from liger_kernel.ops.fused_linear_cross_entropy import LigerFusedLinearCrossEntropyFunction # noqa: F401
42
+ from liger_kernel.ops.fused_linear_cross_entropy import fused_linear_cross_entropy_backward # noqa: F401
43
+ from liger_kernel.ops.fused_linear_cross_entropy import fused_linear_cross_entropy_forward # noqa: F401
44
+ from liger_kernel.ops.fused_linear_jsd import LigerFusedLinearJSDFunction # noqa: F401
45
+ from liger_kernel.ops.fused_linear_jsd import fused_linear_jsd_backward # noqa: F401
46
+ from liger_kernel.ops.fused_linear_jsd import fused_linear_jsd_forward # noqa: F401
47
+ from liger_kernel.ops.fused_neighborhood_attention import LigerFusedNeighborhoodAttentionFunction # noqa: F401
48
+ from liger_kernel.ops.geglu import LigerGELUMulFunction # noqa: F401
49
+ from liger_kernel.ops.geglu import geglu_backward # noqa: F401
50
+ from liger_kernel.ops.geglu import geglu_forward # noqa: F401
51
+ from liger_kernel.ops.group_norm import LigerGroupNormFunction # noqa: F401
52
+ from liger_kernel.ops.group_norm import group_norm_backward # noqa: F401
53
+ from liger_kernel.ops.group_norm import group_norm_forward # noqa: F401
54
+ from liger_kernel.ops.grpo_loss import GrpoLossFunction # noqa: F401
55
+ from liger_kernel.ops.jsd import LigerJSDFunction # noqa: F401
56
+ from liger_kernel.ops.jsd import jsd_backward # noqa: F401
57
+ from liger_kernel.ops.jsd import jsd_forward # noqa: F401
58
+ from liger_kernel.ops.kl_div import LigerKLDivLossFunction # noqa: F401
59
+ from liger_kernel.ops.layer_norm import LigerLayerNormFunction # noqa: F401
60
+ from liger_kernel.ops.layer_norm import layer_norm_backward # noqa: F401
61
+ from liger_kernel.ops.layer_norm import layer_norm_forward # noqa: F401
62
+ from liger_kernel.ops.llama4_rope import LigerLlama4RopeFunction # noqa: F401
63
+ from liger_kernel.ops.multi_token_attention import LigerMultiTokenAttentionFunction # noqa: F401
64
+ from liger_kernel.ops.poly_norm import LigerPolyNormFunction # noqa: F401
65
+ from liger_kernel.ops.poly_norm import poly_norm_backward # noqa: F401
66
+ from liger_kernel.ops.poly_norm import poly_norm_forward # noqa: F401
67
+ from liger_kernel.ops.qwen2vl_mrope import LigerQwen2VLMRopeFunction # noqa: F401
68
+ from liger_kernel.ops.rms_norm import LigerRMSNormFunction # noqa: F401
69
+ from liger_kernel.ops.rms_norm import rms_norm_backward # noqa: F401
70
+ from liger_kernel.ops.rms_norm import rms_norm_forward # noqa: F401
71
+ from liger_kernel.ops.rope import LigerRopeFunction # noqa: F401
72
+ from liger_kernel.ops.rope import rope_backward # noqa: F401
73
+ from liger_kernel.ops.rope import rope_forward # noqa: F401
74
+ from liger_kernel.ops.softmax import LigerSoftmaxFunction # noqa: F401
75
+ from liger_kernel.ops.sparsemax import LigerSparsemaxFunction # noqa: F401
76
+ from liger_kernel.ops.swiglu import LigerSiLUMulFunction # noqa: F401
77
+ from liger_kernel.ops.swiglu import swiglu_backward # noqa: F401
78
+ from liger_kernel.ops.swiglu import swiglu_forward # noqa: F401
79
+ from liger_kernel.ops.tiled_mlp import LigerTiledMLPFunction # noqa: F401
80
+ from liger_kernel.ops.tiled_mlp import apply_tiled_mlp # noqa: F401
81
+ from liger_kernel.ops.tvd import LigerTVDLossFunction # noqa: F401
82
+
83
+ # NOTE: __all__ is intentionally NOT defined.
84
+ # - Import from this package (liger_kernel.ops) -> subject to vendor replacement
85
+ # - Import from submodules (liger_kernel.ops.geglu) -> always use default implementation
86
+
87
+
88
+ # =============================================================================
89
+ # Vendor-specific replacement logic
90
+ # =============================================================================
91
+
92
+
93
+ def _replace_with_vendor_ops():
94
+ """
95
+ Replace/add vendor-specific operator implementations.
96
+
97
+ This function is called automatically on module load. It:
98
+ 1. Detects the current device (cuda, npu, xpu, etc.)
99
+ 2. Looks up the vendor for that device via VENDOR_REGISTRY
100
+ 3. Loads and applies vendor-specific implementations
101
+
102
+ Vendor implementations should be placed in:
103
+ liger_kernel/ops/backends/_<vendor>/ops/
104
+
105
+ If the vendor module defines __all__, only those symbols are exported.
106
+ Otherwise, all public symbols (not starting with _) are auto-discovered.
107
+
108
+ Note: Vendor can both override existing ops AND add new vendor-specific ops.
109
+ """
110
+ from liger_kernel.ops.backends import get_vendor_for_device
111
+ from liger_kernel.utils import infer_device
112
+
113
+ device = infer_device()
114
+
115
+ # Look up vendor info for this device
116
+ vendor_info = get_vendor_for_device(device)
117
+ if vendor_info is None:
118
+ return
119
+
120
+ try:
121
+ import importlib
122
+
123
+ vendor_ops = importlib.import_module(vendor_info.module_path)
124
+
125
+ # Get names to export: use __all__ if defined, otherwise auto-discover
126
+ names_to_export = getattr(vendor_ops, "__all__", None)
127
+
128
+ if names_to_export is None:
129
+ # Auto-discover: find all public symbols (classes and functions)
130
+ names_to_export = [name for name in dir(vendor_ops) if not name.startswith("_")]
131
+
132
+ # Replace or add to this module's globals
133
+ for name in names_to_export:
134
+ globals()[name] = getattr(vendor_ops, name)
135
+
136
+ except ImportError:
137
+ # Vendor module not available, use default implementations
138
+ pass
139
+
140
+
141
+ _replace_with_vendor_ops()