liger-kernel-nightly 0.6.4.dev20251202054858__tar.gz → 0.6.4.dev20251206103502__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.
Files changed (306) hide show
  1. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/PKG-INFO +2 -1
  2. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/README.md +1 -0
  3. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/pyproject.toml +1 -1
  4. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/ops/rms_norm.py +1 -1
  5. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/__init__.py +3 -0
  6. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/model/gemma3.py +1 -0
  7. liger_kernel_nightly-0.6.4.dev20251206103502/src/liger_kernel/transformers/model/gpt_oss.py +211 -0
  8. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/model/paligemma.py +1 -0
  9. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/monkey_patch.py +75 -0
  10. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel_nightly.egg-info/PKG-INFO +2 -1
  11. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel_nightly.egg-info/SOURCES.txt +1 -0
  12. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/convergence/bf16/test_mini_models.py +67 -0
  13. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/convergence/fp32/test_mini_models.py +64 -0
  14. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/utils.py +12 -0
  15. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
  16. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
  17. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/.github/pull_request_template.md +0 -0
  18. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/.github/workflows/amd-ci.yml +0 -0
  19. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/.github/workflows/benchmark.yml +0 -0
  20. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/.github/workflows/docs.yml +0 -0
  21. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/.github/workflows/intel-ci.yml +0 -0
  22. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/.github/workflows/nvi-ci.yml +0 -0
  23. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/.github/workflows/publish-nightly.yml +0 -0
  24. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/.github/workflows/publish-release.yml +0 -0
  25. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/.gitignore +0 -0
  26. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/LICENSE +0 -0
  27. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/Makefile +0 -0
  28. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/NOTICE +0 -0
  29. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/README.md +0 -0
  30. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/__init__.py +0 -0
  31. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/benchmarks_visualizer.py +0 -0
  32. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/data/all_benchmark_data.csv +0 -0
  33. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/__init__.py +0 -0
  34. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/benchmark_cpo_loss.py +0 -0
  35. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/benchmark_cross_entropy.py +0 -0
  36. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/benchmark_distill_cosine_loss.py +0 -0
  37. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/benchmark_distill_jsd_loss.py +0 -0
  38. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/benchmark_dpo_loss.py +0 -0
  39. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/benchmark_dyt.py +0 -0
  40. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/benchmark_embedding.py +0 -0
  41. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/benchmark_fused_add_rms_norm.py +0 -0
  42. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/benchmark_fused_linear_cross_entropy.py +0 -0
  43. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/benchmark_fused_linear_jsd.py +0 -0
  44. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/benchmark_fused_neighborhood_attention.py +0 -0
  45. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/benchmark_geglu.py +0 -0
  46. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/benchmark_group_norm.py +0 -0
  47. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/benchmark_grpo_loss.py +0 -0
  48. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/benchmark_jsd.py +0 -0
  49. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/benchmark_kl_div.py +0 -0
  50. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/benchmark_kto_loss.py +0 -0
  51. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/benchmark_layer_norm.py +0 -0
  52. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/benchmark_llama4_rope.py +0 -0
  53. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/benchmark_multi_token_attention.py +0 -0
  54. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/benchmark_orpo_loss.py +0 -0
  55. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/benchmark_poly_norm.py +0 -0
  56. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/benchmark_qwen2vl_mrope.py +0 -0
  57. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/benchmark_rms_norm.py +0 -0
  58. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/benchmark_rope.py +0 -0
  59. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/benchmark_simpo_loss.py +0 -0
  60. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/benchmark_softmax.py +0 -0
  61. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/benchmark_sparse_multi_token_attention.py +0 -0
  62. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/benchmark_sparsemax.py +0 -0
  63. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/benchmark_swiglu.py +0 -0
  64. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/benchmark_tiled_mlp.py +0 -0
  65. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/benchmark_tvd.py +0 -0
  66. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/benchmark/scripts/utils.py +0 -0
  67. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/dev/fmt-requirements.txt +0 -0
  68. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/dev/modal/benchmarks.py +0 -0
  69. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/dev/modal/tests.py +0 -0
  70. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/dev/modal/tests_bwd.py +0 -0
  71. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/docs/Examples.md +0 -0
  72. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/docs/Getting-Started.md +0 -0
  73. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/docs/High-Level-APIs.md +0 -0
  74. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/docs/Low-Level-APIs.md +0 -0
  75. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/docs/acknowledgement.md +0 -0
  76. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/docs/contributing.md +0 -0
  77. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/docs/images/banner.GIF +0 -0
  78. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/docs/images/compose.gif +0 -0
  79. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/docs/images/e2e-memory.png +0 -0
  80. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/docs/images/e2e-tps.png +0 -0
  81. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/docs/images/logo-banner.png +0 -0
  82. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/docs/images/patch.gif +0 -0
  83. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/docs/images/post-training.png +0 -0
  84. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/docs/index.md +0 -0
  85. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/docs/license.md +0 -0
  86. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/alignment/accelerate_config.yaml +0 -0
  87. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/alignment/run_orpo.py +0 -0
  88. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/huggingface/README.md +0 -0
  89. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/huggingface/callback.py +0 -0
  90. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/huggingface/config/fsdp_config.json +0 -0
  91. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/huggingface/img/gemma_7b_mem.png +0 -0
  92. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/huggingface/img/gemma_7b_tp.png +0 -0
  93. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/huggingface/img/llama_mem_alloc.png +0 -0
  94. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/huggingface/img/llama_tps.png +0 -0
  95. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/huggingface/img/qwen_mem_alloc.png +0 -0
  96. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/huggingface/img/qwen_tps.png +0 -0
  97. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/huggingface/launch_on_modal.py +0 -0
  98. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/huggingface/requirements.txt +0 -0
  99. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/huggingface/run_benchmarks.sh +0 -0
  100. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/huggingface/run_gemma.sh +0 -0
  101. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/huggingface/run_llama.sh +0 -0
  102. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/huggingface/run_qwen.sh +0 -0
  103. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/huggingface/run_qwen2_vl.sh +0 -0
  104. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/huggingface/training.py +0 -0
  105. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/huggingface/training_multimodal.py +0 -0
  106. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/lightning/README.md +0 -0
  107. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/lightning/requirements.txt +0 -0
  108. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/lightning/training.py +0 -0
  109. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/medusa/README.md +0 -0
  110. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/medusa/callback.py +0 -0
  111. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/medusa/docs/images/Memory_Stage1_num_head_3.png +0 -0
  112. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/medusa/docs/images/Memory_Stage1_num_head_5.png +0 -0
  113. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/medusa/docs/images/Memory_Stage2_num_head_3.png +0 -0
  114. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/medusa/docs/images/Memory_Stage2_num_head_5.png +0 -0
  115. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/medusa/docs/images/Throughput_Stage1_num_head_3.png +0 -0
  116. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/medusa/docs/images/Throughput_Stage1_num_head_5.png +0 -0
  117. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/medusa/docs/images/Throughput_Stage2_num_head_3.png +0 -0
  118. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/medusa/docs/images/Throughput_Stage2_num_head_5.png +0 -0
  119. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/medusa/fsdp/acc-fsdp.conf +0 -0
  120. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/medusa/medusa_util.py +0 -0
  121. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/medusa/requirements.txt +0 -0
  122. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/medusa/scripts/llama3_8b_medusa.sh +0 -0
  123. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/examples/medusa/train.py +0 -0
  124. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/licenses/LICENSE-Apache-2.0 +0 -0
  125. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/licenses/LICENSE-MIT-AutoAWQ +0 -0
  126. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/licenses/LICENSE-MIT-Efficient-Cross-Entropy +0 -0
  127. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/licenses/LICENSE-MIT-llmc +0 -0
  128. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/licenses/LICENSE-MIT-triton +0 -0
  129. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/mkdocs.yml +0 -0
  130. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/setup.cfg +0 -0
  131. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/setup.py +0 -0
  132. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/__init__.py +0 -0
  133. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/chunked_loss/README.md +0 -0
  134. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/chunked_loss/__init__.py +0 -0
  135. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/chunked_loss/cosine_similarity_loss.py +0 -0
  136. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/chunked_loss/cpo_loss.py +0 -0
  137. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/chunked_loss/dpo_loss.py +0 -0
  138. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/chunked_loss/functional.py +0 -0
  139. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/chunked_loss/fused_linear_distillation.py +0 -0
  140. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/chunked_loss/fused_linear_ppo.py +0 -0
  141. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/chunked_loss/fused_linear_preference.py +0 -0
  142. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/chunked_loss/fused_linear_unpaired_preference.py +0 -0
  143. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/chunked_loss/grpo_loss.py +0 -0
  144. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/chunked_loss/jsd_loss.py +0 -0
  145. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/chunked_loss/kto_loss.py +0 -0
  146. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/chunked_loss/orpo_loss.py +0 -0
  147. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/chunked_loss/simpo_loss.py +0 -0
  148. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/env_report.py +0 -0
  149. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/ops/__init__.py +0 -0
  150. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/ops/cross_entropy.py +0 -0
  151. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/ops/dyt.py +0 -0
  152. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/ops/experimental/embedding.py +0 -0
  153. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/ops/experimental/mm_int8int2.py +0 -0
  154. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/ops/fused_add_rms_norm.py +0 -0
  155. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/ops/fused_linear_cross_entropy.py +0 -0
  156. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/ops/fused_linear_jsd.py +0 -0
  157. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/ops/fused_neighborhood_attention.py +0 -0
  158. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/ops/geglu.py +0 -0
  159. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/ops/group_norm.py +0 -0
  160. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/ops/grpo_loss.py +0 -0
  161. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/ops/jsd.py +0 -0
  162. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/ops/kl_div.py +0 -0
  163. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/ops/layer_norm.py +0 -0
  164. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/ops/llama4_rope.py +0 -0
  165. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/ops/multi_token_attention.py +0 -0
  166. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/ops/poly_norm.py +0 -0
  167. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/ops/qwen2vl_mrope.py +0 -0
  168. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/ops/rope.py +0 -0
  169. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/ops/softmax.py +0 -0
  170. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/ops/sparsemax.py +0 -0
  171. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/ops/swiglu.py +0 -0
  172. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/ops/tiled_mlp.py +0 -0
  173. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/ops/tvd.py +0 -0
  174. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/ops/utils.py +0 -0
  175. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/auto_model.py +0 -0
  176. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/cross_entropy.py +0 -0
  177. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/dyt.py +0 -0
  178. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/experimental/__init__.py +0 -0
  179. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/experimental/embedding.py +0 -0
  180. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/fsdp.py +0 -0
  181. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/functional.py +0 -0
  182. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/fused_add_rms_norm.py +0 -0
  183. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/fused_linear_cross_entropy.py +0 -0
  184. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/fused_linear_jsd.py +0 -0
  185. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/fused_neighborhood_attention.py +0 -0
  186. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/geglu.py +0 -0
  187. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/group_norm.py +0 -0
  188. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/grpo_loss.py +0 -0
  189. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/jsd.py +0 -0
  190. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/kl_div.py +0 -0
  191. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/layer_norm.py +0 -0
  192. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/llama4_rope.py +0 -0
  193. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/model/__init__.py +0 -0
  194. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/model/falcon_h1.py +0 -0
  195. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/model/gemma.py +0 -0
  196. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/model/gemma2.py +0 -0
  197. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/model/glm4.py +0 -0
  198. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/model/glm4v.py +0 -0
  199. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/model/glm4v_moe.py +0 -0
  200. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/model/hunyuan_v1.py +0 -0
  201. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/model/internvl.py +0 -0
  202. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/model/llama.py +0 -0
  203. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/model/llama4.py +0 -0
  204. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/model/llava.py +0 -0
  205. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/model/loss_utils.py +0 -0
  206. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/model/mistral.py +0 -0
  207. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/model/mixtral.py +0 -0
  208. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/model/mllama.py +0 -0
  209. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/model/olmo2.py +0 -0
  210. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/model/olmo3.py +0 -0
  211. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/model/output_classes.py +0 -0
  212. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/model/phi3.py +0 -0
  213. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/model/qwen2.py +0 -0
  214. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/model/qwen2_5_vl.py +0 -0
  215. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/model/qwen2_vl.py +0 -0
  216. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/model/qwen3.py +0 -0
  217. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/model/qwen3_moe.py +0 -0
  218. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/model/qwen3_next.py +0 -0
  219. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/model/qwen3_vl.py +0 -0
  220. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/model/qwen3_vl_moe.py +0 -0
  221. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/model/smollm3.py +0 -0
  222. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/model/smolvlm.py +0 -0
  223. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/multi_token_attention.py +0 -0
  224. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/poly_norm.py +0 -0
  225. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/qwen2vl_mrope.py +0 -0
  226. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/rms_norm.py +0 -0
  227. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/rope.py +0 -0
  228. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/softmax.py +0 -0
  229. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/sparsemax.py +0 -0
  230. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/swiglu.py +0 -0
  231. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/tiled_mlp.py +0 -0
  232. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/trainer/__init__.py +0 -0
  233. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/trainer/orpo_trainer.py +0 -0
  234. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/trainer_integration.py +0 -0
  235. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/transformers/tvd.py +0 -0
  236. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/triton/__init__.py +0 -0
  237. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/triton/monkey_patch.py +0 -0
  238. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel/utils.py +0 -0
  239. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel_nightly.egg-info/dependency_links.txt +0 -0
  240. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel_nightly.egg-info/requires.txt +0 -0
  241. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/src/liger_kernel_nightly.egg-info/top_level.txt +0 -0
  242. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/__init__.py +0 -0
  243. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/chunked_loss/__init__.py +0 -0
  244. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/chunked_loss/test_cosine_loss.py +0 -0
  245. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/chunked_loss/test_cpo_loss.py +0 -0
  246. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/chunked_loss/test_dpo_loss.py +0 -0
  247. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/chunked_loss/test_grpo_loss.py +0 -0
  248. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/chunked_loss/test_jsd_loss.py +0 -0
  249. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/chunked_loss/test_kto_loss.py +0 -0
  250. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/chunked_loss/test_orpo_loss.py +0 -0
  251. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/chunked_loss/test_simpo_loss.py +0 -0
  252. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/conftest.py +0 -0
  253. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/convergence/__init__.py +0 -0
  254. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/convergence/bf16/__init__.py +0 -0
  255. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/convergence/bf16/test_mini_models_multimodal.py +0 -0
  256. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/convergence/bf16/test_mini_models_with_logits.py +0 -0
  257. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/convergence/fp32/__init__.py +0 -0
  258. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/convergence/fp32/test_mini_models_multimodal.py +0 -0
  259. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/convergence/fp32/test_mini_models_with_logits.py +0 -0
  260. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/resources/fake_configs/Google/Gemma3/gemma-3-4b-it/tokenizer_config.json +0 -0
  261. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/resources/fake_configs/Google/Paligemma/paligemma-3b-pt-224/tokenizer_config.json +0 -0
  262. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/resources/fake_configs/HuggingFaceTB/SmolVLM2-256M-Video-Instruct/tokenizer_config.json +0 -0
  263. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/resources/fake_configs/Llava/llava-1.5-7b-hf/preprocessor_config.json +0 -0
  264. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/resources/fake_configs/Llava/llava-1.5-7b-hf/processor_config.json +0 -0
  265. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/resources/fake_configs/Llava/llava-1.5-7b-hf/tokenizer_config.json +0 -0
  266. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/resources/fake_configs/OpenGVLab/InternVL3-1B-hf/tokenizer_config.json +0 -0
  267. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/resources/fake_configs/Qwen/Qwen2-VL-7B-Instruct/tokenizer_config.json +0 -0
  268. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/resources/fake_configs/Qwen/Qwen2.5-VL-7B-Instruct/tokenizer_config.json +0 -0
  269. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/resources/fake_configs/Qwen/Qwen3-VL-4B-Instruct/tokenizer_config.json +0 -0
  270. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/resources/fake_configs/meta-llama/Llama-3.2-11B-Vision-Instruct/tokenizer_config.json +0 -0
  271. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/resources/fake_configs/meta-llama/Llama-4-Scout-17B-16E-Instruct/tokenizer_config.json +0 -0
  272. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/resources/scripts/generate_tokenized_dataset.py +0 -0
  273. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/resources/tiny_shakespeare.txt +0 -0
  274. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/resources/tiny_shakespeare_tokenized/data-00000-of-00001.arrow +0 -0
  275. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/resources/tiny_shakespeare_tokenized/dataset_info.json +0 -0
  276. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/resources/tiny_shakespeare_tokenized/state.json +0 -0
  277. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/transformers/test_auto_model.py +0 -0
  278. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/transformers/test_cross_entropy.py +0 -0
  279. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/transformers/test_dyt.py +0 -0
  280. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/transformers/test_embedding.py +0 -0
  281. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/transformers/test_flex_attention.py +0 -0
  282. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/transformers/test_fused_add_rms_norm.py +0 -0
  283. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/transformers/test_fused_linear_cross_entropy.py +0 -0
  284. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/transformers/test_fused_linear_jsd.py +0 -0
  285. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/transformers/test_fused_neighborhood_attention.py +0 -0
  286. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/transformers/test_geglu.py +0 -0
  287. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/transformers/test_group_norm.py +0 -0
  288. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/transformers/test_grpo_loss.py +0 -0
  289. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/transformers/test_jsd.py +0 -0
  290. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/transformers/test_kl_div.py +0 -0
  291. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/transformers/test_layer_norm.py +0 -0
  292. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/transformers/test_mm_int8int2.py +0 -0
  293. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/transformers/test_monkey_patch.py +0 -0
  294. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/transformers/test_multi_token_attention.py +0 -0
  295. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/transformers/test_poly_norm.py +0 -0
  296. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/transformers/test_qwen2vl_mrope.py +0 -0
  297. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/transformers/test_rms_norm.py +0 -0
  298. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/transformers/test_rope.py +0 -0
  299. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/transformers/test_softmax.py +0 -0
  300. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/transformers/test_sparsemax.py +0 -0
  301. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/transformers/test_swiglu.py +0 -0
  302. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/transformers/test_tiled_mlp.py +0 -0
  303. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/transformers/test_trainer_integration.py +0 -0
  304. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/transformers/test_transformers.py +0 -0
  305. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/transformers/test_tvd.py +0 -0
  306. {liger_kernel_nightly-0.6.4.dev20251202054858 → liger_kernel_nightly-0.6.4.dev20251206103502}/test/triton/test_triton_monkey_patch.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: liger_kernel_nightly
