liger-kernel-nightly 0.6.1.dev20250728225847__tar.gz → 0.6.1.dev20250730201750__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.
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/PKG-INFO +1 -1
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/scripts/benchmark_fused_linear_cross_entropy.py +11 -3
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/pyproject.toml +1 -1
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/chunked_loss/dpo_loss.py +54 -3
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/ops/fused_linear_cross_entropy.py +21 -13
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/functional.py +2 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/fused_linear_cross_entropy.py +3 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel_nightly.egg-info/PKG-INFO +1 -1
- liger_kernel_nightly-0.6.1.dev20250730201750/test/chunked_loss/test_dpo_loss.py +938 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/transformers/test_fused_linear_cross_entropy.py +12 -5
- liger_kernel_nightly-0.6.1.dev20250728225847/test/chunked_loss/test_dpo_loss.py +0 -358
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/.github/pull_request_template.md +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/.github/workflows/amd-ci.yml +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/.github/workflows/benchmark.yml +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/.github/workflows/docs.yml +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/.github/workflows/intel-ci.yml +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/.github/workflows/nvi-ci.yml +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/.github/workflows/publish-nightly.yml +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/.github/workflows/publish-release.yml +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/.gitignore +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/LICENSE +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/Makefile +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/NOTICE +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/README.md +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/README.md +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/__init__.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/benchmarks_visualizer.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/data/all_benchmark_data.csv +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/scripts/__init__.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/scripts/benchmark_cpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/scripts/benchmark_cross_entropy.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/scripts/benchmark_distill_cosine_loss.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/scripts/benchmark_distill_jsd_loss.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/scripts/benchmark_dpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/scripts/benchmark_dyt.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/scripts/benchmark_embedding.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/scripts/benchmark_fused_add_rms_norm.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/scripts/benchmark_fused_linear_jsd.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/scripts/benchmark_fused_neighborhood_attention.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/scripts/benchmark_geglu.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/scripts/benchmark_group_norm.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/scripts/benchmark_jsd.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/scripts/benchmark_kl_div.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/scripts/benchmark_kto_loss.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/scripts/benchmark_layer_norm.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/scripts/benchmark_multi_token_attention.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/scripts/benchmark_orpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/scripts/benchmark_qwen2vl_mrope.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/scripts/benchmark_rms_norm.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/scripts/benchmark_rope.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/scripts/benchmark_simpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/scripts/benchmark_softmax.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/scripts/benchmark_sparse_multi_token_attention.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/scripts/benchmark_sparsemax.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/scripts/benchmark_swiglu.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/scripts/benchmark_tvd.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/benchmark/scripts/utils.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/dev/fmt-requirements.txt +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/dev/modal/benchmarks.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/dev/modal/tests.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/dev/modal/tests_bwd.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/docs/Examples.md +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/docs/Getting-Started.md +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/docs/High-Level-APIs.md +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/docs/Low-Level-APIs.md +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/docs/acknowledgement.md +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/docs/contributing.md +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/docs/images/banner.GIF +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/docs/images/compose.gif +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/docs/images/e2e-memory.png +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/docs/images/e2e-tps.png +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/docs/images/logo-banner.png +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/docs/images/patch.gif +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/docs/images/post-training.png +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/docs/index.md +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/docs/license.md +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/alignment/accelerate_config.yaml +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/alignment/run_orpo.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/huggingface/README.md +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/huggingface/callback.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/huggingface/config/fsdp_config.json +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/huggingface/img/gemma_7b_mem.png +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/huggingface/img/gemma_7b_tp.png +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/huggingface/img/llama_mem_alloc.png +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/huggingface/img/llama_tps.png +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/huggingface/img/qwen_mem_alloc.png +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/huggingface/img/qwen_tps.png +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/huggingface/launch_on_modal.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/huggingface/requirements.txt +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/huggingface/run_benchmarks.sh +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/huggingface/run_gemma.sh +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/huggingface/run_llama.sh +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/huggingface/run_qwen.sh +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/huggingface/run_qwen2_vl.sh +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/huggingface/training.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/huggingface/training_multimodal.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/lightning/README.md +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/lightning/requirements.txt +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/lightning/training.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/medusa/README.md +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/medusa/callback.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/medusa/docs/images/Memory_Stage1_num_head_3.png +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/medusa/docs/images/Memory_Stage1_num_head_5.png +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/medusa/docs/images/Memory_Stage2_num_head_3.png +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/medusa/docs/images/Memory_Stage2_num_head_5.png +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/medusa/docs/images/Throughput_Stage1_num_head_3.png +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/medusa/docs/images/Throughput_Stage1_num_head_5.png +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/medusa/docs/images/Throughput_Stage2_num_head_3.png +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/medusa/docs/images/Throughput_Stage2_num_head_5.png +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/medusa/fsdp/acc-fsdp.conf +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/medusa/medusa_util.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/medusa/requirements.txt +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/medusa/scripts/llama3_8b_medusa.sh +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/examples/medusa/train.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/licenses/LICENSE-Apache-2.0 +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/licenses/LICENSE-MIT-AutoAWQ +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/licenses/LICENSE-MIT-Efficient-Cross-Entropy +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/licenses/LICENSE-MIT-llmc +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/licenses/LICENSE-MIT-triton +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/mkdocs.yml +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/setup.cfg +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/setup.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/__init__.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/chunked_loss/README.md +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/chunked_loss/__init__.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/chunked_loss/cosine_similarity_loss.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/chunked_loss/cpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/chunked_loss/functional.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/chunked_loss/fused_linear_distillation.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/chunked_loss/fused_linear_ppo.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/chunked_loss/fused_linear_preference.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/chunked_loss/fused_linear_unpaired_preference.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/chunked_loss/grpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/chunked_loss/jsd_loss.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/chunked_loss/kto_loss.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/chunked_loss/orpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/chunked_loss/simpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/env_report.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/ops/__init__.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/ops/cross_entropy.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/ops/dyt.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/ops/experimental/embedding.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/ops/experimental/mm_int8int2.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/ops/fused_add_rms_norm.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/ops/fused_linear_jsd.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/ops/fused_neighborhood_attention.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/ops/geglu.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/ops/group_norm.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/ops/grpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/ops/jsd.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/ops/kl_div.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/ops/layer_norm.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/ops/multi_token_attention.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/ops/qwen2vl_mrope.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/ops/rms_norm.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/ops/rope.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/ops/softmax.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/ops/sparsemax.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/ops/swiglu.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/ops/tvd.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/ops/utils.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/__init__.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/auto_model.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/cross_entropy.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/dyt.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/experimental/embedding.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/fsdp.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/fused_add_rms_norm.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/fused_linear_jsd.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/fused_neighborhood_attention.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/geglu.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/group_norm.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/grpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/jsd.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/kl_div.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/layer_norm.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/model/__init__.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/model/gemma.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/model/gemma2.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/model/gemma3.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/model/glm4.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/model/llama.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/model/llama4.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/model/llava.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/model/loss_utils.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/model/mistral.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/model/mixtral.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/model/mllama.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/model/olmo2.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/model/paligemma.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/model/phi3.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/model/qwen2.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/model/qwen2_5_vl.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/model/qwen2_vl.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/model/qwen3.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/model/qwen3_moe.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/model/smollm3.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/monkey_patch.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/multi_token_attention.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/qwen2vl_mrope.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/rms_norm.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/rope.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/softmax.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/sparsemax.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/swiglu.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/trainer/__init__.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/trainer/orpo_trainer.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/trainer_integration.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/transformers/tvd.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/triton/__init__.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/triton/monkey_patch.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel/utils.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel_nightly.egg-info/SOURCES.txt +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel_nightly.egg-info/dependency_links.txt +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel_nightly.egg-info/requires.txt +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/src/liger_kernel_nightly.egg-info/top_level.txt +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/__init__.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/chunked_loss/__init__.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/chunked_loss/test_cosine_loss.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/chunked_loss/test_cpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/chunked_loss/test_grpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/chunked_loss/test_jsd_loss.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/chunked_loss/test_kto_loss.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/chunked_loss/test_orpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/chunked_loss/test_simpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/conftest.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/convergence/__init__.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/convergence/bf16/__init__.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/convergence/bf16/test_mini_models.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/convergence/bf16/test_mini_models_multimodal.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/convergence/bf16/test_mini_models_with_logits.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/convergence/fp32/__init__.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/convergence/fp32/test_mini_models.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/convergence/fp32/test_mini_models_multimodal.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/convergence/fp32/test_mini_models_with_logits.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/resources/fake_configs/Google/Gemma3/gemma-3-4b-it/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/resources/fake_configs/Google/Paligemma/paligemma-3b-pt-224/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/resources/fake_configs/Llava/llava-1.5-7b-hf/preprocessor_config.json +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/resources/fake_configs/Llava/llava-1.5-7b-hf/processor_config.json +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/resources/fake_configs/Llava/llava-1.5-7b-hf/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/resources/fake_configs/Qwen/Qwen2-VL-7B-Instruct/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/resources/fake_configs/Qwen/Qwen2.5-VL-7B-Instruct/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/resources/fake_configs/meta-llama/Llama-3.2-11B-Vision-Instruct/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/resources/fake_configs/meta-llama/Llama-4-Scout-17B-16E-Instruct/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/resources/scripts/generate_tokenized_dataset.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/resources/tiny_shakespeare.txt +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/resources/tiny_shakespeare_tokenized/data-00000-of-00001.arrow +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/resources/tiny_shakespeare_tokenized/dataset_info.json +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/resources/tiny_shakespeare_tokenized/state.json +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/transformers/test_auto_model.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/transformers/test_cross_entropy.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/transformers/test_dyt.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/transformers/test_embedding.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/transformers/test_flex_attention.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/transformers/test_fused_add_rms_norm.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/transformers/test_fused_linear_jsd.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/transformers/test_fused_neighborhood_attention.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/transformers/test_geglu.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/transformers/test_group_norm.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/transformers/test_grpo_loss.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/transformers/test_jsd.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/transformers/test_kl_div.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/transformers/test_layer_norm.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/transformers/test_mm_int8int2.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/transformers/test_monkey_patch.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/transformers/test_multi_token_attention.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/transformers/test_qwen2vl_mrope.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/transformers/test_rms_norm.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/transformers/test_rope.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/transformers/test_softmax.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/transformers/test_sparsemax.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/transformers/test_swiglu.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/transformers/test_trainer_integration.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/transformers/test_transformers.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/transformers/test_tvd.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/triton/test_triton_monkey_patch.py +0 -0
- {liger_kernel_nightly-0.6.1.dev20250728225847 → liger_kernel_nightly-0.6.1.dev20250730201750}/test/utils.py +0 -0
@@ -34,10 +34,12 @@ class TorchLMHeadCE(torch.nn.Module):
|
|
34
34
|
|
35
35
|
|
36
36
|
class LigerLMHeadCE(torch.nn.Module):
|
37
|
-
def __init__(self, H: int, V: int, dtype: torch.dtype, ignore_index: int = -100):
|
37
|
+
def __init__(self, H: int, V: int, dtype: torch.dtype, ignore_index: int = -100, accum_dtype=None):
|
38
38
|
super().__init__()
|
39
39
|
self.lin = torch.nn.Linear(in_features=H, out_features=V, bias=False, dtype=dtype)
|
40
|
-
self.ce_loss = LigerFusedLinearCrossEntropyLoss(
|
40
|
+
self.ce_loss = LigerFusedLinearCrossEntropyLoss(
|
41
|
+
ignore_index=ignore_index, reduction="mean", accum_dtype=accum_dtype
|
42
|
+
)
|
41
43
|
|
42
44
|
def forward(self, x, y):
|
43
45
|
return self.ce_loss(self.lin.weight, x, y)
|
@@ -59,6 +61,7 @@ def bench_memory_fused_linear_cross_entropy(
|
|
59
61
|
|
60
62
|
torch_lm_head_ce = TorchLMHeadCE(H=H, V=V, dtype=dtype).to(device)
|
61
63
|
liger_lm_head_ce = LigerLMHeadCE(H=H, V=V, dtype=dtype).to(device)
|
64
|
+
liger_lm_head_ce_fp32_accum = LigerLMHeadCE(H=H, V=V, dtype=dtype, accum_dtype=torch.float32).to(device)
|
62
65
|
|
63
66
|
_input = torch.randn(BT, H, requires_grad=True, dtype=dtype, device=device)
|
64
67
|
target = torch.randint(V, (BT, 1), dtype=torch.long, device=device).squeeze(1)
|
@@ -66,6 +69,8 @@ def bench_memory_fused_linear_cross_entropy(
|
|
66
69
|
def fwd():
|
67
70
|
if provider == "liger":
|
68
71
|
return liger_lm_head_ce(_input, target)
|
72
|
+
elif provider == "liger-fp32-accum":
|
73
|
+
return liger_lm_head_ce_fp32_accum(_input, target)
|
69
74
|
elif provider == "huggingface":
|
70
75
|
return torch_lm_head_ce(_input, target)
|
71
76
|
|
@@ -98,6 +103,7 @@ def bench_speed_fused_linear_cross_entropy(
|
|
98
103
|
|
99
104
|
torch_lm_head_ce = TorchLMHeadCE(H=H, V=V, dtype=dtype).to(device)
|
100
105
|
liger_lm_head_ce = LigerLMHeadCE(H=H, V=V, dtype=dtype).to(device)
|
106
|
+
liger_lm_head_ce_fp32_accum = LigerLMHeadCE(H=H, V=V, dtype=dtype, accum_dtype=torch.float32).to(device)
|
101
107
|
|
102
108
|
_input = torch.randn(BT, H, requires_grad=True, dtype=dtype, device=device)
|
103
109
|
target = torch.randint(V, (BT, 1), dtype=torch.long, device=device).squeeze(1)
|
@@ -105,6 +111,8 @@ def bench_speed_fused_linear_cross_entropy(
|
|
105
111
|
def fwd():
|
106
112
|
if provider == "liger":
|
107
113
|
return liger_lm_head_ce(_input, target)
|
114
|
+
elif provider == "liger-fp32-accum":
|
115
|
+
return liger_lm_head_ce_fp32_accum(_input, target)
|
108
116
|
elif provider == "huggingface":
|
109
117
|
return torch_lm_head_ce(_input, target)
|
110
118
|
|
@@ -149,7 +157,7 @@ if __name__ == "__main__":
|
|
149
157
|
"x_name": "BT",
|
150
158
|
"x_label": "B x T",
|
151
159
|
"x_values": [2**i for i in range(12, 16)],
|
152
|
-
"kernel_providers": ["liger", "huggingface"],
|
160
|
+
"kernel_providers": ["liger", "liger-fp32-accum", "huggingface"],
|
153
161
|
"extra_benchmark_configs": [{"H": 4096, "V": 128256, "mode": "forward", "dtype": torch.bfloat16}],
|
154
162
|
"overwrite": args.overwrite,
|
155
163
|
}
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
4
4
|
|
5
5
|
[project]
|
6
6
|
name = "liger_kernel_nightly"
|
7
|
-
version = "0.6.1.
|
7
|
+
version = "0.6.1.dev20250730201750"
|
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" }
|
@@ -13,6 +13,7 @@ class LigerFusedLinearDPOFunction(LigerFusedLinearPreferenceBase):
|
|
13
13
|
ref_chosen_logps=None,
|
14
14
|
ref_rejected_logps=None,
|
15
15
|
beta=0.1,
|
16
|
+
loss_type="sigmoid",
|
16
17
|
):
|
17
18
|
"""
|
18
19
|
Paper: https://arxiv.org/pdf/2305.18290
|
@@ -48,8 +49,50 @@ class LigerFusedLinearDPOFunction(LigerFusedLinearPreferenceBase):
|
|
48
49
|
chosen_rewards = beta * chosen_logratios
|
49
50
|
rejected_rewards = beta * rejected_logratios
|
50
51
|
|
51
|
-
|
52
|
-
|
52
|
+
if loss_type == "sigmoid":
|
53
|
+
logits_diff = beta * (chosen_logratios - rejected_logratios)
|
54
|
+
loss = -F.logsigmoid(logits_diff).sum() / (full_target.shape[0] // 2)
|
55
|
+
|
56
|
+
elif loss_type == "apo_zero":
|
57
|
+
# Eqn (7) of the APO paper (https://huggingface.co/papers/2408.06266)
|
58
|
+
# Use this loss when you believe the chosen outputs are better than your model's default output
|
59
|
+
losses_chosen = 1 - F.sigmoid(beta * chosen_logratios) # Increase chosen likelihood
|
60
|
+
losses_rejected = F.sigmoid(beta * rejected_logratios)
|
61
|
+
losses = losses_chosen + losses_rejected
|
62
|
+
loss = losses.sum() / (full_target.shape[0] // 2)
|
63
|
+
|
64
|
+
elif loss_type == "apo_down":
|
65
|
+
# Eqn (8) of the APO paper (https://huggingface.co/papers/2408.06266)
|
66
|
+
# Use this loss when you believe the chosen outputs are worse than your model's default output.
|
67
|
+
# Decrease chosen likelihood and decrease rejected likelihood more
|
68
|
+
losses_chosen = F.sigmoid(beta * chosen_logratios)
|
69
|
+
losses_rejected = 1 - F.sigmoid(beta * (chosen_logratios - rejected_logratios))
|
70
|
+
losses = losses_chosen + losses_rejected
|
71
|
+
loss = losses.sum() / (full_target.shape[0] // 2)
|
72
|
+
|
73
|
+
elif loss_type == "sppo_hard":
|
74
|
+
# In the paper (https://huggingface.co/papers/2405.00675), SPPO employs a soft probability approach,
|
75
|
+
# estimated using the PairRM score. The probability calculation is conducted outside of the trainer class.
|
76
|
+
# The version described here is the hard probability version, where P in Equation (4.7) of Algorithm 1 is
|
77
|
+
# set to 1 for the winner and 0 for the loser.
|
78
|
+
a = chosen_logps - ref_chosen_logps
|
79
|
+
b = rejected_logps - ref_rejected_logps
|
80
|
+
losses = (a - 0.5 / beta) ** 2 + (b + 0.5 / beta) ** 2
|
81
|
+
loss = losses.sum() / (full_target.shape[0] // 2)
|
82
|
+
|
83
|
+
elif loss_type == "nca_pair":
|
84
|
+
losses = (
|
85
|
+
-F.logsigmoid(chosen_rewards)
|
86
|
+
- 0.5 * F.logsigmoid(-chosen_rewards)
|
87
|
+
- 0.5 * F.logsigmoid(-rejected_rewards)
|
88
|
+
)
|
89
|
+
loss = losses.sum() / (full_target.shape[0] // 2)
|
90
|
+
|
91
|
+
else:
|
92
|
+
raise ValueError(
|
93
|
+
f"Unsupported loss_type: {loss_type}. Supported types are: sigmoid, apo_zero, apo_down, sppo_hard, nca_pair"
|
94
|
+
)
|
95
|
+
|
53
96
|
return loss, chosen_rewards, rejected_rewards
|
54
97
|
|
55
98
|
@classmethod
|
@@ -70,6 +113,7 @@ class LigerFusedLinearDPOFunction(LigerFusedLinearPreferenceBase):
|
|
70
113
|
use_ref_model=True,
|
71
114
|
average_log_prob=False,
|
72
115
|
chunk_size=1,
|
116
|
+
loss_type="sigmoid",
|
73
117
|
):
|
74
118
|
"""
|
75
119
|
Fused linear layer with DPO loss.
|
@@ -108,12 +152,13 @@ class LigerFusedLinearDPOFunction(LigerFusedLinearPreferenceBase):
|
|
108
152
|
ref_bias=ref_bias,
|
109
153
|
average_log_prob=average_log_prob,
|
110
154
|
chunk_size=chunk_size,
|
155
|
+
loss_type=loss_type,
|
111
156
|
)
|
112
157
|
|
113
158
|
@staticmethod
|
114
159
|
def backward(ctx, *grad_output):
|
115
160
|
grads = LigerFusedLinearPreferenceBase.backward(ctx, grad_output)[:4]
|
116
|
-
return *grads, None, None, None, None, None, None, None, None, None, None
|
161
|
+
return *grads, None, None, None, None, None, None, None, None, None, None, None
|
117
162
|
|
118
163
|
|
119
164
|
class LigerFusedLinearDPOLoss(torch.nn.Module):
|
@@ -130,6 +175,7 @@ class LigerFusedLinearDPOLoss(torch.nn.Module):
|
|
130
175
|
use_ref_model: bool = True,
|
131
176
|
average_log_prob: bool = False,
|
132
177
|
chunk_size: int = 1,
|
178
|
+
loss_type: str = "sigmoid",
|
133
179
|
):
|
134
180
|
"""
|
135
181
|
Args:
|
@@ -149,6 +195,10 @@ class LigerFusedLinearDPOLoss(torch.nn.Module):
|
|
149
195
|
self.use_ref_model = use_ref_model
|
150
196
|
self.average_log_prob = average_log_prob
|
151
197
|
self.chunk_size = chunk_size
|
198
|
+
self.loss_type = loss_type
|
199
|
+
supported_loss_types = {"sigmoid", "apo_zero", "apo_down", "sppo_hard", "nca_pair"}
|
200
|
+
if self.loss_type not in supported_loss_types:
|
201
|
+
raise ValueError(f"Unsupported loss_type: {self.loss_type}. Supported types are: {supported_loss_types}")
|
152
202
|
|
153
203
|
def forward(
|
154
204
|
self,
|
@@ -175,4 +225,5 @@ class LigerFusedLinearDPOLoss(torch.nn.Module):
|
|
175
225
|
self.use_ref_model,
|
176
226
|
self.average_log_prob,
|
177
227
|
self.chunk_size,
|
228
|
+
self.loss_type,
|
178
229
|
)
|
@@ -25,6 +25,7 @@ def fused_linear_cross_entropy_forward(
|
|
25
25
|
reduction="mean",
|
26
26
|
softcap=None,
|
27
27
|
return_z_loss=False,
|
28
|
+
accum_dtype=None,
|
28
29
|
):
|
29
30
|
assert isinstance(return_z_loss, bool), f"return_z_loss must be True or False. Got: {return_z_loss}"
|
30
31
|
device = _input.device
|
@@ -44,10 +45,16 @@ def fused_linear_cross_entropy_forward(
|
|
44
45
|
chunk_size = triton.next_power_of_2(triton.cdiv(BT, inc_factor)) # (BT + inc_factor - 1) // inc_factor
|
45
46
|
num_chunks = triton.cdiv(BT, chunk_size) # (BT + chunk_size - 1) // chunk_size
|
46
47
|
|
47
|
-
grad_weight = torch.zeros_like(weight, device=device) if weight.requires_grad else None
|
48
48
|
grad_input = torch.zeros_like(_input, device=device)
|
49
|
-
|
50
|
-
# we use fp32 for loss accumulator
|
49
|
+
|
50
|
+
# we use fp32 for loss and gradients accumulator
|
51
|
+
if accum_dtype is None:
|
52
|
+
grad_weight = torch.zeros_like(weight, device=device) if weight.requires_grad else None
|
53
|
+
grad_bias = torch.zeros_like(bias, device=device) if bias is not None else None
|
54
|
+
else:
|
55
|
+
grad_weight = torch.zeros_like(weight, dtype=accum_dtype, device=device) if weight.requires_grad else None
|
56
|
+
grad_bias = torch.zeros_like(bias, dtype=accum_dtype, device=device) if bias is not None else None
|
57
|
+
|
51
58
|
loss_1d = torch.zeros(BT, dtype=torch.float32, device=device)
|
52
59
|
z_loss_1d = torch.zeros(BT, dtype=_input.dtype, device=_input.device) if return_z_loss else None
|
53
60
|
|
@@ -124,16 +131,7 @@ def fused_linear_cross_entropy_forward(
|
|
124
131
|
grad_input[start_idx:end_idx] = grad_logits_chunk @ weight
|
125
132
|
|
126
133
|
if grad_weight is not None:
|
127
|
-
torch.
|
128
|
-
input=grad_weight,
|
129
|
-
mat1=logits_chunk.t().to(
|
130
|
-
_input_chunk.dtype
|
131
|
-
), # In an autocast scenario without bias, differing logits_chunk data types will cause an addmm operation error.
|
132
|
-
mat2=_input_chunk,
|
133
|
-
out=grad_weight,
|
134
|
-
alpha=1.0,
|
135
|
-
beta=1.0,
|
136
|
-
)
|
134
|
+
grad_weight += torch.mm(grad_logits_chunk.t(), _input_chunk).float()
|
137
135
|
|
138
136
|
if bias is not None:
|
139
137
|
torch.add(
|
@@ -151,6 +149,11 @@ def fused_linear_cross_entropy_forward(
|
|
151
149
|
else:
|
152
150
|
loss = torch.sum(loss_1d)
|
153
151
|
z_loss = torch.sum(z_loss_1d) if return_z_loss else None
|
152
|
+
|
153
|
+
# Cast back to original dtype
|
154
|
+
grad_weight = grad_weight.to(weight.dtype) if grad_weight is not None else None
|
155
|
+
grad_bias = grad_bias.to(bias.dtype) if grad_bias is not None else None
|
156
|
+
|
154
157
|
return loss, z_loss, grad_input, grad_weight, grad_bias
|
155
158
|
|
156
159
|
|
@@ -217,6 +220,7 @@ class LigerFusedLinearCrossEntropyFunction(torch.autograd.Function):
|
|
217
220
|
reduction="mean",
|
218
221
|
softcap=None,
|
219
222
|
return_z_loss: bool = False,
|
223
|
+
accum_dtype=None,
|
220
224
|
):
|
221
225
|
"""
|
222
226
|
Fusing the last linear layer with cross-entropy loss
|
@@ -235,6 +239,8 @@ class LigerFusedLinearCrossEntropyFunction(torch.autograd.Function):
|
|
235
239
|
ignore_index: the index to ignore in the target
|
236
240
|
label_smoothing (float): The amount of smoothing when computing the loss, where 0.0 means no smoothing.
|
237
241
|
reduction: reduction to apply
|
242
|
+
accum_dtype (torch.dtype): the dtype of intermediate result buffers for weight and bias gradient accumulations.
|
243
|
+
Recommended to set `accum_dtype` to higher precision, e.g. `torch.float32`, if the training is unstable with original dtype. Default: `None`, performing accumulations in original dtype
|
238
244
|
"""
|
239
245
|
|
240
246
|
loss, z_loss, grad_input, grad_weight, grad_bias = fused_linear_cross_entropy_forward(
|
@@ -249,6 +255,7 @@ class LigerFusedLinearCrossEntropyFunction(torch.autograd.Function):
|
|
249
255
|
reduction=reduction,
|
250
256
|
softcap=softcap,
|
251
257
|
return_z_loss=return_z_loss,
|
258
|
+
accum_dtype=accum_dtype,
|
252
259
|
)
|
253
260
|
# downcast to dtype and store for backward
|
254
261
|
ctx.save_for_backward(
|
@@ -280,4 +287,5 @@ class LigerFusedLinearCrossEntropyFunction(torch.autograd.Function):
|
|
280
287
|
None,
|
281
288
|
None,
|
282
289
|
None,
|
290
|
+
None,
|
283
291
|
)
|
@@ -64,6 +64,7 @@ def liger_fused_linear_cross_entropy(
|
|
64
64
|
reduction: str = "mean",
|
65
65
|
softcap: Optional[float] = None,
|
66
66
|
return_z_loss: bool = False,
|
67
|
+
accum_dtype=None,
|
67
68
|
):
|
68
69
|
loss, z_loss = LigerFusedLinearCrossEntropyFunction.apply(
|
69
70
|
input,
|
@@ -77,6 +78,7 @@ def liger_fused_linear_cross_entropy(
|
|
77
78
|
reduction,
|
78
79
|
softcap,
|
79
80
|
return_z_loss,
|
81
|
+
accum_dtype,
|
80
82
|
)
|
81
83
|
if not return_z_loss:
|
82
84
|
return loss
|
@@ -15,6 +15,7 @@ class LigerFusedLinearCrossEntropyLoss(torch.nn.Module):
|
|
15
15
|
reduction: str = "mean",
|
16
16
|
softcap: Optional[float] = None,
|
17
17
|
return_z_loss: bool = False,
|
18
|
+
accum_dtype: Optional[torch.dtype] = None,
|
18
19
|
):
|
19
20
|
super().__init__()
|
20
21
|
assert (label_smoothing >= 0) and (label_smoothing <= 1), (
|
@@ -32,6 +33,7 @@ class LigerFusedLinearCrossEntropyLoss(torch.nn.Module):
|
|
32
33
|
self.reduction = reduction
|
33
34
|
self.softcap = softcap
|
34
35
|
self.return_z_loss = return_z_loss
|
36
|
+
self.accum_dtype = accum_dtype
|
35
37
|
|
36
38
|
def forward(self, lin_weight, _input, target, bias=None):
|
37
39
|
loss, z_loss = LigerFusedLinearCrossEntropyFunction.apply(
|
@@ -46,6 +48,7 @@ class LigerFusedLinearCrossEntropyLoss(torch.nn.Module):
|
|
46
48
|
self.reduction,
|
47
49
|
self.softcap,
|
48
50
|
self.return_z_loss,
|
51
|
+
self.accum_dtype,
|
49
52
|
)
|
50
53
|
if not self.return_z_loss:
|
51
54
|
return loss
|