liger-kernel-nightly 0.5.3.dev20250221003838__tar.gz → 0.5.3.dev20250221011057__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (225) hide show
  1. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/PKG-INFO +1 -1
  2. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/pyproject.toml +1 -1
  3. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/transformers/__init__.py +1 -0
  4. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/transformers/monkey_patch.py +80 -0
  5. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel_nightly.egg-info/PKG-INFO +1 -1
  6. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/convergence/bf16/test_mini_models.py +50 -0
  7. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/convergence/bf16/test_mini_models_with_logits.py +51 -0
  8. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/convergence/fp32/test_mini_models.py +38 -0
  9. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/convergence/fp32/test_mini_models_with_logits.py +39 -0
  10. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/utils.py +12 -0
  11. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
  12. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
  13. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/.github/pull_request_template.md +0 -0
  14. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/.github/workflows/amd-ci.yml +0 -0
  15. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/.github/workflows/docs.yml +0 -0
  16. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/.github/workflows/intel-ci.yml +0 -0
  17. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/.github/workflows/nvi-ci.yml +0 -0
  18. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/.github/workflows/publish-nightly.yml +0 -0
  19. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/.github/workflows/publish-release.yml +0 -0
  20. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/.gitignore +0 -0
  21. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/LICENSE +0 -0
  22. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/Makefile +0 -0
  23. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/NOTICE +0 -0
  24. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/README.md +0 -0
  25. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/benchmark/README.md +0 -0
  26. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/benchmark/__init__.py +0 -0
  27. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/benchmark/benchmarks_visualizer.py +0 -0
  28. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/benchmark/data/all_benchmark_data.csv +0 -0
  29. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/benchmark/scripts/__init__.py +0 -0
  30. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/benchmark/scripts/benchmark_cpo_loss.py +0 -0
  31. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/benchmark/scripts/benchmark_cross_entropy.py +0 -0
  32. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/benchmark/scripts/benchmark_distill_jsd_loss.py +0 -0
  33. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/benchmark/scripts/benchmark_dpo_loss.py +0 -0
  34. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/benchmark/scripts/benchmark_embedding.py +0 -0
  35. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/benchmark/scripts/benchmark_fused_linear_cross_entropy.py +0 -0
  36. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/benchmark/scripts/benchmark_fused_linear_jsd.py +0 -0
  37. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/benchmark/scripts/benchmark_geglu.py +0 -0
  38. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/benchmark/scripts/benchmark_group_norm.py +0 -0
  39. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/benchmark/scripts/benchmark_jsd.py +0 -0
  40. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/benchmark/scripts/benchmark_kl_div.py +0 -0
  41. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/benchmark/scripts/benchmark_kto_loss.py +0 -0
  42. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/benchmark/scripts/benchmark_layer_norm.py +0 -0
  43. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/benchmark/scripts/benchmark_orpo_loss.py +0 -0
  44. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/benchmark/scripts/benchmark_qwen2vl_mrope.py +0 -0
  45. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/benchmark/scripts/benchmark_rms_norm.py +0 -0
  46. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/benchmark/scripts/benchmark_rope.py +0 -0
  47. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/benchmark/scripts/benchmark_simpo_loss.py +0 -0
  48. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/benchmark/scripts/benchmark_swiglu.py +0 -0
  49. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/benchmark/scripts/benchmark_tvd.py +0 -0
  50. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/benchmark/scripts/utils.py +0 -0
  51. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/dev/fmt-requirements.txt +0 -0
  52. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/dev/modal/tests.py +0 -0
  53. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/dev/modal/tests_bwd.py +0 -0
  54. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/docs/Examples.md +0 -0
  55. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/docs/Getting-Started.md +0 -0
  56. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/docs/High-Level-APIs.md +0 -0
  57. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/docs/Low-Level-APIs.md +0 -0
  58. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/docs/acknowledgement.md +0 -0
  59. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/docs/contributing.md +0 -0
  60. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/docs/images/banner.GIF +0 -0
  61. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/docs/images/compose.gif +0 -0
  62. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/docs/images/e2e-memory.png +0 -0
  63. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/docs/images/e2e-tps.png +0 -0
  64. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/docs/images/logo-banner.png +0 -0
  65. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/docs/images/patch.gif +0 -0
  66. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/docs/images/post-training.png +0 -0
  67. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/docs/index.md +0 -0
  68. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/docs/license.md +0 -0
  69. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/alignment/accelerate_config.yaml +0 -0
  70. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/alignment/run_orpo.py +0 -0
  71. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/huggingface/README.md +0 -0
  72. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/huggingface/callback.py +0 -0
  73. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/huggingface/config/fsdp_config.json +0 -0
  74. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/huggingface/img/gemma_7b_mem.png +0 -0
  75. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/huggingface/img/gemma_7b_tp.png +0 -0
  76. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/huggingface/img/llama_mem_alloc.png +0 -0
  77. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/huggingface/img/llama_tps.png +0 -0
  78. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/huggingface/img/qwen_mem_alloc.png +0 -0
  79. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/huggingface/img/qwen_tps.png +0 -0
  80. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/huggingface/launch_on_modal.py +0 -0
  81. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/huggingface/requirements.txt +0 -0
  82. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/huggingface/run_benchmarks.sh +0 -0
  83. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/huggingface/run_gemma.sh +0 -0
  84. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/huggingface/run_llama.sh +0 -0
  85. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/huggingface/run_qwen.sh +0 -0
  86. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/huggingface/run_qwen2_vl.sh +0 -0
  87. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/huggingface/training.py +0 -0
  88. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/huggingface/training_multimodal.py +0 -0
  89. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/lightning/README.md +0 -0
  90. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/lightning/requirements.txt +0 -0
  91. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/lightning/training.py +0 -0
  92. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/medusa/README.md +0 -0
  93. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/medusa/callback.py +0 -0
  94. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/medusa/docs/images/Memory_Stage1_num_head_3.png +0 -0
  95. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/medusa/docs/images/Memory_Stage1_num_head_5.png +0 -0
  96. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/medusa/docs/images/Memory_Stage2_num_head_3.png +0 -0
  97. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/medusa/docs/images/Memory_Stage2_num_head_5.png +0 -0
  98. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/medusa/docs/images/Throughput_Stage1_num_head_3.png +0 -0
  99. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/medusa/docs/images/Throughput_Stage1_num_head_5.png +0 -0
  100. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/medusa/docs/images/Throughput_Stage2_num_head_3.png +0 -0
  101. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/medusa/docs/images/Throughput_Stage2_num_head_5.png +0 -0
  102. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/medusa/fsdp/acc-fsdp.conf +0 -0
  103. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/medusa/medusa_util.py +0 -0
  104. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/medusa/requirements.txt +0 -0
  105. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/medusa/scripts/llama3_8b_medusa.sh +0 -0
  106. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/examples/medusa/train.py +0 -0
  107. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/licenses/LICENSE-Apache-2.0 +0 -0
  108. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/licenses/LICENSE-MIT-AutoAWQ +0 -0
  109. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/licenses/LICENSE-MIT-Efficient-Cross-Entropy +0 -0
  110. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/licenses/LICENSE-MIT-llmc +0 -0
  111. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/licenses/LICENSE-MIT-triton +0 -0
  112. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/mkdocs.yml +0 -0
  113. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/setup.cfg +0 -0
  114. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/setup.py +0 -0
  115. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/__init__.py +0 -0
  116. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/chunked_loss/README.md +0 -0
  117. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/chunked_loss/__init__.py +0 -0
  118. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/chunked_loss/cpo_loss.py +0 -0
  119. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/chunked_loss/dpo_loss.py +0 -0
  120. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/chunked_loss/functional.py +0 -0
  121. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/chunked_loss/fused_linear_distillation.py +0 -0
  122. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/chunked_loss/fused_linear_preference.py +0 -0
  123. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/chunked_loss/fused_linear_rlhf.py +0 -0
  124. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/chunked_loss/fused_linear_unpaired_preference.py +0 -0
  125. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/chunked_loss/grpo_loss.py +0 -0
  126. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/chunked_loss/jsd_loss.py +0 -0
  127. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/chunked_loss/kto_loss.py +0 -0
  128. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/chunked_loss/orpo_loss.py +0 -0
  129. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/chunked_loss/simpo_loss.py +0 -0
  130. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/env_report.py +0 -0
  131. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/ops/__init__.py +0 -0
  132. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/ops/cross_entropy.py +0 -0
  133. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/ops/experimental/embedding.py +0 -0
  134. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/ops/experimental/mm_int8int2.py +0 -0
  135. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/ops/fused_linear_cross_entropy.py +0 -0
  136. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/ops/fused_linear_jsd.py +0 -0
  137. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/ops/geglu.py +0 -0
  138. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/ops/group_norm.py +0 -0
  139. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/ops/jsd.py +0 -0
  140. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/ops/kl_div.py +0 -0
  141. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/ops/layer_norm.py +0 -0
  142. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/ops/qwen2vl_mrope.py +0 -0
  143. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/ops/rms_norm.py +0 -0
  144. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/ops/rope.py +0 -0
  145. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/ops/swiglu.py +0 -0
  146. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/ops/tvd.py +0 -0
  147. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/ops/utils.py +0 -0
  148. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/transformers/auto_model.py +0 -0
  149. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/transformers/cross_entropy.py +0 -0
  150. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/transformers/experimental/embedding.py +0 -0
  151. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/transformers/functional.py +0 -0
  152. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/transformers/fused_linear_cross_entropy.py +0 -0
  153. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/transformers/fused_linear_jsd.py +0 -0
  154. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/transformers/geglu.py +0 -0
  155. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/transformers/group_norm.py +0 -0
  156. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/transformers/jsd.py +0 -0
  157. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/transformers/kl_div.py +0 -0
  158. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/transformers/layer_norm.py +0 -0
  159. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/transformers/model/__init__.py +0 -0
  160. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/transformers/model/gemma.py +0 -0
  161. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/transformers/model/gemma2.py +0 -0
  162. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/transformers/model/llama.py +0 -0
  163. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/transformers/model/mistral.py +0 -0
  164. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/transformers/model/mixtral.py +0 -0
  165. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/transformers/model/mllama.py +0 -0
  166. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/transformers/model/phi3.py +0 -0
  167. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/transformers/model/qwen2.py +0 -0
  168. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/transformers/model/qwen2_vl.py +0 -0
  169. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/transformers/qwen2vl_mrope.py +0 -0
  170. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/transformers/rms_norm.py +0 -0
  171. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/transformers/rope.py +0 -0
  172. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/transformers/swiglu.py +0 -0
  173. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/transformers/trainer/__init__.py +0 -0
  174. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/transformers/trainer/orpo_trainer.py +0 -0
  175. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/transformers/trainer_integration.py +0 -0
  176. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/transformers/tvd.py +0 -0
  177. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/triton/__init__.py +0 -0
  178. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/triton/monkey_patch.py +0 -0
  179. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel/utils.py +0 -0
  180. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel_nightly.egg-info/SOURCES.txt +0 -0
  181. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel_nightly.egg-info/dependency_links.txt +0 -0
  182. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel_nightly.egg-info/requires.txt +0 -0
  183. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/src/liger_kernel_nightly.egg-info/top_level.txt +0 -0
  184. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/__init__.py +0 -0
  185. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/chunked_loss/__init__.py +0 -0
  186. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/chunked_loss/test_cpo_loss.py +0 -0
  187. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/chunked_loss/test_dpo_loss.py +0 -0
  188. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/chunked_loss/test_grpo_loss.py +0 -0
  189. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/chunked_loss/test_jsd_loss.py +0 -0
  190. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/chunked_loss/test_kto_loss.py +0 -0
  191. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/chunked_loss/test_orpo_loss.py +0 -0
  192. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/chunked_loss/test_simpo_loss.py +0 -0
  193. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/conftest.py +0 -0
  194. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/convergence/__init__.py +0 -0
  195. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/convergence/bf16/__init__.py +0 -0
  196. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/convergence/bf16/test_mini_models_multimodal.py +0 -0
  197. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/convergence/fp32/__init__.py +0 -0
  198. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/convergence/fp32/test_mini_models_multimodal.py +0 -0
  199. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/resources/fake_configs/Qwen/Qwen2-VL-7B-Instruct/tokenizer_config.json +0 -0
  200. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/resources/fake_configs/meta-llama/Llama-3.2-11B-Vision-Instruct/tokenizer_config.json +0 -0
  201. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/resources/scripts/generate_tokenized_dataset.py +0 -0
  202. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/resources/tiny_shakespeare.txt +0 -0
  203. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/resources/tiny_shakespeare_tokenized/data-00000-of-00001.arrow +0 -0
  204. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/resources/tiny_shakespeare_tokenized/dataset_info.json +0 -0
  205. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/resources/tiny_shakespeare_tokenized/state.json +0 -0
  206. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/transformers/test_auto_model.py +0 -0
  207. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/transformers/test_cross_entropy.py +0 -0
  208. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/transformers/test_embedding.py +0 -0
  209. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/transformers/test_fused_linear_cross_entropy.py +0 -0
  210. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/transformers/test_fused_linear_jsd.py +0 -0
  211. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/transformers/test_geglu.py +0 -0
  212. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/transformers/test_group_norm.py +0 -0
  213. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/transformers/test_jsd.py +0 -0
  214. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/transformers/test_kl_div.py +0 -0
  215. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/transformers/test_layer_norm.py +0 -0
  216. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/transformers/test_mm_int8int2.py +0 -0
  217. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/transformers/test_monkey_patch.py +0 -0
  218. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/transformers/test_qwen2vl_mrope.py +0 -0
  219. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/transformers/test_rms_norm.py +0 -0
  220. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/transformers/test_rope.py +0 -0
  221. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/transformers/test_swiglu.py +0 -0
  222. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/transformers/test_trainer_integration.py +0 -0
  223. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/transformers/test_transformers.py +0 -0
  224. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/test/transformers/test_tvd.py +0 -0
  225. {liger_kernel_nightly-0.5.3.dev20250221003838 → liger_kernel_nightly-0.5.3.dev20250221011057}/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.5.3.dev20250221003838