3
- Version: 0.6.4.dev20251202054858
3
+ Version: 0.6.4.dev20251206103502
4
4
  Summary: Efficient Triton kernels for LLM Training
5
5
  License: BSD 2-CLAUSE LICENSE
6
6
  Copyright 2024 LinkedIn Corporation
@@ -312,6 +312,7 @@ loss.backward()
312
312
  | OLMo2 | `liger_kernel.transformers.apply_liger_kernel_to_olmo2` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
313
313
  | Olmo3 | `liger_kernel.transformers.apply_liger_kernel_to_olmo3` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
314
314
  | GLM-4 | `liger_kernel.transformers.apply_liger_kernel_to_glm4` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
315
+ | GPT-OSS | `liger_kernel.transformers.apply_liger_kernel_to_gpt_oss` | RoPE, RMSNorm, CrossEntropyLoss, FusedLinearCrossEntropy |
315
316
  | InternVL3 | `liger_kernel.transformers.apply_liger_kernel_to_internvl` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
316
317
  | HunyuanV1 | `liger_kernel.transformers.apply_liger_kernel_to_hunyuan_v1_dense` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
317
318
  | HunyuanV1 MoE | `liger_kernel.transformers.apply_liger_kernel_to_hunyuan_v1_moe` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
@@ -264,6 +264,7 @@ loss.backward()
264
264
  | OLMo2 | `liger_kernel.transformers.apply_liger_kernel_to_olmo2` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
