liger-kernel-nightly 0.5.8.dev20250429220905__tar.gz → 0.5.8.dev20250429233059__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 (243) hide show
  1. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/PKG-INFO +1 -1
  2. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/pyproject.toml +1 -1
  3. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/ops/cross_entropy.py +4 -1
  4. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/ops/fused_linear_cross_entropy.py +4 -3
  5. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/fused_linear_cross_entropy.py +1 -2
  6. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel_nightly.egg-info/PKG-INFO +1 -1
  7. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/transformers/test_cross_entropy.py +108 -2
  8. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/transformers/test_fused_linear_cross_entropy.py +3 -4
  9. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
  10. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
  11. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/.github/pull_request_template.md +0 -0
  12. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/.github/workflows/amd-ci.yml +0 -0
  13. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/.github/workflows/docs.yml +0 -0
  14. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/.github/workflows/intel-ci.yml +0 -0
  15. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/.github/workflows/nvi-ci.yml +0 -0
  16. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/.github/workflows/publish-nightly.yml +0 -0
  17. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/.github/workflows/publish-release.yml +0 -0
  18. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/.gitignore +0 -0
  19. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/LICENSE +0 -0
  20. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/Makefile +0 -0
  21. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/NOTICE +0 -0
  22. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/README.md +0 -0
  23. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/benchmark/README.md +0 -0
  24. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/benchmark/__init__.py +0 -0
  25. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/benchmark/benchmarks_visualizer.py +0 -0
  26. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/benchmark/data/all_benchmark_data.csv +0 -0
  27. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/benchmark/scripts/__init__.py +0 -0
  28. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/benchmark/scripts/benchmark_cpo_loss.py +0 -0
  29. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/benchmark/scripts/benchmark_cross_entropy.py +0 -0
  30. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/benchmark/scripts/benchmark_distill_jsd_loss.py +0 -0
  31. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/benchmark/scripts/benchmark_dpo_loss.py +0 -0
  32. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/benchmark/scripts/benchmark_dyt.py +0 -0
  33. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/benchmark/scripts/benchmark_embedding.py +0 -0
  34. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/benchmark/scripts/benchmark_fused_linear_cross_entropy.py +0 -0
  35. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/benchmark/scripts/benchmark_fused_linear_jsd.py +0 -0
  36. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/benchmark/scripts/benchmark_geglu.py +0 -0
  37. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/benchmark/scripts/benchmark_group_norm.py +0 -0
  38. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/benchmark/scripts/benchmark_jsd.py +0 -0
  39. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/benchmark/scripts/benchmark_kl_div.py +0 -0
  40. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/benchmark/scripts/benchmark_kto_loss.py +0 -0
  41. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/benchmark/scripts/benchmark_layer_norm.py +0 -0
  42. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/benchmark/scripts/benchmark_orpo_loss.py +0 -0
  43. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/benchmark/scripts/benchmark_qwen2vl_mrope.py +0 -0
  44. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/benchmark/scripts/benchmark_rms_norm.py +0 -0
  45. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/benchmark/scripts/benchmark_rope.py +0 -0
  46. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/benchmark/scripts/benchmark_simpo_loss.py +0 -0
  47. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/benchmark/scripts/benchmark_swiglu.py +0 -0
  48. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/benchmark/scripts/benchmark_tvd.py +0 -0
  49. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/benchmark/scripts/utils.py +0 -0
  50. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/dev/fmt-requirements.txt +0 -0
  51. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/dev/modal/tests.py +0 -0
  52. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/dev/modal/tests_bwd.py +0 -0
  53. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/docs/Examples.md +0 -0
  54. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/docs/Getting-Started.md +0 -0
  55. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/docs/High-Level-APIs.md +0 -0
  56. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/docs/Low-Level-APIs.md +0 -0
  57. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/docs/acknowledgement.md +0 -0
  58. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/docs/contributing.md +0 -0
  59. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/docs/images/banner.GIF +0 -0
  60. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/docs/images/compose.gif +0 -0
  61. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/docs/images/e2e-memory.png +0 -0
  62. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/docs/images/e2e-tps.png +0 -0
  63. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/docs/images/logo-banner.png +0 -0
  64. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/docs/images/patch.gif +0 -0
  65. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/docs/images/post-training.png +0 -0
  66. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/docs/index.md +0 -0
  67. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/docs/license.md +0 -0
  68. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/alignment/accelerate_config.yaml +0 -0
  69. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/alignment/run_orpo.py +0 -0
  70. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/huggingface/README.md +0 -0
  71. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/huggingface/callback.py +0 -0
  72. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/huggingface/config/fsdp_config.json +0 -0
  73. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/huggingface/img/gemma_7b_mem.png +0 -0
  74. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/huggingface/img/gemma_7b_tp.png +0 -0
  75. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/huggingface/img/llama_mem_alloc.png +0 -0
  76. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/huggingface/img/llama_tps.png +0 -0
  77. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/huggingface/img/qwen_mem_alloc.png +0 -0
  78. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/huggingface/img/qwen_tps.png +0 -0
  79. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/huggingface/launch_on_modal.py +0 -0
  80. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/huggingface/requirements.txt +0 -0
  81. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/huggingface/run_benchmarks.sh +0 -0
  82. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/huggingface/run_gemma.sh +0 -0
  83. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/huggingface/run_llama.sh +0 -0
  84. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/huggingface/run_qwen.sh +0 -0
  85. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/huggingface/run_qwen2_vl.sh +0 -0
  86. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/huggingface/training.py +0 -0
  87. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/huggingface/training_multimodal.py +0 -0
  88. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/lightning/README.md +0 -0
  89. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/lightning/requirements.txt +0 -0
  90. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/lightning/training.py +0 -0
  91. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/medusa/README.md +0 -0
  92. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/medusa/callback.py +0 -0
  93. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/medusa/docs/images/Memory_Stage1_num_head_3.png +0 -0
  94. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/medusa/docs/images/Memory_Stage1_num_head_5.png +0 -0
  95. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/medusa/docs/images/Memory_Stage2_num_head_3.png +0 -0
  96. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/medusa/docs/images/Memory_Stage2_num_head_5.png +0 -0
  97. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/medusa/docs/images/Throughput_Stage1_num_head_3.png +0 -0
  98. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/medusa/docs/images/Throughput_Stage1_num_head_5.png +0 -0
  99. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/medusa/docs/images/Throughput_Stage2_num_head_3.png +0 -0
  100. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/medusa/docs/images/Throughput_Stage2_num_head_5.png +0 -0
  101. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/medusa/fsdp/acc-fsdp.conf +0 -0
  102. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/medusa/medusa_util.py +0 -0
  103. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/medusa/requirements.txt +0 -0
  104. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/medusa/scripts/llama3_8b_medusa.sh +0 -0
  105. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/examples/medusa/train.py +0 -0
  106. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/licenses/LICENSE-Apache-2.0 +0 -0
  107. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/licenses/LICENSE-MIT-AutoAWQ +0 -0
  108. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/licenses/LICENSE-MIT-Efficient-Cross-Entropy +0 -0
  109. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/licenses/LICENSE-MIT-llmc +0 -0
  110. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/licenses/LICENSE-MIT-triton +0 -0
  111. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/mkdocs.yml +0 -0
  112. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/setup.cfg +0 -0
  113. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/setup.py +0 -0
  114. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/__init__.py +0 -0
  115. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/chunked_loss/README.md +0 -0
  116. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/chunked_loss/__init__.py +0 -0
  117. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/chunked_loss/cpo_loss.py +0 -0
  118. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/chunked_loss/dpo_loss.py +0 -0
  119. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/chunked_loss/functional.py +0 -0
  120. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/chunked_loss/fused_linear_distillation.py +0 -0
  121. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/chunked_loss/fused_linear_ppo.py +0 -0
  122. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/chunked_loss/fused_linear_preference.py +0 -0
  123. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/chunked_loss/fused_linear_unpaired_preference.py +0 -0
  124. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/chunked_loss/grpo_loss.py +0 -0
  125. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/chunked_loss/jsd_loss.py +0 -0
  126. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/chunked_loss/kto_loss.py +0 -0
  127. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/chunked_loss/orpo_loss.py +0 -0
  128. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/chunked_loss/simpo_loss.py +0 -0
  129. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/env_report.py +0 -0
  130. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/ops/__init__.py +0 -0
  131. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/ops/dyt.py +0 -0
  132. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/ops/experimental/embedding.py +0 -0
  133. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/ops/experimental/mm_int8int2.py +0 -0
  134. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/ops/fused_linear_jsd.py +0 -0
  135. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/ops/geglu.py +0 -0
  136. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/ops/group_norm.py +0 -0
  137. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/ops/jsd.py +0 -0
  138. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/ops/kl_div.py +0 -0
  139. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/ops/layer_norm.py +0 -0
  140. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/ops/qwen2vl_mrope.py +0 -0
  141. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/ops/rms_norm.py +0 -0
  142. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/ops/rope.py +0 -0
  143. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/ops/swiglu.py +0 -0
  144. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/ops/tvd.py +0 -0
  145. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/ops/utils.py +0 -0
  146. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/__init__.py +0 -0
  147. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/auto_model.py +0 -0
  148. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/cross_entropy.py +0 -0
  149. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/dyt.py +0 -0
  150. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/experimental/embedding.py +0 -0
  151. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/functional.py +0 -0
  152. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/fused_linear_jsd.py +0 -0
  153. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/geglu.py +0 -0
  154. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/gema3_rms.py +0 -0
  155. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/group_norm.py +0 -0
  156. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/jsd.py +0 -0
  157. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/kl_div.py +0 -0
  158. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/layer_norm.py +0 -0
  159. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/model/__init__.py +0 -0
  160. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/model/gemma.py +0 -0
  161. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/model/gemma2.py +0 -0
  162. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/model/gemma3.py +0 -0
  163. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/model/llama.py +0 -0
  164. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/model/llava.py +0 -0
  165. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/model/loss_utils.py +0 -0
  166. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/model/mistral.py +0 -0
  167. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/model/mixtral.py +0 -0
  168. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/model/mllama.py +0 -0
  169. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/model/olmo2.py +0 -0
  170. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/model/paligemma.py +0 -0
  171. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/model/phi3.py +0 -0
  172. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/model/qwen2.py +0 -0
  173. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/model/qwen2_5_vl.py +0 -0
  174. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/model/qwen2_vl.py +0 -0
  175. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/monkey_patch.py +0 -0
  176. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/qwen2vl_mrope.py +0 -0
  177. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/rms_norm.py +0 -0
  178. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/rope.py +0 -0
  179. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/swiglu.py +0 -0
  180. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/trainer/__init__.py +0 -0
  181. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/trainer/orpo_trainer.py +0 -0
  182. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/trainer_integration.py +0 -0
  183. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/transformers/tvd.py +0 -0
  184. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/triton/__init__.py +0 -0
  185. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/triton/monkey_patch.py +0 -0
  186. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel/utils.py +0 -0
  187. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel_nightly.egg-info/SOURCES.txt +0 -0
  188. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel_nightly.egg-info/dependency_links.txt +0 -0
  189. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel_nightly.egg-info/requires.txt +0 -0
  190. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/src/liger_kernel_nightly.egg-info/top_level.txt +0 -0
  191. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/__init__.py +0 -0
  192. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/chunked_loss/__init__.py +0 -0
  193. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/chunked_loss/test_cpo_loss.py +0 -0
  194. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/chunked_loss/test_dpo_loss.py +0 -0
  195. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/chunked_loss/test_grpo_loss.py +0 -0
  196. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/chunked_loss/test_jsd_loss.py +0 -0
  197. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/chunked_loss/test_kto_loss.py +0 -0
  198. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/chunked_loss/test_orpo_loss.py +0 -0
  199. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/chunked_loss/test_simpo_loss.py +0 -0
  200. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/conftest.py +0 -0
  201. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/convergence/__init__.py +0 -0
  202. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/convergence/bf16/__init__.py +0 -0
  203. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/convergence/bf16/test_mini_models.py +0 -0
  204. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/convergence/bf16/test_mini_models_multimodal.py +0 -0
  205. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/convergence/bf16/test_mini_models_with_logits.py +0 -0
  206. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/convergence/fp32/__init__.py +0 -0
  207. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/convergence/fp32/test_mini_models.py +0 -0
  208. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/convergence/fp32/test_mini_models_multimodal.py +0 -0
  209. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/convergence/fp32/test_mini_models_with_logits.py +0 -0
  210. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/resources/fake_configs/Google/Gemma3/gemma-3-4b-it/tokenizer_config.json +0 -0
  211. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/resources/fake_configs/Google/Paligemma/paligemma-3b-pt-224/tokenizer_config.json +0 -0
  212. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/resources/fake_configs/Llava/llava-1.5-7b-hf/preprocessor_config.json +0 -0
  213. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/resources/fake_configs/Llava/llava-1.5-7b-hf/processor_config.json +0 -0
  214. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/resources/fake_configs/Llava/llava-1.5-7b-hf/tokenizer_config.json +0 -0
  215. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/resources/fake_configs/Qwen/Qwen2-VL-7B-Instruct/tokenizer_config.json +0 -0
  216. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/resources/fake_configs/Qwen/Qwen2.5-VL-7B-Instruct/tokenizer_config.json +0 -0
  217. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/resources/fake_configs/meta-llama/Llama-3.2-11B-Vision-Instruct/tokenizer_config.json +0 -0
  218. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/resources/scripts/generate_tokenized_dataset.py +0 -0
  219. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/resources/tiny_shakespeare.txt +0 -0
  220. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/resources/tiny_shakespeare_tokenized/data-00000-of-00001.arrow +0 -0
  221. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/resources/tiny_shakespeare_tokenized/dataset_info.json +0 -0
  222. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/resources/tiny_shakespeare_tokenized/state.json +0 -0
  223. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/transformers/test_auto_model.py +0 -0
  224. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/transformers/test_dyt.py +0 -0
  225. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/transformers/test_embedding.py +0 -0
  226. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/transformers/test_flex_attention.py +0 -0
  227. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/transformers/test_fused_linear_jsd.py +0 -0
  228. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/transformers/test_geglu.py +0 -0
  229. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/transformers/test_group_norm.py +0 -0
  230. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/transformers/test_jsd.py +0 -0
  231. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/transformers/test_kl_div.py +0 -0
  232. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/transformers/test_layer_norm.py +0 -0
  233. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/transformers/test_mm_int8int2.py +0 -0
  234. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/transformers/test_monkey_patch.py +0 -0
  235. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/transformers/test_qwen2vl_mrope.py +0 -0
  236. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/transformers/test_rms_norm.py +0 -0
  237. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/transformers/test_rope.py +0 -0
  238. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/transformers/test_swiglu.py +0 -0
  239. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/transformers/test_trainer_integration.py +0 -0
  240. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/transformers/test_transformers.py +0 -0
  241. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/transformers/test_tvd.py +0 -0
  242. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/triton/test_triton_monkey_patch.py +0 -0
  243. {liger_kernel_nightly-0.5.8.dev20250429220905 → liger_kernel_nightly-0.5.8.dev20250429233059}/test/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: liger_kernel_nightly