3
+ Version: 0.5.3.dev20250221011057
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.3.dev20250221003838"
7
+ version = "0.5.3.dev20250221011057"
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" }
@@ -9,6 +9,7 @@ from liger_kernel.transformers.monkey_patch import _apply_liger_kernel # noqa:
9
9
  from liger_kernel.transformers.monkey_patch import _apply_liger_kernel_to_instance # noqa: F401
10
10
  from liger_kernel.transformers.monkey_patch import apply_liger_kernel_to_gemma # noqa: F401
11
11
  from liger_kernel.transformers.monkey_patch import apply_liger_kernel_to_gemma2 # noqa: F401
12
+ from liger_kernel.transformers.monkey_patch import apply_liger_kernel_to_granite # noqa: F401
12
13
  from liger_kernel.transformers.monkey_patch import apply_liger_kernel_to_llama # noqa: F401
13
14
  from liger_kernel.transformers.monkey_patch import apply_liger_kernel_to_mistral # noqa: F401
14
15
  from liger_kernel.transformers.monkey_patch import apply_liger_kernel_to_mixtral # noqa: F401
@@ -61,6 +61,85 @@ def _patch_layer_norm_module(module, eps=1e-6):
61
61
  _bind_method_to_module(module, "extra_repr", LigerLayerNorm.extra_repr)