265
265
  | Olmo3 | `liger_kernel.transformers.apply_liger_kernel_to_olmo3` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
266
266
  | GLM-4 | `liger_kernel.transformers.apply_liger_kernel_to_glm4` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
267
+ | GPT-OSS | `liger_kernel.transformers.apply_liger_kernel_to_gpt_oss` | RoPE, RMSNorm, CrossEntropyLoss, FusedLinearCrossEntropy |
267
268
  | InternVL3 | `liger_kernel.transformers.apply_liger_kernel_to_internvl` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
268
269
  | HunyuanV1 | `liger_kernel.transformers.apply_liger_kernel_to_hunyuan_v1_dense` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
269
270
  | HunyuanV1 MoE | `liger_kernel.transformers.apply_liger_kernel_to_hunyuan_v1_moe` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
@@ -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.dev20251202054858"
7
+ version = "0.6.4.dev20251206103502"
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" }
@@ -351,7 +351,7 @@ def _block_rms_norm_backward_kernel(
351
351
 
352
352
  # calculate the gradient of W
353
353
  if casting_mode == _CASTING_MODE_LLAMA:
354
- # TODO(tcc): use tl.sum(..., dtype=tl.float32) once we upgrade to triton>=3.3.0
354
+ # TODO(tcc): use tl.sum(..., dtype=tl.float32) once we upgrade to triton>=3.3.0
355
355
  dW_row += tl.sum((dY_row * (X_row * rstd_row[:, None]).to(X_dtype)).to(tl.float32), 0)
356
356
  else:
357
357
  # here X_row is already in fp32 (see previous if block)
@@ -41,6 +41,7 @@ if TYPE_CHECKING:
41
41
  from liger_kernel.transformers.monkey_patch import apply_liger_kernel_to_glm4 # noqa: F401
42
42
  from liger_kernel.transformers.monkey_patch import apply_liger_kernel_to_glm4v # noqa: F401
43
43
  from liger_kernel.transformers.monkey_patch import apply_liger_kernel_to_glm4v_moe # noqa: F401
44
+ from liger_kernel.transformers.monkey_patch import apply_liger_kernel_to_gpt_oss # noqa: F401
44
45
  from liger_kernel.transformers.monkey_patch import apply_liger_kernel_to_granite # noqa: F401
45
46
  from liger_kernel.transformers.monkey_patch import apply_liger_kernel_to_hunyuan_v1_dense # noqa: F401
46
47
  from liger_kernel.transformers.monkey_patch import apply_liger_kernel_to_hunyuan_v1_moe # noqa: F401
@@ -110,6 +111,7 @@ def __getattr__(name: str):
110
111
  "apply_liger_kernel_to_glm4",
111
112
  "apply_liger_kernel_to_glm4v",
112
113
  "apply_liger_kernel_to_glm4v_moe",
114
+ "apply_liger_kernel_to_gpt_oss",
113
115
  "apply_liger_kernel_to_granite",
114
116
  "apply_liger_kernel_to_internvl",
115
117
  "apply_liger_kernel_to_llama",
@@ -187,6 +189,7 @@ if _TRANSFORMERS_AVAILABLE:
187
189
  "apply_liger_kernel_to_glm4",
188
190
  "apply_liger_kernel_to_glm4v",
189
191
  "apply_liger_kernel_to_glm4v_moe",
192
+ "apply_liger_kernel_to_gpt_oss",
190
193
  "apply_liger_kernel_to_granite",
191
194
  "apply_liger_kernel_to_internvl",
192
195
  "apply_liger_kernel_to_llama",
@@ -235,6 +235,7 @@ def multimodal_forward(
235
235
  **lm_kwargs,
236
236
  )
237
237
 
238
+ shift_labels = lm_kwargs.pop("shift_labels", None)
238
239
  hidden_states = outputs[0]
239
240
 
240
241
  slice_indices = slice(-logits_to_keep, None) if isinstance(logits_to_keep, int) else logits_to_keep
@@ -0,0 +1,211 @@
1
+ from typing import List
2
+ from typing import Optional
3
+ from typing import Union
4
+
5
+ import torch
6
+
7
+ from transformers.modeling_outputs import MoeModelOutputWithPast
8
+ from transformers.models.mixtral.modeling_mixtral import load_balancing_loss_func
9
+
10
+ from liger_kernel.transformers.model.loss_utils import LigerForCausalLMLoss
11
+ from liger_kernel.transformers.model.loss_utils import unpack_cross_entropy_result
12
+ from liger_kernel.transformers.model.output_classes import LigerMoeCausalLMOutputWithPast
13
+
14
+
15
+ def lce_forward(
16
+ self,
17
+ input_ids: Optional[torch.LongTensor] = None,
18
+ attention_mask: Optional[torch.Tensor] = None,
19
+ position_ids: Optional[torch.LongTensor] = None,
20
+ past_key_values: Optional[List[torch.FloatTensor]] = None,
21
+ inputs_embeds: Optional[torch.FloatTensor] = None,
22
+ labels: Optional[torch.LongTensor] = None,
23
+ use_cache: Optional[bool] = None,
24
+ output_attentions: Optional[bool] = None,
25
+ output_hidden_states: Optional[bool] = None,
26
+ output_router_logits: Optional[bool] = None,
27
+ cache_position: Optional[torch.LongTensor] = None,
28
+ logits_to_keep: Union[int, torch.Tensor] = 0,
29
+ skip_logits: Optional[bool] = None,
30
+ **kwargs,
31
+ ) -> LigerMoeCausalLMOutputWithPast:
32
+ r"""
33
+ Forward pass for causal language modeling with Mixture of Experts (MoE) architecture using Liger Kernel optimizations.
34
+
35
+ Args:
36
+ input_ids (`torch.LongTensor` of shape `(batch_size, sequence_length)`, *optional*):
37
+ Indices of input sequence tokens in the vocabulary. Indices can be obtained using tokenizers.
38
+ attention_mask (`torch.Tensor` of shape `(batch_size, sequence_length)`, *optional*):
39
+ Mask to avoid performing attention on padding token indices. Mask values selected in `[0, 1]`:
40
+ - 1 for tokens that are **not masked**,
41
+ - 0 for tokens that are **masked**.
42
+ position_ids (`torch.LongTensor` of shape `(batch_size, sequence_length)`, *optional*):
43
+ Indices of positions of each input sequence tokens in the position embeddings.
44
+ past_key_values (`List[torch.FloatTensor]` or `Cache`, *optional*):
45
+ Pre-computed hidden-states (key and values in the self-attention blocks) that can be used to speed up
46
+ sequential decoding. See `past_key_values` input for more details.
47
+ inputs_embeds (`torch.FloatTensor` of shape `(batch_size, sequence_length, hidden_size)`, *optional*):
48
+ Optionally, instead of passing `input_ids` you can choose to directly pass an embedded representation.
49
+ This is useful if you want more control over how to convert `input_ids` indices into associated vectors
50
+ than the model's internal embedding lookup matrix.
51
+ labels (`torch.LongTensor` of shape `(batch_size, sequence_length)`, *optional*):
52
+ Labels for computing the masked language modeling loss. Indices should either be in `[0, ...,
53
+ config.vocab_size]` or -100 (see `input_ids` docstring). Tokens with indices set to `-100` are ignored
54
+ (masked), the loss is only computed for the tokens with labels in `[0, ..., config.vocab_size]`.
55
+ use_cache (`bool`, *optional*):
56
+ If set to `True`, `past_key_values` key value states are returned and can be used to speed up decoding
57
+ (see `past_key_values`).
58
+ output_attentions (`bool`, *optional*):
59
+ Whether or not to return the attentions tensors of all attention layers. See `attentions` under returned
60
+ tensors for more detail.
61
+ output_hidden_states (`bool`, *optional*):
62
+ Whether or not to return the hidden states of all layers. See `hidden_states` under returned tensors for
63
+ more detail.
64
+ output_router_logits (`bool`, *optional*):
65
+ Whether or not to return the router logits of all MoE layers. See `router_logits` under returned tensors
66
+ for more detail.
67
+ cache_position (`torch.LongTensor` of shape `(sequence_length)`, *optional*):
68
+ Indices depicting the position of the input sequence tokens in the sequence.
69
+ logits_to_keep (`int` or `torch.Tensor`, *optional*, defaults to 0):
70
+ If an `int`, compute logits for the last `logits_to_keep` tokens. If `0`, calculate logits for all
71
+ `input_ids` (special case). Only last token logits are needed for generation, and calculating them only for that
72
+ token can save memory, which becomes pretty significant for long sequences or large vocabulary size.
73
+ If a `torch.Tensor`, must be 1D corresponding to the indices to keep in the sequence length dimension.
74
+ This is useful when using packed tensor format (single dimension for batch and sequence length).
75
+ skip_logits (`bool`, *optional*):
76
+ Whether to skip logit computation and directly compute loss. If `None`, defaults to `True` during training
77
+ when labels are provided (to save memory), and `False` during inference.
78
+
79
+ Returns:
80
+ `LigerMoeCausalLMOutputWithPast`: An output object containing:
81
+ - loss (`torch.FloatTensor` of shape `(1,)`, *optional*, returned when `labels` is provided):
82
+ Language modeling loss (for next-token prediction), including the auxiliary load balancing loss.
83
+ - aux_loss (`torch.FloatTensor`, *optional*, returned when `labels` is provided):
84
+ Auxiliary load balancing loss for the sparse MoE modules.
85
+ - logits (`torch.FloatTensor` of shape `(batch_size, sequence_length, config.vocab_size)`, *optional*):
86
+ Prediction scores of the language modeling head (scores for each vocabulary token before SoftMax).
87
+ Note: logits are `None` during training when `skip_logits=True` to save memory.
88
+ - past_key_values (`Cache`, *optional*, returned when `use_cache=True` is passed):
89
+ Cached key and value projection states for faster sequential decoding.
90
+ - hidden_states (`tuple(torch.FloatTensor)`, *optional*, returned when `output_hidden_states=True`):
91
+ Tuple of `torch.FloatTensor` (one for the output of the embeddings + one for each layer) of shape
92
+ `(batch_size, sequence_length, hidden_size)`. Hidden-states of the model at the output of each layer.
93
+ - attentions (`tuple(torch.FloatTensor)`, *optional*, returned when `output_attentions=True`):
94
+ Tuple of `torch.FloatTensor` (one for each layer) of shape `(batch_size, num_heads, sequence_length,
95
+ sequence_length)`. Attentions weights after the attention softmax.
96
+ - router_logits (`tuple(torch.FloatTensor)`, *optional*, returned when `output_router_logits=True`):
97
+ Tuple of `torch.FloatTensor` (one for each layer) of shape `(batch_size, sequence_length, num_experts)`.
98
+ Router logits of the MoE layers, useful to compute the auxiliary loss and z_loss.
99
+ - token_accuracy (`torch.FloatTensor`, *optional*, returned when `labels` is provided):
100
+ Token-level prediction accuracy.
101
+
102
+ Example:
103
+
104
+ ```python
105
+ >>> from transformers import AutoTokenizer, GptOssForCausalLM
106
+ >>> from liger_kernel.transformers import apply_liger_kernel_to_gpt_oss
107
+
108
+ >>> # Apply Liger Kernel patches for optimized performance
109
+ >>> apply_liger_kernel_to_gpt_oss()
110
+
111
+ >>> model = GptOssForCausalLM.from_pretrained("openai/gpt-oss-20b")
112
+ >>> tokenizer = AutoTokenizer.from_pretrained("openai/gpt-oss-20b")
113
+
114
+ >>> prompt = "Hey, are you conscious? Can you talk to me?"
115
+ >>> inputs = tokenizer(prompt, return_tensors="pt")
116
+
117
+ >>> # Inference: Forward pass returns logits
118
+ >>> outputs = model(**inputs)
119
+ >>> outputs.logits.shape
120
+ torch.Size([1, 12, 201088])
121
+
122
+ >>> # Get next token prediction
123
+ >>> next_token_logits = outputs.logits[:, -1, :]
124
+ >>> predicted_token_id = next_token_logits.argmax(dim=-1)
125
+
126
+ >>> # Training: Forward pass with labels returns loss
127
+ >>> labels = inputs.input_ids.clone()
128
+ >>> outputs = model(**inputs, labels=labels)
129
+ >>> outputs.loss
130
+ tensor(2.6454)
131
+ ```"""
132
+
133
+ output_attentions = output_attentions if output_attentions is not None else self.config.output_attentions
134
+ output_router_logits = (
135
+ output_router_logits if output_router_logits is not None else self.config.output_router_logits
136
+ )
137
+
138
+ output_hidden_states = (
139
+ output_hidden_states if output_hidden_states is not None else self.config.output_hidden_states
140
+ )
141
+
142
+ # decoder outputs consists of (dec_features, layer_state, dec_hidden, dec_attn)
143
+ outputs: MoeModelOutputWithPast = self.model(
144
+ input_ids=input_ids,
145
+ attention_mask=attention_mask,
146
+ position_ids=position_ids,
147
+ past_key_values=past_key_values,
148
+ inputs_embeds=inputs_embeds,
149
+ use_cache=use_cache,
150
+ output_attentions=output_attentions,
151
+ output_hidden_states=output_hidden_states,
152
+ output_router_logits=output_router_logits,
153
+ cache_position=cache_position,
154
+ **kwargs,
155
+ )
156
+
157
+ hidden_states = outputs.last_hidden_state
158
+ # Only compute necessary logits, and do not upcast them to float if we are not computing the loss
159
+ slice_indices = slice(-logits_to_keep, None) if isinstance(logits_to_keep, int) else logits_to_keep
160
+ kept_hidden_states = hidden_states[:, slice_indices, :]
161
+
162
+ shift_labels = kwargs.pop("shift_labels", None)
163
+ logits = None
164
+ loss = None
165
+ token_accuracy = None
166
+
167
+ if skip_logits is None:
168
+ skip_logits = self.training and (labels is not None or shift_labels is not None)
169
+
170
+ if skip_logits:
171
+ result = LigerForCausalLMLoss(
172
+ hidden_states=kept_hidden_states,
173
+ lm_head_weight=self.lm_head.weight,
174
+ labels=labels,
175
+ shift_labels=shift_labels,
176
+ hidden_size=self.config.hidden_size,
177
+ **kwargs,
178
+ )
179
+ loss, _, token_accuracy = unpack_cross_entropy_result(result)
180
+ else: # if in inference model materialize logits
181
+ logits = self.lm_head(kept_hidden_states)
182
+ if labels is not None or shift_labels is not None:
183
+ loss = self.loss_function(
184
+ logits=logits,
185
+ labels=labels,
186
+ shift_labels=shift_labels,
187
+ vocab_size=self.vocab_size,
188
+ **kwargs,
189
+ )
190
+
191
+ aux_loss = None
192
+ if output_router_logits:
193
+ aux_loss = load_balancing_loss_func(
194
+ outputs.router_logits,
195
+ self.num_experts,
196
+ self.num_experts_per_tok,
197
+ attention_mask,
198
+ )
199
+ if labels is not None:
200
+ loss += self.router_aux_loss_coef * aux_loss.to(loss.device) # make sure to reside in the same device
201
+
202
+ return LigerMoeCausalLMOutputWithPast(
203
+ loss=loss,
204
+ aux_loss=aux_loss,
205
+ logits=logits,
206
+ past_key_values=outputs.past_key_values,
207
+ hidden_states=outputs.hidden_states,
208
+ attentions=outputs.attentions,
209
+ router_logits=outputs.router_logits,
210
+ token_accuracy=token_accuracy,
211
+ )
@@ -330,6 +330,7 @@ def lce_forward(
330
330
  **lm_kwargs,
331
331
  )
332
332
 
333
+ shift_labels = lm_kwargs.pop("shift_labels", None)
333
334
  hidden_states = outputs[0]
334
335
 
335
336
  loss = None
@@ -20,6 +20,7 @@ from liger_kernel.transformers.model.gemma import lce_forward as gemma_lce_forwa
20
20
  from liger_kernel.transformers.model.gemma import lce_forward_deprecated as gemma_lce_forward_deprecated
21
21
  from liger_kernel.transformers.model.gemma2 import lce_forward as gemma2_lce_forward
22
22
  from liger_kernel.transformers.model.gemma2 import lce_forward_deprecated as gemma2_lce_forward_deprected
23
+ from liger_kernel.transformers.model.gpt_oss import lce_forward as gpt_oss_lce_forward
23
24
  from liger_kernel.transformers.model.llama import lce_forward as llama_lce_forward
24
25
  from liger_kernel.transformers.model.llama import lce_forward_deprecated as llama_lce_forward_deprecated
25
26
  from liger_kernel.transformers.model.llava import lce_forward as llava_lce_forward
@@ -1459,6 +1460,79 @@ def apply_liger_kernel_to_qwen3_moe(
1459
1460
  _patch_rms_norm_module(decoder_layer.post_attention_layernorm)
1460
1461
 
1461
1462
 
1463
+ def apply_liger_kernel_to_gpt_oss(
1464
+ rope: bool = True,
1465
+ cross_entropy: bool = False,
1466
+ fused_linear_cross_entropy: bool = True,
1467
+ rms_norm: bool = True,
1468
+ swiglu: bool = False, # Set to False by default since GPT-OSS has custom expert implementation
1469
+ model: PreTrainedModel = None,
1470
+ ) -> None:
1471
+ """
1472
+ Apply Liger kernels to replace original implementation in HuggingFace GPT-OSS models.
1473
+ NOTE: GPT-OSS is supported in transformers >= 4.55.0
1474
+ NOTE: SwiGLU patching is disabled by default for GPT-OSS as it uses a custom expert
1475
+ implementation with clamping and MXFP4 quantization.
1476
+
1477
+ Args:
1478
+ rope (bool): Whether to apply Liger's rotary position embedding. Default is True.
1479
+ cross_entropy (bool): Whether to apply Liger's cross entropy loss. Default is False.
1480
+ fused_linear_cross_entropy (bool):
1481
+ Whether to apply Liger's fused linear cross entropy loss. Default is True.
1482
+ `cross_entropy` and `fused_linear_cross_entropy` cannot both be True.
1483
+ If `fused_linear_cross_entropy` is True, the logits will not be materialized but more memory efficient.
1484
+ rms_norm (bool): Whether to apply Liger's RMSNorm. Default is True.
1485
+ swiglu (bool): Whether to apply Liger's SwiGLU MLP. Default is False.
1486
+ Note: GPT-OSS uses a custom expert implementation, so SwiGLU patching is disabled by default.
1487
+ model (PreTrainedModel): The model instance to apply Liger kernels to, if the model has already been
1488
+ loaded. Default is None.
1489
+ """
1490
+ if version.parse(transformers.__version__) < version.parse("4.55.0"):
1491
+ logger.warning("GPT-OSS support requires transformers >= 4.55.0")
1492
+ return
1493
+
1494
+ assert not (cross_entropy and fused_linear_cross_entropy), (
1495
+ "cross_entropy and fused_linear_cross_entropy cannot both be True."
1496
+ )
1497
+
1498
+ from transformers.models.gpt_oss import modeling_gpt_oss
1499
+ from transformers.models.gpt_oss.modeling_gpt_oss import GptOssModel
1500
+
1501
+ if rope:
1502
+ modeling_gpt_oss.apply_rotary_pos_emb = liger_rotary_pos_emb
1503
+
1504
+ if rms_norm:
1505
+ modeling_gpt_oss.GptOssRMSNorm = LigerRMSNorm
1506
+
1507
+ if cross_entropy:
1508
+ from transformers.loss.loss_utils import nn
1509
+
1510
+ nn.functional.cross_entropy = liger_cross_entropy
1511
+
1512
+ if fused_linear_cross_entropy:
1513
+ if model is not None:
1514
+ model.forward = MethodType(gpt_oss_lce_forward, model)
1515
+ else:
1516
+ modeling_gpt_oss.GptOssForCausalLM.forward = gpt_oss_lce_forward
1517
+
1518
+ # Note: SwiGLU patching is not implemented for GPT-OSS due to custom expert implementation
1519
+ # with clamping (swiglu_limit=7.0) and MXFP4 quantization
1520
+
1521
+ if model is not None:
1522
+ # The model instance already exists, so we need to additionally patch the
1523
+ # instance variables that reference already-instantiated modules
1524
+
1525
+ # get the base model from the model instance
1526
+ base_model: GptOssModel = getattr(model, model.base_model_prefix, model)
1527
+
1528
+ if rms_norm:
1529
+ _patch_rms_norm_module(base_model.norm)
1530
+ for decoder_layer in base_model.layers:
1531
+ if rms_norm:
1532
+ _patch_rms_norm_module(decoder_layer.input_layernorm)
1533
+ _patch_rms_norm_module(decoder_layer.post_attention_layernorm)
1534
+
1535
+
1462
1536
  def apply_liger_kernel_to_qwen2_vl(
1463
1537
  rope: bool = True,
1464
1538
  cross_entropy: bool = False,
@@ -2752,6 +2826,7 @@ MODEL_TYPE_TO_APPLY_LIGER_FN = {
2752
2826
  "glm4": apply_liger_kernel_to_glm4,
2753
2827
  "glm4v": apply_liger_kernel_to_glm4v,
2754
2828
  "glm4v_moe": apply_liger_kernel_to_glm4v_moe,
2829
+ "gpt_oss": apply_liger_kernel_to_gpt_oss,
2755
2830
  "internvl": apply_liger_kernel_to_internvl,
2756
2831
  "llama": apply_liger_kernel_to_llama,
2757
2832
  "llama4_text": apply_liger_kernel_to_llama4,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: liger_kernel_nightly
3
- Version: 0.6.4.dev20251202054858
3
+ Version: 0.6.4.dev20251206103502
4
4
  Summary: Efficient Triton kernels for LLM Training
5
5
  License: BSD 2-CLAUSE LICENSE
6
6
  Copyright 2024 LinkedIn Corporation
@@ -312,6 +312,7 @@ loss.backward()
312
312
  | OLMo2 | `liger_kernel.transformers.apply_liger_kernel_to_olmo2` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
313
313
  | Olmo3 | `liger_kernel.transformers.apply_liger_kernel_to_olmo3` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
314
314
  | GLM-4 | `liger_kernel.transformers.apply_liger_kernel_to_glm4` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
315
+ | GPT-OSS | `liger_kernel.transformers.apply_liger_kernel_to_gpt_oss` | RoPE, RMSNorm, CrossEntropyLoss, FusedLinearCrossEntropy |
315
316
  | InternVL3 | `liger_kernel.transformers.apply_liger_kernel_to_internvl` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
316
317
  | HunyuanV1 | `liger_kernel.transformers.apply_liger_kernel_to_hunyuan_v1_dense` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
317
318
  | HunyuanV1 MoE | `liger_kernel.transformers.apply_liger_kernel_to_hunyuan_v1_moe` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
@@ -200,6 +200,7 @@ src/liger_kernel/transformers/model/gemma3.py
200
200
  src/liger_kernel/transformers/model/glm4.py
201
201
  src/liger_kernel/transformers/model/glm4v.py
202
202
  src/liger_kernel/transformers/model/glm4v_moe.py
203
+ src/liger_kernel/transformers/model/gpt_oss.py
203
204
  src/liger_kernel/transformers/model/hunyuan_v1.py
204
205
  src/liger_kernel/transformers/model/internvl.py
205
206
  src/liger_kernel/transformers/model/llama.py
@@ -29,6 +29,7 @@ from liger_kernel.transformers import apply_liger_kernel_to_gemma3_text
29
29
  from liger_kernel.transformers import apply_liger_kernel_to_glm4
30
30
  from liger_kernel.transformers import apply_liger_kernel_to_glm4v
31
31
  from liger_kernel.transformers import apply_liger_kernel_to_glm4v_moe
32
+ from liger_kernel.transformers import apply_liger_kernel_to_gpt_oss
32
33
  from liger_kernel.transformers import apply_liger_kernel_to_granite
33
34
  from liger_kernel.transformers import apply_liger_kernel_to_hunyuan_v1_dense
34
35
  from liger_kernel.transformers import apply_liger_kernel_to_hunyuan_v1_moe
@@ -64,6 +65,7 @@ from test.utils import revert_liger_kernel_to_gemma3_text
64
65
  from test.utils import revert_liger_kernel_to_glm4
65
66
  from test.utils import revert_liger_kernel_to_glm4v
66
67
  from test.utils import revert_liger_kernel_to_glm4v_moe
68
+ from test.utils import revert_liger_kernel_to_gpt_oss
67
69
  from test.utils import revert_liger_kernel_to_granite
68
70
  from test.utils import revert_liger_kernel_to_hunyuan_v1
69
71
  from test.utils import revert_liger_kernel_to_hunyuan_v1_moe
@@ -267,6 +269,15 @@ try:
267
269
  except ImportError:
268
270
  FALCONH1_AVAILABLE = False
269
271
 
272
+ try:
273
+ # GPT-OSS is only available in transformers>=4.55.0
274
+ from transformers.models.gpt_oss.configuration_gpt_oss import GptOssConfig
275
+ from transformers.models.gpt_oss.modeling_gpt_oss import GptOssForCausalLM
276
+
277
+ GPT_OSS_AVAILABLE = True
278
+ except ImportError:
279
+ GPT_OSS_AVAILABLE = False
280
+
270
281
  try:
271
282
  # Qwen3Next is only available in transformers>=4.57.0
272
283
  from transformers.models.qwen3_next.configuration_qwen3_next import Qwen3NextConfig
@@ -613,6 +624,43 @@ if QWEN3_AVAILABLE:
613
624
  ),
614
625
  )
615
626
 
627
+ if GPT_OSS_AVAILABLE:
628
+ MINI_MODEL_SETUPS["mini_gpt_oss"] = MiniModelConfig(
629
+ liger_kernel_patch_func=apply_liger_kernel_to_gpt_oss,
630
+ liger_kernel_patch_revert_func=revert_liger_kernel_to_gpt_oss,
631
+ model_class=GptOssForCausalLM,
632
+ mini_model_config=GptOssConfig(
633
+ vocab_size=32000, # 201088
634
+ hidden_size=896,
635
+ intermediate_size=896, # Same as hidden_size for GPT-OSS
636
+ num_hidden_layers=4,
637
+ num_attention_heads=8,
638
+ num_key_value_heads=2,
639
+ head_dim=64,
640
+ hidden_act="silu",
641
+ max_position_embeddings=8192,
642
+ initializer_range=0.02,
643
+ rms_norm_eps=1e-5,
644
+ use_cache=True,
645
+ tie_word_embeddings=False,
646
+ rope_parameters={
647
+ "rope_type": "yarn",
648
+ "factor": 8.0,
649
+ "beta_fast": 32.0,
650
+ "beta_slow": 1.0,
651
+ "truncate": False,
652
+ "original_max_position_embeddings": 4096,
653
+ },
654
+ attention_dropout=0.0,
655
+ num_local_experts=8, # Reduced from 32 for mini model
656
+ num_experts_per_tok=2, # Reduced from 4 for mini model
657
+ router_aux_loss_coef=0.9,
658
+ output_router_logits=False,
659
+ sliding_window=128,
660
+ layer_types=["sliding_attention" if bool((i + 1) % 2) else "full_attention" for i in range(4)],
661
+ ),
662
+ )
663
+
616
664
  if GEMMA3_AVAILABLE:
617
665
  MINI_MODEL_SETUPS["mini_gemma3_text"] = MiniModelConfig(
618
666
  liger_kernel_patch_func=apply_liger_kernel_to_gemma3_text,
@@ -1664,6 +1712,25 @@ def run_mini_model(
1664
1712
  ),
1665
1713
  ],
1666
1714
  ),
1715
+ pytest.param(
1716
+ "mini_gpt_oss",
1717
+ 32,
1718
+ 1e-5,
1719
+ torch.bfloat16,
1720
+ 5e-2,
1721
+ 5e-2,
1722
+ 1e-1,
1723
+ 1e-1,
1724
+ 1e-2,
1725
+ 1e-2,
1726
+ marks=[
1727
+ pytest.mark.skipif(not supports_bfloat16(), reason="bfloat16 not supported on this GPU"),
1728
+ pytest.mark.skipif(
1729
+ not GPT_OSS_AVAILABLE,
1730
+ reason="GPT-OSS not available in this version of transformers",
1731
+ ),
1732
+ ],
1733
+ ),
1667
1734
  pytest.param(
1668
1735
  "mini_qwen2_vl",
1669
1736
  32,
@@ -29,6 +29,7 @@ from liger_kernel.transformers import apply_liger_kernel_to_gemma3_text
29
29
  from liger_kernel.transformers import apply_liger_kernel_to_glm4
30
30
  from liger_kernel.transformers import apply_liger_kernel_to_glm4v
31
31
  from liger_kernel.transformers import apply_liger_kernel_to_glm4v_moe
32
+ from liger_kernel.transformers import apply_liger_kernel_to_gpt_oss
32
33
  from liger_kernel.transformers import apply_liger_kernel_to_granite
33
34
  from liger_kernel.transformers import apply_liger_kernel_to_hunyuan_v1_dense
34
35
  from liger_kernel.transformers import apply_liger_kernel_to_hunyuan_v1_moe
@@ -64,6 +65,7 @@ from test.utils import revert_liger_kernel_to_gemma3_text
64
65
  from test.utils import revert_liger_kernel_to_glm4
65
66
  from test.utils import revert_liger_kernel_to_glm4v
66
67
  from test.utils import revert_liger_kernel_to_glm4v_moe
68
+ from test.utils import revert_liger_kernel_to_gpt_oss
67
69
  from test.utils import revert_liger_kernel_to_granite
68
70
  from test.utils import revert_liger_kernel_to_hunyuan_v1
69
71
  from test.utils import revert_liger_kernel_to_hunyuan_v1_moe
@@ -247,6 +249,15 @@ try:
247
249
  except ImportError:
248
250
  QWEN3_AVAILABLE = False
249
251
 
252
+ try:
253
+ # GPT-OSS is only available in transformers>=4.55.0
254
+ from transformers.models.gpt_oss.configuration_gpt_oss import GptOssConfig
255
+ from transformers.models.gpt_oss.modeling_gpt_oss import GptOssForCausalLM
256
+
257
+ GPT_OSS_AVAILABLE = True
258
+ except ImportError:
259
+ GPT_OSS_AVAILABLE = False
260
+
250
261
  try:
251
262
  # InternVL is only available in transformers>=4.52.1
252
263
  from transformers.models.internvl.configuration_internvl import InternVLConfig
@@ -610,6 +621,43 @@ if QWEN3_AVAILABLE:
610
621
  ),
611
622
  )