3
- Version: 0.5.8.dev20250429220905
3
+ Version: 0.5.8.dev20250429233059
4
4
  Summary: Efficient Triton kernels for LLM Training
5
5
  License: BSD 2-CLAUSE LICENSE
6
6
  Copyright 2024 LinkedIn Corporation
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "liger_kernel_nightly"
7
- version = "0.5.8.dev20250429220905"
7
+ version = "0.5.8.dev20250429233059"
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,10 @@ def cross_entropy_backward(_input, grad_output):
351
351
  # If cross entropy is the last layer, grad_output is 1.0. Skip the mul to save time
352
352
  if torch.equal(grad_output, torch.tensor(1.0, device=grad_output.device)):
353
353
  pass
354
-
354
+ # If reduction is 'none'
355
+ elif grad_output.ndim > 0:
356
+ _input = _input * grad_output.unsqueeze(dim=1)
357
+ # If reduction is ['mean', 'sum'], grad_output is just a scalar
355
358
  # We use a Triton kernel instead of a PyTorch operation because modifying inputs in-place
356
359
  # for gradient storage and backward multiple times causes anomalies with PyTorch but not with Triton.
357
360
  else:
@@ -143,9 +143,10 @@ def fused_linear_cross_entropy_forward(
143
143
  alpha=1.0,
144
144
  )