62
62
 
63
63
 
64
+ def apply_liger_kernel_to_granite(
65
+ rope: bool = True,
66
+ cross_entropy: bool = True,
67
+ fused_linear_cross_entropy: bool = False,
68
+ rms_norm: bool = True,
69
+ swiglu: bool = True,
70
+ model: PreTrainedModel = None,
71
+ ) -> None:
72
+ """
73
+ Apply Liger kernels to replace original implementation in HuggingFace Granite 3 models
74
+
75
+ Args:
76
+ rope (bool): Whether to apply Liger's rotary position embedding. Default is True.
77
+ cross_entropy (bool): Whether to apply Liger's cross entropy loss. Default is True.
78
+ fused_linear_cross_entropy (bool):
79
+ Whether to apply Liger's fused linear cross entropy loss. Default is False.
80
+ `cross_entropy` and `fused_linear_cross_entropy` cannot both be True.
81
+ If `fused_linear_cross_entropy` is True, the logits will not be materialized but more memory efficient.
82
+ rms_norm (bool): Whether to apply Liger's RMSNorm. Default is True.
83
+ swiglu (bool): Whether to apply Liger's SwiGLU MLP. Default is True.
84
+ model (PreTrainedModel): The model instance to apply Liger kernels to, if the model has already been
85
+ loaded. Default is None.
86
+
87
+
88
+
89
+ Debugging notes:
90
+ If LigerSwiGLUMLP is OK for Llama, it should be fine for Granite, but it's not.
91
+ """
92
+
93
+ assert not (cross_entropy and fused_linear_cross_entropy), (
94
+ "cross_entropy and fused_linear_cross_entropy cannot both be True."
95
+ )
96
+
97
+ from transformers.models.granite import modeling_granite
98
+ from transformers.models.granite.modeling_granite import GraniteModel
99
+
100
+ if swiglu:
101
+ modeling_granite.GraniteMLP = LigerSwiGLUMLP
102
+
103
+ if rms_norm:
104
+ modeling_granite.GraniteRMSNorm = LigerRMSNorm
105
+
106
+ if rope:
107
+ modeling_granite.apply_rotary_pos_emb = liger_rotary_pos_emb
108
+
109
+ if cross_entropy:
110
+ if transformer_version >= version.parse(SUPPORTED_TRANSFORMER_VERSION):
111
+ from transformers.loss.loss_utils import nn
112
+
113
+ nn.functional.cross_entropy = liger_cross_entropy
114
+ else:
115
+ logger.warning(TRANSFORMER_DEPRECATION_WARNING)
116
+ modeling_granite.CrossEntropyLoss = LigerCrossEntropyLoss
117
+
118
+ if fused_linear_cross_entropy:
119
+ raise NotImplementedError("LigerFusedLinearCrossEntropy is not available for Granite models.")
120
+ # NOTE: Granite model `GraniteForCausalLM.forward` scales logits each
121
+ # call, so we can't sidestep logit materialization. A bit more work
122
+ # would be needed to add a scaling term to the `LigerFusedLinearCrossEntropyFunction`
123
+ # for the logit output.
124
+
125
+ if model is not None:
126
+ # The model instance already exists, so we need to additionally patch the
127
+ # instance variables that reference already-instantiated modules (e.g. GraniteRMSNorm or GraniteMLP)
128
+
129
+ # get the base model from the model instance
130
+ base_model: GraniteModel = getattr(model, model.base_model_prefix, model)
131
+
132
+ if rms_norm:
133
+ _patch_rms_norm_module(base_model.norm)
134
+
135
+ for decoder_layer in base_model.layers:
136
+ if swiglu:
137
+ _bind_method_to_module(decoder_layer.mlp, "forward", LigerSwiGLUMLP.forward)
138
+ if rms_norm:
139
+ _patch_rms_norm_module(decoder_layer.input_layernorm)
140
+ _patch_rms_norm_module(decoder_layer.post_attention_layernorm)
141
+
142
+
64
143
  def apply_liger_kernel_to_llama(
65
144
  rope: bool = True,
66
145
  cross_entropy: bool = False,
@@ -740,6 +819,7 @@ MODEL_TYPE_TO_APPLY_LIGER_FN = {
740
819
  "gemma": apply_liger_kernel_to_gemma,
741
820
  "gemma2": apply_liger_kernel_to_gemma2,
742
821
  "llama": apply_liger_kernel_to_llama,
822
+ "granite": apply_liger_kernel_to_granite,
743
823
  "mllama": apply_liger_kernel_to_mllama,
744
824
  "mllama_text_model": apply_liger_kernel_to_mllama,
745
825
  "mistral": apply_liger_kernel_to_mistral,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: liger_kernel_nightly
3
- Version: 0.5.3.dev20250221003838
3
+ Version: 0.5.3.dev20250221011057
4
4
  Summary: Efficient Triton kernels for LLM Training
5
5
  License: BSD 2-CLAUSE LICENSE
6
6
  Copyright 2024 LinkedIn Corporation
@@ -7,6 +7,8 @@ from transformers.models.gemma import GemmaConfig
7
7
  from transformers.models.gemma import GemmaForCausalLM
8
8
  from transformers.models.gemma2 import Gemma2Config
9
9
  from transformers.models.gemma2 import Gemma2ForCausalLM
10
+ from transformers.models.granite import GraniteConfig
11
+ from transformers.models.granite import GraniteForCausalLM
10
12
  from transformers.models.llama import LlamaConfig
11
13
  from transformers.models.llama import LlamaForCausalLM
12
14
  from transformers.models.mistral import MistralConfig
@@ -20,6 +22,7 @@ from transformers.models.qwen2 import Qwen2ForCausalLM
20
22
 
21
23
  from liger_kernel.transformers import apply_liger_kernel_to_gemma
22
24
  from liger_kernel.transformers import apply_liger_kernel_to_gemma2
25
+ from liger_kernel.transformers import apply_liger_kernel_to_granite
23
26
  from liger_kernel.transformers import apply_liger_kernel_to_llama
24
27
  from liger_kernel.transformers import apply_liger_kernel_to_mistral
25
28
  from liger_kernel.transformers import apply_liger_kernel_to_mixtral
@@ -32,6 +35,7 @@ from test.utils import MiniModelConfig
32
35
  from test.utils import assert_verbose_allclose
33
36
  from test.utils import revert_liger_kernel_to_gemma
34
37
  from test.utils import revert_liger_kernel_to_gemma2
38
+ from test.utils import revert_liger_kernel_to_granite
35
39
  from test.utils import revert_liger_kernel_to_llama
36
40
  from test.utils import revert_liger_kernel_to_mistral
37
41
  from test.utils import revert_liger_kernel_to_mixtral
@@ -66,6 +70,39 @@ from liger_kernel.utils import infer_device
66
70
  device = infer_device()
67
71
 
68
72
  MINI_MODEL_SETUPS = {
73
+ "mini_granite3": MiniModelConfig(
74
+ liger_kernel_patch_func=apply_liger_kernel_to_granite,
75
+ liger_kernel_patch_revert_func=revert_liger_kernel_to_granite,
76
+ model_class=GraniteForCausalLM,
77
+ mini_model_config=GraniteConfig(
78
+ attention_bias=False,
79
+ attention_dropout=0.1,
80
+ # Special token ids/vocab size to match Mistral-7B tokenizer used to create the tokenized dataset
81
+ # https://huggingface.co/mistralai/Mistral-7B-v0.1/blob/main/config.json
82
+ bos_token_id=1, # 128000
83
+ eos_token_id=2, # 128001
84
+ hidden_act="silu",
85
+ hidden_size=1024, # 4096
86
+ initializer_range=0.02,
87
+ intermediate_size=2048, # 14336
88
+ max_position_embeddings=8192,
89
+ num_attention_heads=8, # 32
90
+ num_hidden_layers=4, # 32
91
+ num_key_value_heads=2, # 8
92
+ pretraining_tp=1,
93
+ rms_norm_eps=1e-5,
94
+ rope_scaling=None,
95
+ rope_theta=500000.0,
96
+ tie_word_embeddings=False,
97
+ use_cache=True,
98
+ vocab_size=32000, # 128256,
99
+ # At rope backward
100
+ # Eager produces incontiguous dq and dk
101
+ # SDPA produces contiguous dq and incontiguous dk
102
+ # Flash_attn produces contiguous dq and dk
103
+ attn_implementation="sdpa", # default value, pytorch native attention
104
+ ),
105
+ ),
69
106
  "mini_llama3": MiniModelConfig(
70
107
  liger_kernel_patch_func=apply_liger_kernel_to_llama,
71
108
  liger_kernel_patch_revert_func=revert_liger_kernel_to_llama,
@@ -470,6 +507,19 @@ def run_mini_model(
470
507
  1e-2,
471
508
  marks=pytest.mark.skipif(not supports_bfloat16(), reason="bfloat16 not supported on this GPU"),
472
509
  ),
510
+ pytest.param(
511
+ "mini_granite3",
512
+ 32,
513
+ 1e-4,
514
+ torch.bfloat16,
515
+ 1e-3,
516
+ 1e-2,
517
+ 1e-1,
518
+ 1e-2,
519
+ 1e-2,
520
+ 1e-2,
521
+ marks=pytest.mark.skipif(not supports_bfloat16(), reason="bfloat16 not supported on this GPU"),
522
+ ),
473
523
  pytest.param(
474
524
  "mini_mllama",
475
525
  32,
@@ -7,6 +7,8 @@ from transformers.models.gemma import GemmaConfig
7
7
  from transformers.models.gemma import GemmaForCausalLM
8
8
  from transformers.models.gemma2 import Gemma2Config
9
9
  from transformers.models.gemma2 import Gemma2ForCausalLM
10
+ from transformers.models.granite import GraniteConfig
11
+ from transformers.models.granite import GraniteForCausalLM
10
12
  from transformers.models.llama import LlamaConfig
11
13
  from transformers.models.llama import LlamaForCausalLM
12
14
  from transformers.models.mistral import MistralConfig
@@ -20,6 +22,7 @@ from transformers.models.qwen2 import Qwen2ForCausalLM
20
22
 
21
23
  from liger_kernel.transformers import apply_liger_kernel_to_gemma
22
24
  from liger_kernel.transformers import apply_liger_kernel_to_gemma2
25
+ from liger_kernel.transformers import apply_liger_kernel_to_granite
23
26
  from liger_kernel.transformers import apply_liger_kernel_to_llama
24
27
  from liger_kernel.transformers import apply_liger_kernel_to_mistral
25
28
  from liger_kernel.transformers import apply_liger_kernel_to_mixtral
@@ -32,6 +35,7 @@ from test.utils import MiniModelConfig
32
35
  from test.utils import assert_verbose_allclose
33
36
  from test.utils import revert_liger_kernel_to_gemma
34
37
  from test.utils import revert_liger_kernel_to_gemma2
38
+ from test.utils import revert_liger_kernel_to_granite
35
39
  from test.utils import revert_liger_kernel_to_llama
36
40
  from test.utils import revert_liger_kernel_to_mistral
37
41
  from test.utils import revert_liger_kernel_to_mixtral
@@ -99,6 +103,40 @@ MINI_MODEL_SETUPS = {
99
103
  attn_implementation="sdpa", # default value, pytorch native attention
100
104
  ),
101
105
  ),
106
+ "mini_granite3": MiniModelConfig(
107
+ liger_kernel_patch_func=apply_liger_kernel_to_granite,
108
+ liger_kernel_patch_revert_func=revert_liger_kernel_to_granite,
109
+ model_class=GraniteForCausalLM,
110
+ mini_model_config=GraniteConfig(
111
+ attention_bias=False,
112
+ attention_dropout=0.0,
113
+ # Special token ids/vocab size to match Mistral-7B tokenizer used to create the tokenized dataset
114
+ # https://huggingface.co/mistralai/Mistral-7B-v0.1/blob/main/config.json
115
+ bos_token_id=1, # 128000
116
+ eos_token_id=2, # 128001
117
+ hidden_act="silu",
118
+ hidden_size=1024, # 4096
119
+ initializer_range=0.02,
120
+ intermediate_size=2048, # 14336
121
+ max_position_embeddings=8192,
122
+ num_attention_heads=8, # 32
123
+ num_hidden_layers=4, # 32
124
+ num_key_value_heads=2, # 8
125
+ pretraining_tp=1,
126
+ rms_norm_eps=1e-5,
127
+ rope_scaling=None,
128
+ rope_theta=500000.0,
129
+ tie_word_embeddings=False,
130
+ use_cache=True,
131
+ vocab_size=32000, # 128256,
132
+ logits_scaling=8.0,
133
+ # At rope backward
134
+ # Eager produces incontiguous dq and dk
135
+ # SDPA produces contiguous dq and incontiguous dk
136
+ # Flash_attn produces contiguous dq and dk
137
+ attn_implementation="sdpa", # default value, pytorch native attention
138
+ ),
139
+ ),
102
140
  "mini_qwen2": MiniModelConfig(
103
141
  liger_kernel_patch_func=apply_liger_kernel_to_qwen2,
104
142
  liger_kernel_patch_revert_func=revert_liger_kernel_to_qwen2,
@@ -469,6 +507,19 @@ def run_mini_model(
469
507
  1e-2,
470
508
  marks=pytest.mark.skipif(not supports_bfloat16(), reason="bfloat16 not supported on this GPU"),
471
509
  ),
510
+ pytest.param(
511
+ "mini_granite3",
512
+ 32,
513
+ 1e-4,
514
+ torch.bfloat16,
515
+ 1e-3, # loss
516
+ 1e-2, # loss
517
+ 1e-1, # logits atol
518
+ 1e-2, # logits rtol
519
+ 1e-2,
520
+ 1e-2,
521
+ marks=pytest.mark.skipif(not supports_bfloat16(), reason="bfloat16 not supported on this GPU"),
522
+ ),
472
523
  pytest.param(
473
524
  "mini_mllama",
474
525
  32,
@@ -7,6 +7,8 @@ from transformers.models.gemma import GemmaConfig
7
7
  from transformers.models.gemma import GemmaForCausalLM
8
8
  from transformers.models.gemma2 import Gemma2Config
9
9
  from transformers.models.gemma2 import Gemma2ForCausalLM
10
+ from transformers.models.granite import GraniteConfig
11
+ from transformers.models.granite import GraniteForCausalLM
10
12
  from transformers.models.llama import LlamaConfig
11
13
  from transformers.models.llama import LlamaForCausalLM
12
14
  from transformers.models.mistral import MistralConfig
@@ -20,6 +22,7 @@ from transformers.models.qwen2 import Qwen2ForCausalLM
20
22
 
21
23
  from liger_kernel.transformers import apply_liger_kernel_to_gemma
22
24
  from liger_kernel.transformers import apply_liger_kernel_to_gemma2
25
+ from liger_kernel.transformers import apply_liger_kernel_to_granite
23
26
  from liger_kernel.transformers import apply_liger_kernel_to_llama
24
27
  from liger_kernel.transformers import apply_liger_kernel_to_mistral
25
28
  from liger_kernel.transformers import apply_liger_kernel_to_mixtral
@@ -32,6 +35,7 @@ from test.utils import MiniModelConfig
32
35
  from test.utils import assert_verbose_allclose
33
36
  from test.utils import revert_liger_kernel_to_gemma
34
37
  from test.utils import revert_liger_kernel_to_gemma2
38
+ from test.utils import revert_liger_kernel_to_granite
35
39
  from test.utils import revert_liger_kernel_to_llama
36
40
  from test.utils import revert_liger_kernel_to_mistral
37
41
  from test.utils import revert_liger_kernel_to_mixtral
@@ -65,6 +69,39 @@ from liger_kernel.utils import infer_device
65
69
  device = infer_device()
66
70
 
67
71
  MINI_MODEL_SETUPS = {
72
+ "mini_granite3": MiniModelConfig(
73
+ liger_kernel_patch_func=apply_liger_kernel_to_granite,
74
+ liger_kernel_patch_revert_func=revert_liger_kernel_to_granite,
75
+ model_class=GraniteForCausalLM,
76
+ mini_model_config=GraniteConfig(
77
+ attention_bias=False,
78
+ attention_dropout=0.1,
79
+ # Special token ids/vocab size to match Mistral-7B tokenizer used to create the tokenized dataset
80
+ # https://huggingface.co/mistralai/Mistral-7B-v0.1/blob/main/config.json
81
+ bos_token_id=1, # 128000
82
+ eos_token_id=2, # 128001
83
+ hidden_act="silu",
84
+ hidden_size=1024, # 4096
85
+ initializer_range=0.02,
86
+ intermediate_size=2048, # 14336
87
+ max_position_embeddings=8192,
88
+ num_attention_heads=8, # 32
89
+ num_hidden_layers=4, # 32
90
+ num_key_value_heads=2, # 8
91
+ pretraining_tp=1,
92
+ rms_norm_eps=1e-5,
93
+ rope_scaling=None,
94
+ rope_theta=500000.0,
95
+ tie_word_embeddings=False,
96
+ use_cache=True,
97
+ vocab_size=32000, # 128256,
98
+ # At rope backward
99
+ # Eager produces incontiguous dq and dk
100
+ # SDPA produces contiguous dq and incontiguous dk
101
+ # Flash_attn produces contiguous dq and dk
102
+ attn_implementation="sdpa", # default value, pytorch native attention
103
+ ),
104
+ ),
68
105
  "mini_llama3": MiniModelConfig(
69
106
  liger_kernel_patch_func=apply_liger_kernel_to_llama,
70
107
  liger_kernel_patch_revert_func=revert_liger_kernel_to_llama,
@@ -498,6 +535,7 @@ def run_mini_model(
498
535
  ("mini_gemma1", 32, 1e-4, torch.float32, 1e-8, 1e-4, 5e-3, 1e-5, 5e-3, 1e-5),
499
536
  ("mini_gemma1.1", 32, 1e-4, torch.float32, 1e-8, 1e-4, 5e-3, 1e-5, 5e-3, 1e-5),
500
537
  ("mini_gemma2", 32, 1e-4, torch.float32, 1e-8, 1e-4, 5e-3, 1e-5, 5e-3, 1e-5),
538
+ ("mini_granite3", 32, 1e-4, torch.float32, 1e-8, 1e-4, 5e-3, 1e-5, 5e-3, 1e-5),
501
539
  ],
502
540
  )
503
541
  def test_mini_model(
@@ -7,6 +7,8 @@ from transformers.models.gemma import GemmaConfig
7
7
  from transformers.models.gemma import GemmaForCausalLM
8
8
  from transformers.models.gemma2 import Gemma2Config
9
9
  from transformers.models.gemma2 import Gemma2ForCausalLM
10
+ from transformers.models.granite import GraniteConfig
11
+ from transformers.models.granite import GraniteForCausalLM
10
12
  from transformers.models.llama import LlamaConfig
11
13
  from transformers.models.llama import LlamaForCausalLM
12
14
  from transformers.models.mistral import MistralConfig
@@ -20,6 +22,7 @@ from transformers.models.qwen2 import Qwen2ForCausalLM
20
22
 
21
23
  from liger_kernel.transformers import apply_liger_kernel_to_gemma
22
24
  from liger_kernel.transformers import apply_liger_kernel_to_gemma2
25
+ from liger_kernel.transformers import apply_liger_kernel_to_granite
23
26
  from liger_kernel.transformers import apply_liger_kernel_to_llama
24
27
  from liger_kernel.transformers import apply_liger_kernel_to_mistral
25
28
  from liger_kernel.transformers import apply_liger_kernel_to_mixtral
@@ -32,6 +35,7 @@ from test.utils import MiniModelConfig
32
35
  from test.utils import assert_verbose_allclose
33
36
  from test.utils import revert_liger_kernel_to_gemma
34
37
  from test.utils import revert_liger_kernel_to_gemma2
38
+ from test.utils import revert_liger_kernel_to_granite
35
39
  from test.utils import revert_liger_kernel_to_llama
36
40
  from test.utils import revert_liger_kernel_to_mistral
37
41
  from test.utils import revert_liger_kernel_to_mixtral
@@ -98,6 +102,40 @@ MINI_MODEL_SETUPS = {
98
102
  attn_implementation="sdpa", # default value, pytorch native attention
99
103
  ),
100
104
  ),
105
+ "mini_granite3": MiniModelConfig(
106
+ liger_kernel_patch_func=apply_liger_kernel_to_granite,
107
+ liger_kernel_patch_revert_func=revert_liger_kernel_to_granite,
108
+ model_class=GraniteForCausalLM,
109
+ mini_model_config=GraniteConfig(
110
+ attention_bias=False,
111
+ attention_dropout=0.0,
112
+ # Special token ids/vocab size to match Mistral-7B tokenizer used to create the tokenized dataset
113
+ # https://huggingface.co/mistralai/Mistral-7B-v0.1/blob/main/config.json
114
+ bos_token_id=1, # 128000
115
+ eos_token_id=2, # 128001
116
+ hidden_act="silu",
117
+ hidden_size=1024, # 4096
118
+ initializer_range=0.02,
119
+ intermediate_size=2048, # 14336
120
+ max_position_embeddings=8192,
121
+ num_attention_heads=8, # 32
122
+ num_hidden_layers=4, # 32
123
+ num_key_value_heads=2, # 8
124
+ pretraining_tp=1,
125
+ rms_norm_eps=1e-5,
126
+ rope_scaling=None,
127
+ rope_theta=500000.0,
128
+ tie_word_embeddings=False,
129
+ use_cache=True,
130
+ vocab_size=32000, # 128256,
131
+ logits_scaling=4.0,
132
+ # At rope backward
133
+ # Eager produces incontiguous dq and dk
134
+ # SDPA produces contiguous dq and incontiguous dk
135
+ # Flash_attn produces contiguous dq and dk
136
+ attn_implementation="sdpa", # default value, pytorch native attention
137
+ ),
138
+ ),
101
139
  "mini_qwen2": MiniModelConfig(
102
140
  liger_kernel_patch_func=apply_liger_kernel_to_qwen2,
103
141
  liger_kernel_patch_revert_func=revert_liger_kernel_to_qwen2,
@@ -497,6 +535,7 @@ def run_mini_model(
497
535
  ("mini_gemma1", 32, 1e-4, torch.float32, 1e-8, 1e-4, 5e-3, 1e-5, 5e-3, 1e-5),
498
536
  ("mini_gemma1.1", 32, 1e-4, torch.float32, 1e-8, 1e-4, 5e-3, 1e-5, 5e-3, 1e-5),
499
537
  ("mini_gemma2", 32, 1e-4, torch.float32, 1e-8, 1e-4, 5e-3, 1e-5, 5e-3, 1e-5),
538
+ ("mini_granite3", 32, 1e-4, torch.float32, 1e-8, 1e-4, 5e-3, 1e-5, 5e-3, 1e-5),
500
539
  ],
501
540
  )
502
541
  def test_mini_model(
@@ -261,6 +261,18 @@ def transformers_version_dispatch(
261
261
  return after_fn(*after_args, **after_kwargs)
262
262
 
263
263
 
264
+ def revert_liger_kernel_to_granite(model_config: MiniModelConfig):
265
+ """
266
+ Revert all Liger kernel patches applied to Granite.
267
+ """
268
+
269
+ from transformers.models.granite import modeling_granite
270
+
271
+ importlib.reload(modeling_granite)
272
+ model_config.model_class = modeling_granite.GraniteForCausalLM
273
+ print("Liger kernel patches have been reverted.")
274
+
275
+
264
276
  def revert_liger_kernel_to_llama(model_config: MiniModelConfig):
265
277
  """
266
278
  Revert all Liger kernel patches applied to Llama.