612
623
 
624
+ if GPT_OSS_AVAILABLE:
625
+ MINI_MODEL_SETUPS["mini_gpt_oss"] = MiniModelConfig(
626
+ liger_kernel_patch_func=apply_liger_kernel_to_gpt_oss,
627
+ liger_kernel_patch_revert_func=revert_liger_kernel_to_gpt_oss,
628
+ model_class=GptOssForCausalLM,
629
+ mini_model_config=GptOssConfig(
630
+ vocab_size=32000, # 201088
631
+ hidden_size=896,
632
+ intermediate_size=896, # Same as hidden_size for GPT-OSS
633
+ num_hidden_layers=4,
634
+ num_attention_heads=8,
635
+ num_key_value_heads=2,
636
+ head_dim=64,
637
+ hidden_act="silu",
638
+ max_position_embeddings=8192,
639
+ initializer_range=0.02,
640
+ rms_norm_eps=1e-5,
641
+ use_cache=True,
642
+ tie_word_embeddings=False,
643
+ rope_parameters={
644
+ "rope_type": "yarn",
645
+ "factor": 8.0,
646
+ "beta_fast": 32.0,
647
+ "beta_slow": 1.0,
648
+ "truncate": False,
649
+ "original_max_position_embeddings": 4096,
650
+ },
651
+ attention_dropout=0.0,
652
+ num_local_experts=8, # Reduced from 32 for mini model
653
+ num_experts_per_tok=2, # Reduced from 4 for mini model
654
+ router_aux_loss_coef=0.9,
655
+ output_router_logits=False,
656
+ sliding_window=128,
657
+ layer_types=["sliding_attention" if bool((i + 1) % 2) else "full_attention" for i in range(4)],
658
+ ),
659
+ )
660
+
613
661
  if GEMMA3_AVAILABLE:
614
662
  MINI_MODEL_SETUPS["mini_gemma3_text"] = MiniModelConfig(
615
663
  liger_kernel_patch_func=apply_liger_kernel_to_gemma3_text,
@@ -1608,6 +1656,22 @@ def run_mini_model(
1608
1656
  reason="Qwen3 not available in this version of transformers",
1609
1657
  ),
1610
1658
  ),
1659
+ pytest.param(
1660
+ "mini_gpt_oss",
1661
+ 32,
1662
+ 1e-5,
1663
+ torch.float32,
1664
+ 1e-8,
1665
+ 1e-5,
1666
+ 5e-3,
1667
+ 1e-5,
1668
+ 5e-3,
1669
+ 1e-5,
1670
+ marks=pytest.mark.skipif(
1671
+ not GPT_OSS_AVAILABLE,
1672
+ reason="GPT-OSS not available in this version of transformers",
1673
+ ),
1674
+ ),
1611
1675
  pytest.param( # qwen2_vl requires slightly larger tolerances to pass this test after bug fix to qwen2_vl in transformers v4.47.0
1612
1676
  "mini_qwen2_vl",
1613
1677
  32,
@@ -487,6 +487,18 @@ def revert_liger_kernel_to_qwen3_moe(model_config: MiniModelConfig):
487
487
  print("Liger kernel patches have been reverted.")
488
488
 
489
489
 
490
+ def revert_liger_kernel_to_gpt_oss(model_config: MiniModelConfig):
491
+ """
492
+ Revert all Liger kernel patches applied to GPT-OSS.
493
+ """
494
+ from transformers.models.gpt_oss import modeling_gpt_oss
495
+
496
+ importlib.reload(modeling_gpt_oss)
497
+ model_config.model_class = modeling_gpt_oss.GptOssForCausalLM
498
+
499
+ print("Liger kernel patches have been reverted.")
500
+
501
+
490
502
  def revert_liger_kernel_to_qwen2_vl(model_config: MiniModelConfig):
491
503
  """
492
504
  Revert all Liger kernel patches applied to Qwen2-VL.