145
145
 
146
- if reduction == "none":
147
- loss = loss_1d
148
- z_loss = z_loss_1d if return_z_loss else None
146
+ # Need extra calculations for backward if reduction=='none'. Not supporting reduction='none' now.
147
+ # if reduction == "none":
148
+ # loss = loss_1d
149
+ # z_loss = z_loss_1d if return_z_loss else None
149
150
 
150
151
  else:
151
152
  loss = torch.sum(loss_1d)
@@ -23,8 +23,7 @@ class LigerFusedLinearCrossEntropyLoss(torch.nn.Module):
23
23
  assert reduction in {
24
24
  "mean",
25
25
  "sum",
26
- "none",
27
- }, f"reduction must be one of 'mean', 'sum', or 'none'. Got: {reduction}"
26
+ }, f"reduction must be 'mean' or 'sum'. Got: {reduction}"
28
27
  assert softcap is None or softcap > 0, f"softcap must greater than 0.0 or None. Got: {softcap}"
29
28
  self.ce_weight = ce_weight
30
29
  self.ignore_index = ignore_index
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: liger_kernel_nightly
3
- Version: 0.5.8.dev20250429220905
3
+ Version: 0.5.8.dev20250429233059
4
4
  Summary: Efficient Triton kernels for LLM Training
