liger-kernel-nightly 0.5.9.dev20250505193607__tar.gz → 0.5.9.dev20250510102528__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.5.9.dev20250510102528/.idea/workspace.xml +79 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/PKG-INFO +32 -19
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/README.md +31 -18
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/pyproject.toml +1 -1
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/__init__.py +5 -0
- liger_kernel_nightly-0.5.9.dev20250510102528/src/liger_kernel/transformers/model/qwen3_moe.py +134 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/monkey_patch.py +56 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/swiglu.py +21 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel_nightly.egg-info/PKG-INFO +32 -19
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel_nightly.egg-info/SOURCES.txt +2 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/convergence/bf16/test_mini_models.py +58 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/convergence/bf16/test_mini_models_with_logits.py +58 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/convergence/fp32/test_mini_models.py +55 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/convergence/fp32/test_mini_models_with_logits.py +55 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/transformers/test_monkey_patch.py +40 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/utils.py +12 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/.github/pull_request_template.md +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/.github/workflows/amd-ci.yml +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/.github/workflows/docs.yml +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/.github/workflows/intel-ci.yml +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/.github/workflows/nvi-ci.yml +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/.github/workflows/publish-nightly.yml +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/.github/workflows/publish-release.yml +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/.gitignore +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/LICENSE +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/Makefile +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/NOTICE +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/benchmark/README.md +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/benchmark/__init__.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/benchmark/benchmarks_visualizer.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/benchmark/data/all_benchmark_data.csv +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/benchmark/scripts/__init__.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/benchmark/scripts/benchmark_cpo_loss.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/benchmark/scripts/benchmark_cross_entropy.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/benchmark/scripts/benchmark_distill_jsd_loss.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/benchmark/scripts/benchmark_dpo_loss.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/benchmark/scripts/benchmark_dyt.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/benchmark/scripts/benchmark_embedding.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/benchmark/scripts/benchmark_fused_linear_cross_entropy.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/benchmark/scripts/benchmark_fused_linear_jsd.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/benchmark/scripts/benchmark_geglu.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/benchmark/scripts/benchmark_group_norm.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/benchmark/scripts/benchmark_jsd.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/benchmark/scripts/benchmark_kl_div.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/benchmark/scripts/benchmark_kto_loss.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/benchmark/scripts/benchmark_layer_norm.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/benchmark/scripts/benchmark_orpo_loss.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/benchmark/scripts/benchmark_qwen2vl_mrope.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/benchmark/scripts/benchmark_rms_norm.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/benchmark/scripts/benchmark_rope.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/benchmark/scripts/benchmark_simpo_loss.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/benchmark/scripts/benchmark_swiglu.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/benchmark/scripts/benchmark_tvd.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/benchmark/scripts/utils.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/dev/fmt-requirements.txt +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/dev/modal/tests.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/dev/modal/tests_bwd.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/docs/Examples.md +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/docs/Getting-Started.md +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/docs/High-Level-APIs.md +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/docs/Low-Level-APIs.md +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/docs/acknowledgement.md +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/docs/contributing.md +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/docs/images/banner.GIF +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/docs/images/compose.gif +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/docs/images/e2e-memory.png +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/docs/images/e2e-tps.png +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/docs/images/logo-banner.png +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/docs/images/patch.gif +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/docs/images/post-training.png +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/docs/index.md +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/docs/license.md +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/alignment/accelerate_config.yaml +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/alignment/run_orpo.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/huggingface/README.md +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/huggingface/callback.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/huggingface/config/fsdp_config.json +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/huggingface/img/gemma_7b_mem.png +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/huggingface/img/gemma_7b_tp.png +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/huggingface/img/llama_mem_alloc.png +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/huggingface/img/llama_tps.png +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/huggingface/img/qwen_mem_alloc.png +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/huggingface/img/qwen_tps.png +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/huggingface/launch_on_modal.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/huggingface/requirements.txt +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/huggingface/run_benchmarks.sh +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/huggingface/run_gemma.sh +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/huggingface/run_llama.sh +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/huggingface/run_qwen.sh +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/huggingface/run_qwen2_vl.sh +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/huggingface/training.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/huggingface/training_multimodal.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/lightning/README.md +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/lightning/requirements.txt +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/lightning/training.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/medusa/README.md +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/medusa/callback.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/medusa/docs/images/Memory_Stage1_num_head_3.png +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/medusa/docs/images/Memory_Stage1_num_head_5.png +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/medusa/docs/images/Memory_Stage2_num_head_3.png +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/medusa/docs/images/Memory_Stage2_num_head_5.png +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/medusa/docs/images/Throughput_Stage1_num_head_3.png +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/medusa/docs/images/Throughput_Stage1_num_head_5.png +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/medusa/docs/images/Throughput_Stage2_num_head_3.png +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/medusa/docs/images/Throughput_Stage2_num_head_5.png +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/medusa/fsdp/acc-fsdp.conf +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/medusa/medusa_util.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/medusa/requirements.txt +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/medusa/scripts/llama3_8b_medusa.sh +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/examples/medusa/train.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/licenses/LICENSE-Apache-2.0 +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/licenses/LICENSE-MIT-AutoAWQ +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/licenses/LICENSE-MIT-Efficient-Cross-Entropy +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/licenses/LICENSE-MIT-llmc +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/licenses/LICENSE-MIT-triton +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/mkdocs.yml +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/setup.cfg +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/setup.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/__init__.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/chunked_loss/README.md +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/chunked_loss/__init__.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/chunked_loss/cpo_loss.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/chunked_loss/dpo_loss.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/chunked_loss/functional.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/chunked_loss/fused_linear_distillation.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/chunked_loss/fused_linear_ppo.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/chunked_loss/fused_linear_preference.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/chunked_loss/fused_linear_unpaired_preference.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/chunked_loss/grpo_loss.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/chunked_loss/jsd_loss.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/chunked_loss/kto_loss.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/chunked_loss/orpo_loss.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/chunked_loss/simpo_loss.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/env_report.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/ops/__init__.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/ops/cross_entropy.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/ops/dyt.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/ops/experimental/embedding.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/ops/experimental/mm_int8int2.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/ops/fused_linear_cross_entropy.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/ops/fused_linear_jsd.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/ops/geglu.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/ops/group_norm.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/ops/jsd.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/ops/kl_div.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/ops/layer_norm.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/ops/qwen2vl_mrope.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/ops/rms_norm.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/ops/rope.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/ops/swiglu.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/ops/tvd.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/ops/utils.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/auto_model.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/cross_entropy.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/dyt.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/experimental/embedding.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/functional.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/fused_linear_cross_entropy.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/fused_linear_jsd.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/geglu.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/gema3_rms.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/group_norm.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/jsd.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/kl_div.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/layer_norm.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/model/__init__.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/model/gemma.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/model/gemma2.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/model/gemma3.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/model/glm4.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/model/llama.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/model/llava.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/model/loss_utils.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/model/mistral.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/model/mixtral.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/model/mllama.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/model/olmo2.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/model/paligemma.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/model/phi3.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/model/qwen2.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/model/qwen2_5_vl.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/model/qwen2_vl.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/model/qwen3.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/qwen2vl_mrope.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/rms_norm.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/rope.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/trainer/__init__.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/trainer/orpo_trainer.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/trainer_integration.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/transformers/tvd.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/triton/__init__.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/triton/monkey_patch.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel/utils.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel_nightly.egg-info/dependency_links.txt +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel_nightly.egg-info/requires.txt +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/src/liger_kernel_nightly.egg-info/top_level.txt +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/__init__.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/chunked_loss/__init__.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/chunked_loss/test_cpo_loss.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/chunked_loss/test_dpo_loss.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/chunked_loss/test_grpo_loss.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/chunked_loss/test_jsd_loss.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/chunked_loss/test_kto_loss.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/chunked_loss/test_orpo_loss.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/chunked_loss/test_simpo_loss.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/conftest.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/convergence/__init__.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/convergence/bf16/__init__.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/convergence/bf16/test_mini_models_multimodal.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/convergence/fp32/__init__.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/convergence/fp32/test_mini_models_multimodal.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/resources/fake_configs/Google/Gemma3/gemma-3-4b-it/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/resources/fake_configs/Google/Paligemma/paligemma-3b-pt-224/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/resources/fake_configs/Llava/llava-1.5-7b-hf/preprocessor_config.json +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/resources/fake_configs/Llava/llava-1.5-7b-hf/processor_config.json +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/resources/fake_configs/Llava/llava-1.5-7b-hf/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/resources/fake_configs/Qwen/Qwen2-VL-7B-Instruct/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/resources/fake_configs/Qwen/Qwen2.5-VL-7B-Instruct/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/resources/fake_configs/meta-llama/Llama-3.2-11B-Vision-Instruct/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/resources/scripts/generate_tokenized_dataset.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/resources/tiny_shakespeare.txt +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/resources/tiny_shakespeare_tokenized/data-00000-of-00001.arrow +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/resources/tiny_shakespeare_tokenized/dataset_info.json +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/resources/tiny_shakespeare_tokenized/state.json +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/transformers/test_auto_model.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/transformers/test_cross_entropy.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/transformers/test_dyt.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/transformers/test_embedding.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/transformers/test_flex_attention.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/transformers/test_fused_linear_cross_entropy.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/transformers/test_fused_linear_jsd.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/transformers/test_geglu.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/transformers/test_group_norm.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/transformers/test_jsd.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/transformers/test_kl_div.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/transformers/test_layer_norm.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/transformers/test_mm_int8int2.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/transformers/test_qwen2vl_mrope.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/transformers/test_rms_norm.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/transformers/test_rope.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/transformers/test_swiglu.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/transformers/test_trainer_integration.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/transformers/test_transformers.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/transformers/test_tvd.py +0 -0
- {liger_kernel_nightly-0.5.9.dev20250505193607 → liger_kernel_nightly-0.5.9.dev20250510102528}/test/triton/test_triton_monkey_patch.py +0 -0
@@ -0,0 +1,79 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<project version="4">
|
3
|
+
<component name="AutoImportSettings">
|
4
|
+
<option name="autoReloadType" value="SELECTIVE" />
|
5
|
+
</component>
|
6
|
+
<component name="ChangeListManager">
|
7
|
+
<list default="true" id="d7400753-faa8-4997-a53e-65fd3a6e6146" name="Changes" comment="Reference Unsloth in header" />
|
8
|
+
<option name="SHOW_DIALOG" value="false" />
|
9
|
+
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
10
|
+
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
11
|
+
<option name="LAST_RESOLUTION" value="IGNORE" />
|
12
|
+
</component>
|
13
|
+
<component name="Git.Settings">
|
14
|
+
<option name="RECENT_BRANCH_BY_REPOSITORY">
|
15
|
+
<map>
|
16
|
+
<entry key="$PROJECT_DIR$" value="main" />
|
17
|
+
</map>
|
18
|
+
</option>
|
19
|
+
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
20
|
+
</component>
|
21
|
+
<component name="GitHubPullRequestSearchHistory"><![CDATA[{
|
22
|
+
"lastFilter": {
|
23
|
+
"state": "OPEN",
|
24
|
+
"assignee": "momochen"
|
25
|
+
}
|
26
|
+
}]]></component>
|
27
|
+
<component name="GithubPullRequestsUISettings"><![CDATA[{
|
28
|
+
"selectedUrlAndAccountId": {
|
29
|
+
"url": "https://github.com/momochen/Liger-Kernel",
|
30
|
+
"accountId": "639f3e12-86db-4b12-a409-51cc017415fb"
|
31
|
+
}
|
32
|
+
}]]></component>
|
33
|
+
<component name="ProjectColorInfo"><![CDATA[{
|
34
|
+
"associatedIndex": 5
|
35
|
+
}]]></component>
|
36
|
+
<component name="ProjectId" id="2lfyDxCjSnvFrbllYmf9VBSCcMx" />
|
37
|
+
<component name="ProjectViewState">
|
38
|
+
<option name="hideEmptyMiddlePackages" value="true" />
|
39
|
+
<option name="showLibraryContents" value="true" />
|
40
|
+
</component>
|
41
|
+
<component name="PropertiesComponent"><![CDATA[{
|
42
|
+
"keyToString": {
|
43
|
+
"RunOnceActivity.ShowReadmeOnStart": "true",
|
44
|
+
"git-widget-placeholder": "ref__unsloth",
|
45
|
+
"last_opened_file_path": "/Users/ychen/workspace/github/Liger-Kernel"
|
46
|
+
}
|
47
|
+
}]]></component>
|
48
|
+
<component name="SharedIndexes">
|
49
|
+
<attachedChunks>
|
50
|
+
<set>
|
51
|
+
<option value="bundled-python-sdk-975db3bf15a3-31b6be0877a2-com.jetbrains.pycharm.community.sharedIndexes.bundled-PC-241.18034.82" />
|
52
|
+
</set>
|
53
|
+
</attachedChunks>
|
54
|
+
</component>
|
55
|
+
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
|
56
|
+
<component name="TaskManager">
|
57
|
+
<task active="true" id="Default" summary="Default task">
|
58
|
+
<changelist id="d7400753-faa8-4997-a53e-65fd3a6e6146" name="Changes" comment="" />
|
59
|
+
<created>1725585310555</created>
|
60
|
+
<option name="number" value="Default" />
|
61
|
+
<option name="presentableId" value="Default" />
|
62
|
+
<updated>1725585310555</updated>
|
63
|
+
</task>
|
64
|
+
<task id="LOCAL-00001" summary="Reference Unsloth in header">
|
65
|
+
<option name="closed" value="true" />
|
66
|
+
<created>1725585434299</created>
|
67
|
+
<option name="number" value="00001" />
|
68
|
+
<option name="presentableId" value="LOCAL-00001" />
|
69
|
+
<option name="project" value="LOCAL" />
|
70
|
+
<updated>1725585434299</updated>
|
71
|
+
</task>
|
72
|
+
<option name="localTasksCounter" value="2" />
|
73
|
+
<servers />
|
74
|
+
</component>
|
75
|
+
<component name="VcsManagerConfiguration">
|
76
|
+
<MESSAGE value="Reference Unsloth in header" />
|
77
|
+
<option name="LAST_COMMIT_MESSAGE" value="Reference Unsloth in header" />
|
78
|
+
</component>
|
79
|
+
</project>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: liger_kernel_nightly
|
3
|
-
Version: 0.5.9.
|
3
|
+
Version: 0.5.9.dev20250510102528
|
4
4
|
Summary: Efficient Triton kernels for LLM Training
|
5
5
|
License: BSD 2-CLAUSE LICENSE
|
6
6
|
Copyright 2024 LinkedIn Corporation
|
@@ -56,7 +56,6 @@ Requires-Dist: mkdocs-material; extra == "dev"
|
|
56
56
|
<th style="padding: 10px;" colspan="2">Stable</th>
|
57
57
|
<th style="padding: 10px;" colspan="2">Nightly</th>
|
58
58
|
<th style="padding: 10px;">Discord</th>
|
59
|
-
<th style="padding: 10px;">Build</th>
|
60
59
|
</tr>
|
61
60
|
<tr>
|
62
61
|
<td style="padding: 10px;">
|
@@ -84,23 +83,6 @@ Requires-Dist: mkdocs-material; extra == "dev"
|
|
84
83
|
<img src="https://dcbadge.vercel.app/api/server/gpumode?style=flat" alt="Join Our Discord">
|
85
84
|
</a>
|
86
85
|
</td>
|
87
|
-
<td style="padding: 10px;">
|
88
|
-
<div style="display: block;">
|
89
|
-
<a href="https://github.com/linkedin/Liger-Kernel/actions/workflows/nvi-ci.yml">
|
90
|
-
<img src="https://github.com/linkedin/Liger-Kernel/actions/workflows/nvi-ci.yml/badge.svg?event=schedule" alt="Build">
|
91
|
-
</a>
|
92
|
-
</div>
|
93
|
-
<div style="display: block;">
|
94
|
-
<a href="https://github.com/linkedin/Liger-Kernel/actions/workflows/amd-ci.yml">
|
95
|
-
<img src="https://github.com/linkedin/Liger-Kernel/actions/workflows/amd-ci.yml/badge.svg?event=schedule" alt="Build">
|
96
|
-
</a>
|
97
|
-
</div>
|
98
|
-
<div style="display: block;">
|
99
|
-
<a href="https://github.com/linkedin/Liger-Kernel/actions/workflows/amd-ci.yml">
|
100
|
-
<img src="https://github.com/linkedin/Liger-Kernel/actions/workflows/intel-ci.yml/badge.svg?event=schedule" alt="Build">
|
101
|
-
</a>
|
102
|
-
</div>
|
103
|
-
</td>
|
104
86
|
</tr>
|
105
87
|
</table>
|
106
88
|
|
@@ -318,6 +300,7 @@ loss.backward()
|
|
318
300
|
| Qwen2-VL, & QVQ | `liger_kernel.transformers.apply_liger_kernel_to_qwen2_vl` | RMSNorm, LayerNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
|
319
301
|
| Qwen2.5-VL | `liger_kernel.transformers.apply_liger_kernel_to_qwen2_5_vl` | RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
|
320
302
|
| Qwen3 | `liger_kernel.transformers.apply_liger_kernel_to_qwen3` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
|
303
|
+
| Qwen3 MoE | `liger_kernel_transformers.apply_liger_kernel_to_qwen3_moe` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
|
321
304
|
| Phi3 & Phi3.5 | `liger_kernel.transformers.apply_liger_kernel_to_phi3` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
|
322
305
|
| Granite 3.0 & 3.1 | `liger_kernel.transformers.apply_liger_kernel_to_granite` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss |
|
323
306
|
| OLMo2 | `liger_kernel.transformers.apply_liger_kernel_to_olmo2` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
|
@@ -387,6 +370,36 @@ loss.backward()
|
|
387
370
|
- [Axolotl](https://axolotl.ai/): Integrating Liger Kernel into Axolotl.
|
388
371
|
- [Llama-Factory](https://github.com/hiyouga/LLaMA-Factory): Integrating Liger Kernel into Llama-Factory.
|
389
372
|
|
373
|
+
|
374
|
+
## CI status
|
375
|
+
|
376
|
+
<table style="width: 100%; text-align: center; border-collapse: collapse;">
|
377
|
+
<tr>
|
378
|
+
<th style="padding: 10px;">Build</th>
|
379
|
+
</tr>
|
380
|
+
<tr>
|
381
|
+
<td style="padding: 10px;">
|
382
|
+
<div style="display: block;">
|
383
|
+
<a href="https://github.com/linkedin/Liger-Kernel/actions/workflows/nvi-ci.yml">
|
384
|
+
<img src="https://github.com/linkedin/Liger-Kernel/actions/workflows/nvi-ci.yml/badge.svg?event=schedule" alt="Build">
|
385
|
+
</a>
|
386
|
+
</div>
|
387
|
+
<div style="display: block;">
|
388
|
+
<a href="https://github.com/linkedin/Liger-Kernel/actions/workflows/amd-ci.yml">
|
389
|
+
<img src="https://github.com/linkedin/Liger-Kernel/actions/workflows/amd-ci.yml/badge.svg?event=schedule" alt="Build">
|
390
|
+
</a>
|
391
|
+
</div>
|
392
|
+
<div style="display: block;">
|
393
|
+
<a href="https://github.com/linkedin/Liger-Kernel/actions/workflows/amd-ci.yml">
|
394
|
+
<img src="https://github.com/linkedin/Liger-Kernel/actions/workflows/intel-ci.yml/badge.svg?event=schedule" alt="Build">
|
395
|
+
</a>
|
396
|
+
</div>
|
397
|
+
</td>
|
398
|
+
</tr>
|
399
|
+
</table>
|
400
|
+
|
401
|
+
|
402
|
+
|
390
403
|
## Contact
|
391
404
|
|
392
405
|
- For issues, create a Github ticket in this repository
|
@@ -8,7 +8,6 @@
|
|
8
8
|
<th style="padding: 10px;" colspan="2">Stable</th>
|
9
9
|
<th style="padding: 10px;" colspan="2">Nightly</th>
|
10
10
|
<th style="padding: 10px;">Discord</th>
|
11
|
-
<th style="padding: 10px;">Build</th>
|
12
11
|
</tr>
|
13
12
|
<tr>
|
14
13
|
<td style="padding: 10px;">
|
@@ -36,23 +35,6 @@
|
|
36
35
|
<img src="https://dcbadge.vercel.app/api/server/gpumode?style=flat" alt="Join Our Discord">
|
37
36
|
</a>
|
38
37
|
</td>
|
39
|
-
<td style="padding: 10px;">
|
40
|
-
<div style="display: block;">
|
41
|
-
<a href="https://github.com/linkedin/Liger-Kernel/actions/workflows/nvi-ci.yml">
|
42
|
-
<img src="https://github.com/linkedin/Liger-Kernel/actions/workflows/nvi-ci.yml/badge.svg?event=schedule" alt="Build">
|
43
|
-
</a>
|
44
|
-
</div>
|
45
|
-
<div style="display: block;">
|
46
|
-
<a href="https://github.com/linkedin/Liger-Kernel/actions/workflows/amd-ci.yml">
|
47
|
-
<img src="https://github.com/linkedin/Liger-Kernel/actions/workflows/amd-ci.yml/badge.svg?event=schedule" alt="Build">
|
48
|
-
</a>
|
49
|
-
</div>
|
50
|
-
<div style="display: block;">
|
51
|
-
<a href="https://github.com/linkedin/Liger-Kernel/actions/workflows/amd-ci.yml">
|
52
|
-
<img src="https://github.com/linkedin/Liger-Kernel/actions/workflows/intel-ci.yml/badge.svg?event=schedule" alt="Build">
|
53
|
-
</a>
|
54
|
-
</div>
|
55
|
-
</td>
|
56
38
|
</tr>
|
57
39
|
</table>
|
58
40
|
|
@@ -270,6 +252,7 @@ loss.backward()
|
|
270
252
|
| Qwen2-VL, & QVQ | `liger_kernel.transformers.apply_liger_kernel_to_qwen2_vl` | RMSNorm, LayerNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
|
271
253
|
| Qwen2.5-VL | `liger_kernel.transformers.apply_liger_kernel_to_qwen2_5_vl` | RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
|
272
254
|
| Qwen3 | `liger_kernel.transformers.apply_liger_kernel_to_qwen3` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
|
255
|
+
| Qwen3 MoE | `liger_kernel_transformers.apply_liger_kernel_to_qwen3_moe` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
|
273
256
|
| Phi3 & Phi3.5 | `liger_kernel.transformers.apply_liger_kernel_to_phi3` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
|
274
257
|
| Granite 3.0 & 3.1 | `liger_kernel.transformers.apply_liger_kernel_to_granite` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss |
|
275
258
|
| OLMo2 | `liger_kernel.transformers.apply_liger_kernel_to_olmo2` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
|
@@ -339,6 +322,36 @@ loss.backward()
|
|
339
322
|
- [Axolotl](https://axolotl.ai/): Integrating Liger Kernel into Axolotl.
|
340
323
|
- [Llama-Factory](https://github.com/hiyouga/LLaMA-Factory): Integrating Liger Kernel into Llama-Factory.
|
341
324
|
|
325
|
+
|
326
|
+
## CI status
|
327
|
+
|
328
|
+
<table style="width: 100%; text-align: center; border-collapse: collapse;">
|
329
|
+
<tr>
|
330
|
+
<th style="padding: 10px;">Build</th>
|
331
|
+
</tr>
|
332
|
+
<tr>
|
333
|
+
<td style="padding: 10px;">
|
334
|
+
<div style="display: block;">
|
335
|
+
<a href="https://github.com/linkedin/Liger-Kernel/actions/workflows/nvi-ci.yml">
|
336
|
+
<img src="https://github.com/linkedin/Liger-Kernel/actions/workflows/nvi-ci.yml/badge.svg?event=schedule" alt="Build">
|
337
|
+
</a>
|
338
|
+
</div>
|
339
|
+
<div style="display: block;">
|
340
|
+
<a href="https://github.com/linkedin/Liger-Kernel/actions/workflows/amd-ci.yml">
|
341
|
+
<img src="https://github.com/linkedin/Liger-Kernel/actions/workflows/amd-ci.yml/badge.svg?event=schedule" alt="Build">
|
342
|
+
</a>
|
343
|
+
</div>
|
344
|
+
<div style="display: block;">
|
345
|
+
<a href="https://github.com/linkedin/Liger-Kernel/actions/workflows/amd-ci.yml">
|
346
|
+
<img src="https://github.com/linkedin/Liger-Kernel/actions/workflows/intel-ci.yml/badge.svg?event=schedule" alt="Build">
|
347
|
+
</a>
|
348
|
+
</div>
|
349
|
+
</td>
|
350
|
+
</tr>
|
351
|
+
</table>
|
352
|
+
|
353
|
+
|
354
|
+
|
342
355
|
## Contact
|
343
356
|
|
344
357
|
- For issues, create a Github ticket in this repository
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
4
4
|
|
5
5
|
[project]
|
6
6
|
name = "liger_kernel_nightly"
|
7
|
-
version = "0.5.9.
|
7
|
+
version = "0.5.9.dev20250510102528"
|
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" }
|
@@ -14,6 +14,7 @@ from liger_kernel.transformers.rms_norm import LigerRMSNorm # noqa: F401
|
|
14
14
|
from liger_kernel.transformers.rope import liger_rotary_pos_emb # noqa: F401
|
15
15
|
from liger_kernel.transformers.swiglu import LigerBlockSparseTop2MLP # noqa: F401
|
16
16
|
from liger_kernel.transformers.swiglu import LigerPhi3SwiGLUMLP # noqa: F401
|
17
|
+
from liger_kernel.transformers.swiglu import LigerQwen3MoeSwiGLUMLP # noqa: F401
|
17
18
|
from liger_kernel.transformers.swiglu import LigerSwiGLUMLP # noqa: F401
|
18
19
|
from liger_kernel.transformers.tvd import LigerTVDLoss # noqa: F401
|
19
20
|
|
@@ -40,6 +41,7 @@ if TYPE_CHECKING:
|
|
40
41
|
from liger_kernel.transformers.monkey_patch import apply_liger_kernel_to_qwen2_5_vl # noqa: F401
|
41
42
|
from liger_kernel.transformers.monkey_patch import apply_liger_kernel_to_qwen2_vl # noqa: F401
|
42
43
|
from liger_kernel.transformers.monkey_patch import apply_liger_kernel_to_qwen3 # noqa: F401
|
44
|
+
from liger_kernel.transformers.monkey_patch import apply_liger_kernel_to_qwen3_moe # noqa: F401
|
43
45
|
|
44
46
|
|
45
47
|
# Check if 'transformers' is installed
|
@@ -95,6 +97,7 @@ def __getattr__(name: str):
|
|
95
97
|
"apply_liger_kernel_to_qwen2_5_vl",
|
96
98
|
"apply_liger_kernel_to_qwen2_vl",
|
97
99
|
"apply_liger_kernel_to_qwen3",
|
100
|
+
"apply_liger_kernel_to_qwen3_moe",
|
98
101
|
}
|
99
102
|
|
100
103
|
if name in monkey_patch_symbols:
|
@@ -118,6 +121,7 @@ __all__ = [
|
|
118
121
|
"liger_rotary_pos_emb",
|
119
122
|
"LigerBlockSparseTop2MLP",
|
120
123
|
"LigerPhi3SwiGLUMLP",
|
124
|
+
"LigerQwen3MoeSwiGLUMLP",
|
121
125
|
"LigerSwiGLUMLP",
|
122
126
|
"LigerTVDLoss",
|
123
127
|
]
|
@@ -147,5 +151,6 @@ if _TRANSFORMERS_AVAILABLE:
|
|
147
151
|
"apply_liger_kernel_to_qwen2_5_vl",
|
148
152
|
"apply_liger_kernel_to_qwen2_vl",
|
149
153
|
"apply_liger_kernel_to_qwen3",
|
154
|
+
"apply_liger_kernel_to_qwen3_moe",
|
150
155
|
]
|
151
156
|
)
|
@@ -0,0 +1,134 @@
|
|
1
|
+
from typing import List
|
2
|
+
from typing import Optional
|
3
|
+
from typing import Union
|
4
|
+
|
5
|
+
import torch
|
6
|
+
|
7
|
+
from transformers.modeling_outputs import MoeCausalLMOutputWithPast
|
8
|
+
from transformers.modeling_outputs import MoeModelOutputWithPast
|
9
|
+
from transformers.models.mixtral.modeling_mixtral import load_balancing_loss_func
|
10
|
+
from transformers.models.qwen3_moe.modeling_qwen3_moe import _CONFIG_FOR_DOC
|
11
|
+
from transformers.models.qwen3_moe.modeling_qwen3_moe import QWEN3_MOE_INPUTS_DOCSTRING
|
12
|
+
from transformers.utils import add_start_docstrings_to_model_forward
|
13
|
+
from transformers.utils import replace_return_docstrings
|
14
|
+
|
15
|
+
from liger_kernel.transformers.model.loss_utils import LigerForCausalLMLoss
|
16
|
+
|
17
|
+
|
18
|
+
@add_start_docstrings_to_model_forward(QWEN3_MOE_INPUTS_DOCSTRING)
|
19
|
+
@replace_return_docstrings(output_type=MoeCausalLMOutputWithPast, config_class=_CONFIG_FOR_DOC)
|
20
|
+
def lce_forward(
|
21
|
+
self,
|
22
|
+
input_ids: Optional[torch.LongTensor] = None,
|
23
|
+
attention_mask: Optional[torch.Tensor] = None,
|
24
|
+
position_ids: Optional[torch.LongTensor] = None,
|
25
|
+
past_key_values: Optional[List[torch.FloatTensor]] = None,
|
26
|
+
inputs_embeds: Optional[torch.FloatTensor] = None,
|
27
|
+
labels: Optional[torch.LongTensor] = None,
|
28
|
+
use_cache: Optional[bool] = None,
|
29
|
+
output_attentions: Optional[bool] = None,
|
30
|
+
output_hidden_states: Optional[bool] = None,
|
31
|
+
output_router_logits: Optional[bool] = None,
|
32
|
+
cache_position: Optional[torch.LongTensor] = None,
|
33
|
+
logits_to_keep: Union[int, torch.Tensor] = 0,
|
34
|
+
**loss_kwargs,
|
35
|
+
) -> MoeCausalLMOutputWithPast:
|
36
|
+
r"""
|
37
|
+
labels (`torch.LongTensor` of shape `(batch_size, sequence_length)`, *optional*):
|
38
|
+
Labels for computing the masked language modeling loss. Indices should either be in `[0, ...,
|
39
|
+
config.vocab_size]` or -100 (see `input_ids` docstring). Tokens with indices set to `-100` are ignored
|
40
|
+
(masked), the loss is only computed for the tokens with labels in `[0, ..., config.vocab_size]`.
|
41
|
+
|
42
|
+
logits_to_keep (`int` or `torch.Tensor`, *optional*):
|
43
|
+
If an `int`, compute logits for the last `logits_to_keep` tokens. If `0`, calculate logits for all
|
44
|
+
`input_ids` (special case). Only last token logits are needed for generation, and calculating them only for that
|
45
|
+
token can save memory, which becomes pretty significant for long sequences or large vocabulary size.
|
46
|
+
If a `torch.Tensor`, must be 1D corresponding to the indices to keep in the sequence length dimension.
|
47
|
+
This is useful when using packed tensor format (single dimension for batch and sequence length).
|
48
|
+
|
49
|
+
Returns:
|
50
|
+
|
51
|
+
Example:
|
52
|
+
|
53
|
+
```python
|
54
|
+
>>> from transformers import AutoTokenizer, Qwen3MoeForCausalLM
|
55
|
+
|
56
|
+
>>> model = Qwen3MoeForCausalLM.from_pretrained("Qwen/Qwen3-MoE-15B-A2B")
|
57
|
+
>>> tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen3-MoE-15B-A2B")
|
58
|
+
|
59
|
+
>>> prompt = "Hey, are you conscious? Can you talk to me?"
|
60
|
+
>>> inputs = tokenizer(prompt, return_tensors="pt")
|
61
|
+
|
62
|
+
>>> # Generate
|
63
|
+
>>> generate_ids = model.generate(inputs.input_ids, max_length=30)
|
64
|
+
>>> tokenizer.batch_decode(generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]
|
65
|
+
"Hey, are you conscious? Can you talk to me?\nI'm not conscious, but I can talk to you."
|
66
|
+
```"""
|
67
|
+
|
68
|
+
output_attentions = output_attentions if output_attentions is not None else self.config.output_attentions
|
69
|
+
output_router_logits = (
|
70
|
+
output_router_logits if output_router_logits is not None else self.config.output_router_logits
|
71
|
+
)
|
72
|
+
|
73
|
+
output_hidden_states = (
|
74
|
+
output_hidden_states if output_hidden_states is not None else self.config.output_hidden_states
|
75
|
+
)
|
76
|
+
|
77
|
+
# decoder outputs consists of (dec_features, layer_state, dec_hidden, dec_attn)
|
78
|
+
outputs: MoeModelOutputWithPast = self.model(
|
79
|
+
input_ids=input_ids,
|
80
|
+
attention_mask=attention_mask,
|
81
|
+
position_ids=position_ids,
|
82
|
+
past_key_values=past_key_values,
|
83
|
+
inputs_embeds=inputs_embeds,
|
84
|
+
use_cache=use_cache,
|
85
|
+
output_attentions=output_attentions,
|
86
|
+
output_hidden_states=output_hidden_states,
|
87
|
+
output_router_logits=output_router_logits,
|
88
|
+
cache_position=cache_position,
|
89
|
+
)
|
90
|
+
|
91
|
+
hidden_states = outputs.last_hidden_state
|
92
|
+
# Only compute necessary logits, and do not upcast them to float if we are not computing the loss
|
93
|
+
slice_indices = slice(-logits_to_keep, None) if isinstance(logits_to_keep, int) else logits_to_keep
|
94
|
+
kept_hidden_states = hidden_states[:, slice_indices, :]
|
95
|
+
|
96
|
+
shift_labels = loss_kwargs.pop("shift_labels", None)
|
97
|
+
logits = None
|
98
|
+
loss = None
|
99
|
+
|
100
|
+
# if in training mode, do not materialize logits
|
101
|
+
if self.training and (labels is not None or shift_labels is not None):
|
102
|
+
loss = LigerForCausalLMLoss(
|
103
|
+
hidden_states=kept_hidden_states,
|
104
|
+
lm_head_weight=self.lm_head.weight,
|
105
|
+
labels=labels,
|
106
|
+
shift_labels=shift_labels,
|
107
|
+
hidden_size=self.config.hidden_size,
|
108
|
+
**loss_kwargs,
|
109
|
+
)
|
110
|
+
else: # if in inference model materialize logits
|
111
|
+
logits = self.lm_head(kept_hidden_states)
|
112
|
+
if labels is not None:
|
113
|
+
loss = self.loss_function(logits, labels, self.vocab_size, **loss_kwargs)
|
114
|
+
|
115
|
+
aux_loss = None
|
116
|
+
if output_router_logits:
|
117
|
+
aux_loss = load_balancing_loss_func(
|
118
|
+
outputs.router_logits,
|
119
|
+
self.num_experts,
|
120
|
+
self.num_experts_per_tok,
|
121
|
+
attention_mask,
|
122
|
+
)
|
123
|
+
if labels is not None:
|
124
|
+
loss += self.router_aux_loss_coef * aux_loss.to(loss.device) # make sure to reside in the same device
|
125
|
+
|
126
|
+
return MoeCausalLMOutputWithPast(
|
127
|
+
loss=loss,
|
128
|
+
aux_loss=aux_loss,
|
129
|
+
logits=logits,
|
130
|
+
past_key_values=outputs.past_key_values,
|
131
|
+
hidden_states=outputs.hidden_states,
|
132
|
+
attentions=outputs.attentions,
|
133
|
+
router_logits=outputs.router_logits,
|
134
|
+
)
|
@@ -1102,6 +1102,61 @@ def apply_liger_kernel_to_qwen3(
|
|
1102
1102
|
_patch_rms_norm_module(decoder_layer.post_attention_layernorm)
|
1103
1103
|
|
1104
1104
|
|
1105
|
+
def apply_liger_kernel_to_qwen3_moe(
|
1106
|
+
rope: bool = True,
|
1107
|
+
cross_entropy: bool = False,
|
1108
|
+
fused_linear_cross_entropy: bool = True,
|
1109
|
+
rms_norm: bool = True,
|
1110
|
+
swiglu: bool = True,
|
1111
|
+
model: PreTrainedModel = None,
|
1112
|
+
) -> None:
|
1113
|
+
"""
|
1114
|
+
Apply Liger kernels to replace original implementation in HuggingFace Qwen3 models.
|
1115
|
+
"""
|
1116
|
+
assert not (cross_entropy and fused_linear_cross_entropy), (
|
1117
|
+
"cross_entropy and fused_linear_cross_entropy cannot both be True."
|
1118
|
+
)
|
1119
|
+
|
1120
|
+
from transformers.models.qwen3_moe import modeling_qwen3_moe
|
1121
|
+
from transformers.models.qwen3_moe.modeling_qwen3_moe import Qwen3MoeModel
|
1122
|
+
|
1123
|
+
from liger_kernel.transformers.model.qwen3_moe import lce_forward as qwen3_lce_forward
|
1124
|
+
from liger_kernel.transformers.swiglu import LigerQwen3MoeSwiGLUMLP
|
1125
|
+
|
1126
|
+
if rope:
|
1127
|
+
modeling_qwen3_moe.apply_rotary_pos_emb = liger_rotary_pos_emb
|
1128
|
+
|
1129
|
+
if rms_norm:
|
1130
|
+
modeling_qwen3_moe.Qwen3MoeRMSNorm = LigerRMSNorm
|
1131
|
+
|
1132
|
+
if cross_entropy:
|
1133
|
+
from transformers.loss.loss_utils import nn
|
1134
|
+
|
1135
|
+
nn.functional.cross_entropy = liger_cross_entropy
|
1136
|
+
|
1137
|
+
if fused_linear_cross_entropy:
|
1138
|
+
modeling_qwen3_moe.Qwen3MoeForCausalLM.forward = qwen3_lce_forward
|
1139
|
+
|
1140
|
+
if swiglu:
|
1141
|
+
modeling_qwen3_moe.Qwen3MoeMLP = LigerQwen3MoeSwiGLUMLP
|
1142
|
+
|
1143
|
+
if model is not None:
|
1144
|
+
# The model instance already exists, so we need to additionally patch the
|
1145
|
+
# instance variables that reference already-instantiated modules
|
1146
|
+
|
1147
|
+
# get the base model from the model instance
|
1148
|
+
base_model: Qwen3MoeModel = getattr(model, model.base_model_prefix, model)
|
1149
|
+
|
1150
|
+
if rms_norm:
|
1151
|
+
_patch_rms_norm_module(base_model.norm)
|
1152
|
+
for decoder_layer in base_model.layers:
|
1153
|
+
if swiglu:
|
1154
|
+
_patch_swiglu_module(decoder_layer.mlp, LigerQwen3MoeSwiGLUMLP)
|
1155
|
+
if rms_norm:
|
1156
|
+
_patch_rms_norm_module(decoder_layer.input_layernorm)
|
1157
|
+
_patch_rms_norm_module(decoder_layer.post_attention_layernorm)
|
1158
|
+
|
1159
|
+
|
1105
1160
|
def apply_liger_kernel_to_qwen2_vl(
|
1106
1161
|
rope: bool = True,
|
1107
1162
|
cross_entropy: bool = False,
|
@@ -1455,6 +1510,7 @@ MODEL_TYPE_TO_APPLY_LIGER_FN = {
|
|
1455
1510
|
"olmo2": apply_liger_kernel_to_olmo2,
|
1456
1511
|
"qwen2": apply_liger_kernel_to_qwen2,
|
1457
1512
|
"qwen3": apply_liger_kernel_to_qwen3,
|
1513
|
+
"qwen3_moe": apply_liger_kernel_to_qwen3_moe,
|
1458
1514
|
"qwen2_vl": apply_liger_kernel_to_qwen2_vl,
|
1459
1515
|
"qwen2_5_vl": apply_liger_kernel_to_qwen2_5_vl,
|
1460
1516
|
"phi3": apply_liger_kernel_to_phi3,
|
@@ -56,3 +56,24 @@ class LigerPhi3SwiGLUMLP(nn.Module):
|
|
56
56
|
up_states = self.gate_up_proj(x)
|
57
57
|
gate, up_states = up_states.chunk(2, dim=-1)
|
58
58
|
return self.down_proj(LigerSiLUMulFunction.apply(gate, up_states))
|
59
|
+
|
60
|
+
|
61
|
+
class LigerQwen3MoeSwiGLUMLP(nn.Module):
|
62
|
+
"""
|
63
|
+
Patch Qwen3MoeMLP to use LigerSiLUMulFunction.
|
64
|
+
https://github.com/huggingface/transformers/blob/v4.51.3/src/transformers/models/qwen3_moe/modular_qwen3_moe.py#L57
|
65
|
+
"""
|
66
|
+
|
67
|
+
def __init__(self, config, intermediate_size=None):
|
68
|
+
super().__init__()
|
69
|
+
self.config = config
|
70
|
+
self.hidden_size = config.hidden_size
|
71
|
+
self.intermediate_size = intermediate_size if intermediate_size is not None else config.intermediate_size
|
72
|
+
self.gate_proj = nn.Linear(self.hidden_size, self.intermediate_size, bias=False)
|
73
|
+
self.up_proj = nn.Linear(self.hidden_size, self.intermediate_size, bias=False)
|
74
|
+
self.down_proj = nn.Linear(self.intermediate_size, self.hidden_size, bias=False)
|
75
|
+
if config.hidden_act not in ["silu", "swish"]:
|
76
|
+
raise ValueError(f"Activation function {config.hidden_act} not supported.")
|
77
|
+
|
78
|
+
def forward(self, x):
|
79
|
+
return self.down_proj(LigerSiLUMulFunction.apply(self.gate_proj(x), self.up_proj(x)))
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: liger_kernel_nightly
|
3
|
-
Version: 0.5.9.
|
3
|
+
Version: 0.5.9.dev20250510102528
|
4
4
|
Summary: Efficient Triton kernels for LLM Training
|
5
5
|
License: BSD 2-CLAUSE LICENSE
|
6
6
|
Copyright 2024 LinkedIn Corporation
|
@@ -56,7 +56,6 @@ Requires-Dist: mkdocs-material; extra == "dev"
|
|
56
56
|
<th style="padding: 10px;" colspan="2">Stable</th>
|
57
57
|
<th style="padding: 10px;" colspan="2">Nightly</th>
|
58
58
|
<th style="padding: 10px;">Discord</th>
|
59
|
-
<th style="padding: 10px;">Build</th>
|
60
59
|
</tr>
|
61
60
|
<tr>
|
62
61
|
<td style="padding: 10px;">
|
@@ -84,23 +83,6 @@ Requires-Dist: mkdocs-material; extra == "dev"
|
|
84
83
|
<img src="https://dcbadge.vercel.app/api/server/gpumode?style=flat" alt="Join Our Discord">
|
85
84
|
</a>
|
86
85
|
</td>
|
87
|
-
<td style="padding: 10px;">
|
88
|
-
<div style="display: block;">
|
89
|
-
<a href="https://github.com/linkedin/Liger-Kernel/actions/workflows/nvi-ci.yml">
|
90
|
-
<img src="https://github.com/linkedin/Liger-Kernel/actions/workflows/nvi-ci.yml/badge.svg?event=schedule" alt="Build">
|
91
|
-
</a>
|
92
|
-
</div>
|
93
|
-
<div style="display: block;">
|
94
|
-
<a href="https://github.com/linkedin/Liger-Kernel/actions/workflows/amd-ci.yml">
|
95
|
-
<img src="https://github.com/linkedin/Liger-Kernel/actions/workflows/amd-ci.yml/badge.svg?event=schedule" alt="Build">
|
96
|
-
</a>
|
97
|
-
</div>
|
98
|
-
<div style="display: block;">
|
99
|
-
<a href="https://github.com/linkedin/Liger-Kernel/actions/workflows/amd-ci.yml">
|
100
|
-
<img src="https://github.com/linkedin/Liger-Kernel/actions/workflows/intel-ci.yml/badge.svg?event=schedule" alt="Build">
|
101
|
-
</a>
|
102
|
-
</div>
|
103
|
-
</td>
|
104
86
|
</tr>
|
105
87
|
</table>
|
106
88
|
|
@@ -318,6 +300,7 @@ loss.backward()
|
|
318
300
|
| Qwen2-VL, & QVQ | `liger_kernel.transformers.apply_liger_kernel_to_qwen2_vl` | RMSNorm, LayerNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
|
319
301
|
| Qwen2.5-VL | `liger_kernel.transformers.apply_liger_kernel_to_qwen2_5_vl` | RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
|
320
302
|
| Qwen3 | `liger_kernel.transformers.apply_liger_kernel_to_qwen3` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
|
303
|
+
| Qwen3 MoE | `liger_kernel_transformers.apply_liger_kernel_to_qwen3_moe` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
|
321
304
|
| Phi3 & Phi3.5 | `liger_kernel.transformers.apply_liger_kernel_to_phi3` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
|
322
305
|
| Granite 3.0 & 3.1 | `liger_kernel.transformers.apply_liger_kernel_to_granite` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss |
|
323
306
|
| OLMo2 | `liger_kernel.transformers.apply_liger_kernel_to_olmo2` | RoPE, RMSNorm, SwiGLU, CrossEntropyLoss, FusedLinearCrossEntropy |
|
@@ -387,6 +370,36 @@ loss.backward()
|
|
387
370
|
- [Axolotl](https://axolotl.ai/): Integrating Liger Kernel into Axolotl.
|
388
371
|
- [Llama-Factory](https://github.com/hiyouga/LLaMA-Factory): Integrating Liger Kernel into Llama-Factory.
|
389
372
|
|
373
|
+
|
374
|
+
## CI status
|
375
|
+
|
376
|
+
<table style="width: 100%; text-align: center; border-collapse: collapse;">
|
377
|
+
<tr>
|
378
|
+
<th style="padding: 10px;">Build</th>
|
379
|
+
</tr>
|
380
|
+
<tr>
|
381
|
+
<td style="padding: 10px;">
|
382
|
+
<div style="display: block;">
|
383
|
+
<a href="https://github.com/linkedin/Liger-Kernel/actions/workflows/nvi-ci.yml">
|
384
|
+
<img src="https://github.com/linkedin/Liger-Kernel/actions/workflows/nvi-ci.yml/badge.svg?event=schedule" alt="Build">
|
385
|
+
</a>
|
386
|
+
</div>
|
387
|
+
<div style="display: block;">
|
388
|
+
<a href="https://github.com/linkedin/Liger-Kernel/actions/workflows/amd-ci.yml">
|
389
|
+
<img src="https://github.com/linkedin/Liger-Kernel/actions/workflows/amd-ci.yml/badge.svg?event=schedule" alt="Build">
|
390
|
+
</a>
|
391
|
+
</div>
|
392
|
+
<div style="display: block;">
|
393
|
+
<a href="https://github.com/linkedin/Liger-Kernel/actions/workflows/amd-ci.yml">
|
394
|
+
<img src="https://github.com/linkedin/Liger-Kernel/actions/workflows/intel-ci.yml/badge.svg?event=schedule" alt="Build">
|
395
|
+
</a>
|
396
|
+
</div>
|
397
|
+
</td>
|
398
|
+
</tr>
|
399
|
+
</table>
|
400
|
+
|
401
|
+
|
402
|
+
|
390
403
|
## Contact
|
391
404
|
|
392
405
|
- For issues, create a Github ticket in this repository
|
@@ -15,6 +15,7 @@ setup.py
|
|
15
15
|
.github/workflows/nvi-ci.yml
|
16
16
|
.github/workflows/publish-nightly.yml
|
17
17
|
.github/workflows/publish-release.yml
|
18
|
+
.idea/workspace.xml
|
18
19
|
benchmark/README.md
|
19
20
|
benchmark/__init__.py
|
20
21
|
benchmark/benchmarks_visualizer.py
|
@@ -177,6 +178,7 @@ src/liger_kernel/transformers/model/qwen2.py
|
|
177
178
|
src/liger_kernel/transformers/model/qwen2_5_vl.py
|
178
179
|
src/liger_kernel/transformers/model/qwen2_vl.py
|
179
180
|
src/liger_kernel/transformers/model/qwen3.py
|
181
|
+
src/liger_kernel/transformers/model/qwen3_moe.py
|
180
182
|
src/liger_kernel/transformers/trainer/__init__.py
|
181
183
|
src/liger_kernel/transformers/trainer/orpo_trainer.py
|
182
184
|
src/liger_kernel/triton/__init__.py
|