5
5
  License: BSD 2-CLAUSE LICENSE
6
6
  Copyright 2024 LinkedIn Corporation
@@ -400,8 +400,58 @@ def _test_correctness_not_last_layer_once(target_ce, B, T, V, reduction, scalar,
400
400
  loss1 = output * 3
401
401
  loss2 = output2 * 3
402
402
 
403
- loss1.backward(gradient=torch.ones_like(output))
404
- loss2.backward(gradient=torch.ones_like(output))
403
+ grad_output = torch.rand_like(output)
404
+ loss1.backward(gradient=grad_output)
405
+ loss2.backward(gradient=grad_output)
406
+ assert torch.allclose(_input.grad, _input2.grad, atol=atol, rtol=rtol)
407
+
408
+
409
+ def _test_correctness_not_last_layer_with_other_params_once(
410
+ target_ce,
411
+ B,
412
+ T,
413
+ V,
414
+ reduction,
415
+ ignore_index,
416
+ lse_square_scale,
417
+ label_smoothing,
418
+ softcap,
419
+ scalar,
420
+ dtype,
421
+ atol,
422
+ rtol,
423
+ ):
424
+ torch_ce = CrossEntropyWithZLoss(
425
+ reduction=reduction,
426
+ ignore_index=ignore_index,
427
+ lse_square_scale=lse_square_scale,
428
+ label_smoothing=label_smoothing,
429
+ )
430
+
431
+ _tensor = torch.randn(B * T, V, device=device, dtype=dtype) * scalar
432
+ _input = _tensor.detach().clone().requires_grad_(True)
433
+ _input2 = _tensor.detach().clone().requires_grad_(True)
434
+
435
+ target = torch.randint(0, V, (B * T,), device=device, dtype=torch.long)
436
+ # Assign some random number of elements as ignore_index
437
+ num_elements_to_assign = torch.randint(
438
+ 1, B * T // 2, (1,)
439
+ ).item() # Random number of elements to set to ignore_index
440
+ indices_to_assign = torch.randperm(B * T)[:num_elements_to_assign] # Randomly select indices
441
+ target[indices_to_assign] = ignore_index
442
+
443
+ # upcasting to match liger's casting strategy
444
+ # and downcasting to original dtype
445
+ output = torch_ce(softcap * torch.tanh(_input.to(torch.float32) / softcap), target).to(dtype)
446
+ output2 = target_ce(_input2, target)
447
+ assert torch.allclose(output, output2, atol=atol, rtol=rtol)
448
+
449
+ loss1 = output * 3
450
+ loss2 = output2 * 3
451
+
452
+ grad_output = torch.rand_like(output)
453
+ loss1.backward(gradient=grad_output)
454
+ loss2.backward(gradient=grad_output)
405
455
  assert torch.allclose(_input.grad, _input2.grad, atol=atol, rtol=rtol)
406
456
 
407
457
 
@@ -864,6 +914,62 @@ def test_correctness_not_last_layer(B, T, V, reduction, scalar, dtype, atol, rto
864
914
  _test_correctness_not_last_layer_once(liger_ce, B, T, V, reduction, scalar, dtype, atol, rtol)
865
915
 
866
916
 
917
+ @pytest.mark.parametrize(
918
+ "B, T, V",
919
+ [
920
+ (2, 1024, 32000), # llama2, mistral
921
+ # # weird shapes
922
+ (3, 423, 32000),
923
+ ],
924
+ )
925
+ @pytest.mark.parametrize(
926
+ "ignore_index, lse_square_scale, label_smoothing, softcap",
927
+ [
928
+ (-100, 1e-4, 0.1, 30.0),
929
+ (42, 1e-5, 0.2, 40.0),
930
+ ],
931
+ )
932
+ @pytest.mark.parametrize("reduction", ["sum", "mean"])
933
+ @pytest.mark.parametrize(
934
+ "scalar, dtype, atol, rtol",
935
+ [
936
+ pytest.param(
937
+ 1.0,
938
+ torch.bfloat16,
939
+ 1e-8,
940
+ 5e-2,
941
+ marks=pytest.mark.skipif(not supports_bfloat16(), reason="bfloat16 not supported on this GPU"),
942
+ ),
943
+ (1.0, torch.float32, 1e-8, 1e-5),
944
+ ],
945
+ )
946
+ def test_correctness_not_last_layer_with_other_params(
947
+ B, T, V, reduction, ignore_index, lse_square_scale, label_smoothing, softcap, scalar, dtype, atol, rtol
948
+ ):
949
+ liger_ce = LigerCrossEntropyLoss(
950
+ reduction=reduction,
951
+ ignore_index=ignore_index,
952
+ lse_square_scale=lse_square_scale,
953
+ label_smoothing=label_smoothing,
954
+ softcap=softcap,
955
+ )
956
+ _test_correctness_not_last_layer_with_other_params_once(
957
+ liger_ce,
958
+ B,
959
+ T,
960
+ V,
961
+ reduction,
962
+ ignore_index,
963
+ lse_square_scale,
964
+ label_smoothing,
965
+ softcap,
966
+ scalar,
967
+ dtype,
968
+ atol,
969
+ rtol,
970
+ )
971
+
972
+
867
973
  def test_float32_internal():
868
974
  """
869
975
  This test validates that the internal softmax calculations occur in float32,
@@ -116,8 +116,6 @@ class LigerLMHeadCE(torch.nn.Module):
116
116
  ("mean", 1.0, torch.float32, 1e-5, 5e-4),
117
117
  ("sum", 1.0, torch.bfloat16, 5e-0, 5e1),
118
118
  ("sum", 1.0, torch.float32, 1e-3, 5e-2),
119
- ("none", 1.0, torch.bfloat16, 5e-0, 5e1),
120
- ("none", 1.0, torch.float32, 1e-3, 5e-2),
121
119
  ],
122
120
  )
123
121
  @pytest.mark.parametrize("bias", [True, False])
@@ -207,8 +205,9 @@ def test_correctness(
207
205
  if return_z_loss:
208
206
  assert_verbose_allclose(z_output1, z_output2, atol=atol, rtol=rtol)
209
207
 
210
- output1.backward(gradient=torch.ones_like(output1))
211
- output2.backward(gradient=torch.ones_like(output2))
208
+ grad_output = torch.ones_like(output1)
209
+ output1.backward(gradient=grad_output)
210
+ output2.backward(gradient=grad_output)
212
211
 
213
212
  assert_verbose_allclose(_input1.grad, _input2.grad, atol=atol, rtol=rtol)
214
213