liger-kernel-nightly 0.5.3.dev20250220002340__tar.gz → 0.5.3.dev20250220195514__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/Makefile +4 -2
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/PKG-INFO +1 -1
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/lightning/training.py +1 -1
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/medusa/callback.py +3 -3
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/pyproject.toml +1 -1
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/ops/cross_entropy.py +3 -3
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/ops/fused_linear_cross_entropy.py +3 -3
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/ops/fused_linear_jsd.py +3 -3
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/ops/jsd.py +3 -3
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/ops/layer_norm.py +3 -3
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/ops/utils.py +1 -2
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/transformers/cross_entropy.py +3 -3
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/transformers/fused_linear_cross_entropy.py +3 -3
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/transformers/group_norm.py +6 -6
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/transformers/monkey_patch.py +27 -27
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel_nightly.egg-info/PKG-INFO +1 -1
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/chunked_loss/test_grpo_loss.py +1 -1
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/convergence/bf16/test_mini_models_multimodal.py +1 -1
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/convergence/bf16/test_mini_models_with_logits.py +1 -3
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/convergence/fp32/test_mini_models_multimodal.py +1 -2
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/convergence/fp32/test_mini_models_with_logits.py +1 -1
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/transformers/test_monkey_patch.py +3 -3
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/transformers/test_qwen2vl_mrope.py +3 -2
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/triton/test_triton_monkey_patch.py +3 -3
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/.github/pull_request_template.md +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/.github/workflows/amd-ci.yml +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/.github/workflows/docs.yml +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/.github/workflows/intel-ci.yml +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/.github/workflows/nvi-ci.yml +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/.github/workflows/publish-nightly.yml +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/.github/workflows/publish-release.yml +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/.gitignore +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/LICENSE +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/NOTICE +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/README.md +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/benchmark/README.md +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/benchmark/__init__.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/benchmark/benchmarks_visualizer.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/benchmark/data/all_benchmark_data.csv +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/benchmark/scripts/__init__.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/benchmark/scripts/benchmark_cpo_loss.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/benchmark/scripts/benchmark_cross_entropy.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/benchmark/scripts/benchmark_distill_jsd_loss.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/benchmark/scripts/benchmark_dpo_loss.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/benchmark/scripts/benchmark_embedding.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/benchmark/scripts/benchmark_fused_linear_cross_entropy.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/benchmark/scripts/benchmark_fused_linear_jsd.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/benchmark/scripts/benchmark_geglu.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/benchmark/scripts/benchmark_group_norm.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/benchmark/scripts/benchmark_jsd.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/benchmark/scripts/benchmark_kl_div.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/benchmark/scripts/benchmark_kto_loss.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/benchmark/scripts/benchmark_layer_norm.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/benchmark/scripts/benchmark_orpo_loss.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/benchmark/scripts/benchmark_qwen2vl_mrope.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/benchmark/scripts/benchmark_rms_norm.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/benchmark/scripts/benchmark_rope.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/benchmark/scripts/benchmark_simpo_loss.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/benchmark/scripts/benchmark_swiglu.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/benchmark/scripts/utils.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/dev/fmt-requirements.txt +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/dev/modal/tests.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/dev/modal/tests_bwd.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/docs/Examples.md +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/docs/Getting-Started.md +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/docs/High-Level-APIs.md +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/docs/Low-Level-APIs.md +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/docs/acknowledgement.md +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/docs/contributing.md +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/docs/images/banner.GIF +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/docs/images/compose.gif +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/docs/images/e2e-memory.png +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/docs/images/e2e-tps.png +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/docs/images/logo-banner.png +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/docs/images/patch.gif +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/docs/images/post-training.png +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/docs/index.md +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/docs/license.md +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/alignment/accelerate_config.yaml +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/alignment/run_orpo.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/huggingface/README.md +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/huggingface/callback.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/huggingface/config/fsdp_config.json +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/huggingface/img/gemma_7b_mem.png +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/huggingface/img/gemma_7b_tp.png +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/huggingface/img/llama_mem_alloc.png +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/huggingface/img/llama_tps.png +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/huggingface/img/qwen_mem_alloc.png +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/huggingface/img/qwen_tps.png +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/huggingface/launch_on_modal.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/huggingface/requirements.txt +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/huggingface/run_benchmarks.sh +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/huggingface/run_gemma.sh +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/huggingface/run_llama.sh +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/huggingface/run_qwen.sh +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/huggingface/run_qwen2_vl.sh +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/huggingface/training.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/huggingface/training_multimodal.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/lightning/README.md +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/lightning/requirements.txt +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/medusa/README.md +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/medusa/docs/images/Memory_Stage1_num_head_3.png +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/medusa/docs/images/Memory_Stage1_num_head_5.png +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/medusa/docs/images/Memory_Stage2_num_head_3.png +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/medusa/docs/images/Memory_Stage2_num_head_5.png +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/medusa/docs/images/Throughput_Stage1_num_head_3.png +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/medusa/docs/images/Throughput_Stage1_num_head_5.png +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/medusa/docs/images/Throughput_Stage2_num_head_3.png +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/medusa/docs/images/Throughput_Stage2_num_head_5.png +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/medusa/fsdp/acc-fsdp.conf +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/medusa/medusa_util.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/medusa/requirements.txt +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/medusa/scripts/llama3_8b_medusa.sh +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/examples/medusa/train.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/licenses/LICENSE-Apache-2.0 +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/licenses/LICENSE-MIT-AutoAWQ +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/licenses/LICENSE-MIT-Efficient-Cross-Entropy +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/licenses/LICENSE-MIT-llmc +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/licenses/LICENSE-MIT-triton +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/mkdocs.yml +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/setup.cfg +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/setup.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/__init__.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/chunked_loss/README.md +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/chunked_loss/__init__.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/chunked_loss/cpo_loss.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/chunked_loss/dpo_loss.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/chunked_loss/functional.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/chunked_loss/fused_linear_distillation.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/chunked_loss/fused_linear_preference.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/chunked_loss/fused_linear_rlhf.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/chunked_loss/fused_linear_unpaired_preference.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/chunked_loss/grpo_loss.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/chunked_loss/jsd_loss.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/chunked_loss/kto_loss.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/chunked_loss/orpo_loss.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/chunked_loss/simpo_loss.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/env_report.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/ops/__init__.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/ops/experimental/embedding.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/ops/experimental/mm_int8int2.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/ops/geglu.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/ops/group_norm.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/ops/kl_div.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/ops/qwen2vl_mrope.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/ops/rms_norm.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/ops/rope.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/ops/swiglu.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/transformers/__init__.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/transformers/auto_model.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/transformers/experimental/embedding.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/transformers/functional.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/transformers/fused_linear_jsd.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/transformers/geglu.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/transformers/jsd.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/transformers/kl_div.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/transformers/layer_norm.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/transformers/model/__init__.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/transformers/model/gemma.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/transformers/model/gemma2.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/transformers/model/llama.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/transformers/model/mistral.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/transformers/model/mixtral.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/transformers/model/mllama.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/transformers/model/phi3.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/transformers/model/qwen2.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/transformers/model/qwen2_vl.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/transformers/qwen2vl_mrope.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/transformers/rms_norm.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/transformers/rope.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/transformers/swiglu.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/transformers/trainer/__init__.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/transformers/trainer/orpo_trainer.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/transformers/trainer_integration.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/triton/__init__.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/triton/monkey_patch.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel/utils.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel_nightly.egg-info/SOURCES.txt +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel_nightly.egg-info/dependency_links.txt +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel_nightly.egg-info/requires.txt +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/src/liger_kernel_nightly.egg-info/top_level.txt +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/__init__.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/chunked_loss/__init__.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/chunked_loss/test_cpo_loss.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/chunked_loss/test_dpo_loss.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/chunked_loss/test_jsd_loss.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/chunked_loss/test_kto_loss.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/chunked_loss/test_orpo_loss.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/chunked_loss/test_simpo_loss.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/conftest.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/convergence/__init__.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/convergence/bf16/__init__.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/convergence/bf16/test_mini_models.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/convergence/fp32/__init__.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/convergence/fp32/test_mini_models.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/resources/fake_configs/Qwen/Qwen2-VL-7B-Instruct/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/resources/fake_configs/meta-llama/Llama-3.2-11B-Vision-Instruct/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/resources/scripts/generate_tokenized_dataset.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/resources/tiny_shakespeare.txt +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/resources/tiny_shakespeare_tokenized/data-00000-of-00001.arrow +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/resources/tiny_shakespeare_tokenized/dataset_info.json +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/resources/tiny_shakespeare_tokenized/state.json +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/transformers/test_auto_model.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/transformers/test_cross_entropy.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/transformers/test_embedding.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/transformers/test_fused_linear_cross_entropy.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/transformers/test_fused_linear_jsd.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/transformers/test_geglu.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/transformers/test_group_norm.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/transformers/test_jsd.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/transformers/test_kl_div.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/transformers/test_layer_norm.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/transformers/test_mm_int8int2.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/transformers/test_rms_norm.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/transformers/test_rope.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/transformers/test_swiglu.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/transformers/test_trainer_integration.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/transformers/test_transformers.py +0 -0
- {liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/test/utils.py +0 -0
@@ -9,8 +9,10 @@ test:
|
|
9
9
|
|
10
10
|
# Command to run ruff for linting and formatting code
|
11
11
|
checkstyle:
|
12
|
-
ruff check
|
13
|
-
ruff format .; ruff_format_status=$$?; \
|
12
|
+
ruff check .; ruff_check_status=$$?; \
|
13
|
+
ruff format --check .; ruff_format_status=$$?; \
|
14
|
+
ruff check . --fix; \
|
15
|
+
ruff format .; \
|
14
16
|
if [ $$ruff_check_status -ne 0 ] || [ $$ruff_format_status -ne 0 ]; then \
|
15
17
|
exit 1; \
|
16
18
|
fi
|
@@ -158,7 +158,7 @@ class DataModule(pl.LightningDataModule):
|
|
158
158
|
for i in range(len(example["question"])):
|
159
159
|
choices = ""
|
160
160
|
for j in range(len(example["choices"][i])):
|
161
|
-
choices += f"{j+1}. {example['choices'][i][j]}; "
|
161
|
+
choices += f"{j + 1}. {example['choices'][i][j]}; "
|
162
162
|
s = "Below is a question and multiple choice answers, choices separated by a semicolon. Please select the best answer for the question. "
|
163
163
|
s += f"{QUESTION}{example['question'][i]} "
|
164
164
|
s += f"{CHOICES}{choices} "
|
@@ -352,9 +352,9 @@ class EfficiencyCallback(transformers.TrainerCallback):
|
|
352
352
|
else:
|
353
353
|
return world_size
|
354
354
|
|
355
|
-
assert (
|
356
|
-
|
357
|
-
)
|
355
|
+
assert world_size != 0, (
|
356
|
+
"WORLD_SIZE should be set to a positive integer. For single GPU training, please explicitly set WORLD_SIZE=1."
|
357
|
+
)
|
358
358
|
|
359
359
|
# TODO: add deepspeed support
|
360
360
|
return world_size
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
4
4
|
|
5
5
|
[project]
|
6
6
|
name = "liger_kernel_nightly"
|
7
|
-
version = "0.5.3.
|
7
|
+
version = "0.5.3.dev20250220195514"
|
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" }
|
@@ -289,9 +289,9 @@ def cross_entropy_forward(
|
|
289
289
|
weight_sum = 0.0
|
290
290
|
if weight is not None:
|
291
291
|
assert weight.shape[0] == V, f"If given, weight has to be a Tensor of size V. Got: {weight.shape}"
|
292
|
-
assert torch.is_floating_point(
|
293
|
-
weight
|
294
|
-
)
|
292
|
+
assert torch.is_floating_point(weight), (
|
293
|
+
f"If given, weight has to be a Tensor of floating point dtype. Got: {weight.dtype}"
|
294
|
+
)
|
295
295
|
sum_non_ignore_weight = torch.gather(weight, dim=0, index=target.masked_select(target_mask)).sum().item()
|
296
296
|
weight_sum = weight.sum().item()
|
297
297
|
# ensure weight is contiguous
|
@@ -58,9 +58,9 @@ def fused_linear_cross_entropy_forward(
|
|
58
58
|
ce_weight_sum = 0.0
|
59
59
|
if ce_weight is not None:
|
60
60
|
assert ce_weight.shape[0] == V, f"If given, weight has to be a Tensor of size V. Got: {ce_weight.shape}"
|
61
|
-
assert torch.is_floating_point(
|
62
|
-
ce_weight
|
63
|
-
)
|
61
|
+
assert torch.is_floating_point(ce_weight), (
|
62
|
+
f"If given, weight has to be a Tensor of floating point dtype. Got: {ce_weight.dtype}"
|
63
|
+
)
|
64
64
|
total_sum_non_ignore_ce_weight = (
|
65
65
|
torch.gather(ce_weight, dim=0, index=target.masked_select(target_mask)).sum().item()
|
66
66
|
)
|
@@ -195,9 +195,9 @@ class LigerFusedLinearJSDFunction(torch.autograd.Function):
|
|
195
195
|
"""
|
196
196
|
has_label = False
|
197
197
|
if shift_labels is not None:
|
198
|
-
assert shift_labels.shape == (
|
199
|
-
|
200
|
-
)
|
198
|
+
assert shift_labels.shape == (teacher_input.shape[0],), (
|
199
|
+
f"the shape of shift_labels must be (BT,). Got: {shift_labels.shape}"
|
200
|
+
)
|
201
201
|
shift_labels = shift_labels.contiguous()
|
202
202
|
has_label = True
|
203
203
|
|
@@ -157,9 +157,9 @@ class LigerJSDFunction(torch.autograd.Function):
|
|
157
157
|
"""
|
158
158
|
has_label = False
|
159
159
|
if shift_labels is not None:
|
160
|
-
assert shift_labels.shape == (
|
161
|
-
|
162
|
-
)
|
160
|
+
assert shift_labels.shape == (_input.shape[0],), (
|
161
|
+
f"the shape of shift_labels must be (BT,). Got: {shift_labels.shape}"
|
162
|
+
)
|
163
163
|
shift_labels = shift_labels.contiguous()
|
164
164
|
has_label = True
|
165
165
|
|
@@ -147,9 +147,9 @@ def layer_norm_forward(X, W, B, eps):
|
|
147
147
|
Y = torch.empty((n_rows, n_cols), dtype=X.dtype, device=X.device)
|
148
148
|
Mean = torch.empty(n_rows, dtype=X.dtype, device=X.device)
|
149
149
|
RSTD = torch.empty(n_rows, dtype=X.dtype, device=X.device)
|
150
|
-
assert (
|
151
|
-
X.shape[1]
|
152
|
-
)
|
150
|
+
assert X.shape[1] == W.shape[0], (
|
151
|
+
f"Incompatible hidden size dimension between input tensor with shape[1] = {X.shape[1]} and weight tensor with shape[0] = {W.shape[0]}"
|
152
|
+
)
|
153
153
|
|
154
154
|
_layer_norm_forward_kernel[(n_rows,)](
|
155
155
|
Y,
|
@@ -49,8 +49,7 @@ def calculate_settings(n):
|
|
49
49
|
BLOCK_SIZE = triton.next_power_of_2(n)
|
50
50
|
if BLOCK_SIZE > MAX_FUSED_SIZE:
|
51
51
|
raise RuntimeError(
|
52
|
-
f"Cannot launch Triton kernel since n = {n} exceeds "
|
53
|
-
f"the recommended Triton blocksize = {MAX_FUSED_SIZE}."
|
52
|
+
f"Cannot launch Triton kernel since n = {n} exceeds the recommended Triton blocksize = {MAX_FUSED_SIZE}."
|
54
53
|
)
|
55
54
|
|
56
55
|
num_warps = 4
|
@@ -17,9 +17,9 @@ class LigerCrossEntropyLoss(torch.nn.Module):
|
|
17
17
|
return_z_loss: bool = False,
|
18
18
|
):
|
19
19
|
super().__init__()
|
20
|
-
assert (label_smoothing >= 0) and (
|
21
|
-
label_smoothing
|
22
|
-
)
|
20
|
+
assert (label_smoothing >= 0) and (label_smoothing <= 1), (
|
21
|
+
f"label_smoothing must be between 0.0 and 1.0. Got: {label_smoothing}"
|
22
|
+
)
|
23
23
|
assert reduction in {
|
24
24
|
"mean",
|
25
25
|
"sum",
|
@@ -17,9 +17,9 @@ class LigerFusedLinearCrossEntropyLoss(torch.nn.Module):
|
|
17
17
|
return_z_loss: bool = False,
|
18
18
|
):
|
19
19
|
super().__init__()
|
20
|
-
assert (label_smoothing >= 0) and (
|
21
|
-
label_smoothing
|
22
|
-
)
|
20
|
+
assert (label_smoothing >= 0) and (label_smoothing <= 1), (
|
21
|
+
f"label_smoothing must be between 0.0 and 1.0. Got: {label_smoothing}"
|
22
|
+
)
|
23
23
|
assert reduction in {
|
24
24
|
"mean",
|
25
25
|
"sum",
|
@@ -21,9 +21,9 @@ class LigerGroupNorm(nn.Module):
|
|
21
21
|
"zeros",
|
22
22
|
], f"init_fn must be either 'ones' or 'zeros', got {init_fn}"
|
23
23
|
|
24
|
-
assert (
|
25
|
-
num_channels
|
26
|
-
)
|
24
|
+
assert num_channels % num_groups == 0, (
|
25
|
+
f"Number of channels {num_channels} must be divisible by num_groups {num_groups}"
|
26
|
+
)
|
27
27
|
self.num_channels = num_channels
|
28
28
|
self.num_groups = num_groups
|
29
29
|
self.eps = eps
|
@@ -34,9 +34,9 @@ class LigerGroupNorm(nn.Module):
|
|
34
34
|
def forward(self, hidden_states):
|
35
35
|
# hidden_states: (batch_size, num_channels, *)
|
36
36
|
assert hidden_states.dim() >= 3, f"Input must have atleast 3 dimensions, got {hidden_states.dim()}"
|
37
|
-
assert (
|
38
|
-
hidden_states.size(1)
|
39
|
-
)
|
37
|
+
assert hidden_states.size(1) == self.num_channels, (
|
38
|
+
f"Input tensor must have {self.num_channels} channels, got {hidden_states.size(1)}"
|
39
|
+
)
|
40
40
|
return LigerGroupNormFunction.apply(
|
41
41
|
hidden_states,
|
42
42
|
self.weight,
|
@@ -85,9 +85,9 @@ def apply_liger_kernel_to_llama(
|
|
85
85
|
loaded. Default is None.
|
86
86
|
"""
|
87
87
|
|
88
|
-
assert not (
|
89
|
-
cross_entropy and fused_linear_cross_entropy
|
90
|
-
)
|
88
|
+
assert not (cross_entropy and fused_linear_cross_entropy), (
|
89
|
+
"cross_entropy and fused_linear_cross_entropy cannot both be True."
|
90
|
+
)
|
91
91
|
|
92
92
|
from transformers.models.llama import modeling_llama
|
93
93
|
from transformers.models.llama.modeling_llama import LlamaModel
|
@@ -159,9 +159,9 @@ def apply_liger_kernel_to_mllama(
|
|
159
159
|
loaded. Default is None.
|
160
160
|
"""
|
161
161
|
|
162
|
-
assert not (
|
163
|
-
cross_entropy and fused_linear_cross_entropy
|
164
|
-
)
|
162
|
+
assert not (cross_entropy and fused_linear_cross_entropy), (
|
163
|
+
"cross_entropy and fused_linear_cross_entropy cannot both be True."
|
164
|
+
)
|
165
165
|
|
166
166
|
from transformers.models.mllama import modeling_mllama
|
167
167
|
from transformers.models.mllama.modeling_mllama import MllamaForCausalLM
|
@@ -261,9 +261,9 @@ def apply_liger_kernel_to_mistral(
|
|
261
261
|
model (PreTrainedModel): The model instance to apply Liger kernels to, if the model has already been
|
262
262
|
loaded. Default is None.
|
263
263
|
"""
|
264
|
-
assert not (
|
265
|
-
cross_entropy and fused_linear_cross_entropy
|
266
|
-
)
|
264
|
+
assert not (cross_entropy and fused_linear_cross_entropy), (
|
265
|
+
"cross_entropy and fused_linear_cross_entropy cannot both be True."
|
266
|
+
)
|
267
267
|
|
268
268
|
from transformers.models.mistral import modeling_mistral
|
269
269
|
from transformers.models.mistral.modeling_mistral import MistralModel
|
@@ -321,9 +321,9 @@ def apply_liger_kernel_to_mixtral(
|
|
321
321
|
loaded. Default is None.
|
322
322
|
"""
|
323
323
|
|
324
|
-
assert not (
|
325
|
-
cross_entropy and fused_linear_cross_entropy
|
326
|
-
)
|
324
|
+
assert not (cross_entropy and fused_linear_cross_entropy), (
|
325
|
+
"cross_entropy and fused_linear_cross_entropy cannot both be True."
|
326
|
+
)
|
327
327
|
|
328
328
|
from transformers.models.mixtral import modeling_mixtral
|
329
329
|
from transformers.models.mixtral.modeling_mixtral import MixtralModel
|
@@ -393,9 +393,9 @@ def apply_liger_kernel_to_gemma(
|
|
393
393
|
model (PreTrainedModel): The model instance to apply Liger kernels to, if the model has already been
|
394
394
|
loaded. Default is None.
|
395
395
|
"""
|
396
|
-
assert not (
|
397
|
-
cross_entropy and fused_linear_cross_entropy
|
398
|
-
)
|
396
|
+
assert not (cross_entropy and fused_linear_cross_entropy), (
|
397
|
+
"cross_entropy and fused_linear_cross_entropy cannot both be True."
|
398
|
+
)
|
399
399
|
|
400
400
|
from transformers.models.gemma import modeling_gemma
|
401
401
|
from transformers.models.gemma.modeling_gemma import GemmaModel
|
@@ -467,9 +467,9 @@ def apply_liger_kernel_to_gemma2(
|
|
467
467
|
model (PreTrainedModel): The model instance to apply Liger kernels to, if the model has already been
|
468
468
|
loaded. Default is None.
|
469
469
|
"""
|
470
|
-
assert not (
|
471
|
-
cross_entropy and fused_linear_cross_entropy
|
472
|
-
)
|
470
|
+
assert not (cross_entropy and fused_linear_cross_entropy), (
|
471
|
+
"cross_entropy and fused_linear_cross_entropy cannot both be True."
|
472
|
+
)
|
473
473
|
|
474
474
|
from transformers.models.gemma2 import modeling_gemma2
|
475
475
|
from transformers.models.gemma2.modeling_gemma2 import Gemma2Model
|
@@ -544,9 +544,9 @@ def apply_liger_kernel_to_qwen2(
|
|
544
544
|
model (PreTrainedModel): The model instance to apply Liger kernels to, if the model has already been
|
545
545
|
loaded. Default is None.
|
546
546
|
"""
|
547
|
-
assert not (
|
548
|
-
cross_entropy and fused_linear_cross_entropy
|
549
|
-
)
|
547
|
+
assert not (cross_entropy and fused_linear_cross_entropy), (
|
548
|
+
"cross_entropy and fused_linear_cross_entropy cannot both be True."
|
549
|
+
)
|
550
550
|
|
551
551
|
from transformers.models.qwen2 import modeling_qwen2
|
552
552
|
from transformers.models.qwen2.modeling_qwen2 import Qwen2Model
|
@@ -619,9 +619,9 @@ def apply_liger_kernel_to_qwen2_vl(
|
|
619
619
|
model (PreTrainedModel): The model instance to apply Liger kernels to, if the model has already been
|
620
620
|
loaded. Default is None.
|
621
621
|
"""
|
622
|
-
assert not (
|
623
|
-
cross_entropy and fused_linear_cross_entropy
|
624
|
-
)
|
622
|
+
assert not (cross_entropy and fused_linear_cross_entropy), (
|
623
|
+
"cross_entropy and fused_linear_cross_entropy cannot both be True."
|
624
|
+
)
|
625
625
|
|
626
626
|
from transformers.models.qwen2_vl import modeling_qwen2_vl
|
627
627
|
from transformers.models.qwen2_vl.modeling_qwen2_vl import Qwen2VLModel
|
@@ -689,9 +689,9 @@ def apply_liger_kernel_to_phi3(
|
|
689
689
|
model (PreTrainedModel): The model instance to apply Liger kernels to, if the model has already been
|
690
690
|
loaded. Default is None.
|
691
691
|
"""
|
692
|
-
assert not (
|
693
|
-
cross_entropy and fused_linear_cross_entropy
|
694
|
-
)
|
692
|
+
assert not (cross_entropy and fused_linear_cross_entropy), (
|
693
|
+
"cross_entropy and fused_linear_cross_entropy cannot both be True."
|
694
|
+
)
|
695
695
|
|
696
696
|
from transformers.models.phi3 import modeling_phi3
|
697
697
|
from transformers.models.phi3.modeling_phi3 import Phi3Model
|
@@ -96,7 +96,7 @@ class TorchLMHeadGRPO(torch.nn.Module):
|
|
96
96
|
per_token_loss = -(per_token_loss - self.beta * kl_div)
|
97
97
|
|
98
98
|
# Apply masking and normalize
|
99
|
-
loss = (
|
99
|
+
loss = (per_token_loss * attention_mask).sum() / attention_mask.sum()
|
100
100
|
|
101
101
|
# Compute metrics
|
102
102
|
metrics = (
|
@@ -426,7 +426,7 @@ def run_mini_model(
|
|
426
426
|
kwargs["swiglu"] = True
|
427
427
|
|
428
428
|
kwargs["fused_linear_cross_entropy"] = False
|
429
|
-
kwargs["cross_entropy"] =
|
429
|
+
kwargs["cross_entropy"] = False
|
430
430
|
|
431
431
|
MINI_MODEL_SETUPS[model_name].liger_kernel_patch_func(**kwargs)
|
432
432
|
else:
|
@@ -634,8 +634,6 @@ def test_mini_model(
|
|
634
634
|
rtol=loss_rtol,
|
635
635
|
)
|
636
636
|
|
637
|
-
# No logits are materialized
|
638
|
-
# import pdb; pdb.set_trace()
|
639
637
|
# Compare the logits from the last step
|
640
638
|
assert_verbose_allclose(
|
641
639
|
expected_output["logits"],
|
@@ -295,7 +295,7 @@ def run_mini_model_multimodal(
|
|
295
295
|
kwargs = {
|
296
296
|
"rope": True,
|
297
297
|
"rms_norm": True,
|
298
|
-
"cross_entropy":
|
298
|
+
"cross_entropy": False,
|
299
299
|
"layer_norm": True,
|
300
300
|
}
|
301
301
|
|
@@ -327,7 +327,6 @@ def run_mini_model_multimodal(
|
|
327
327
|
print(f"Step {i}, Loss: {output.loss.item()}")
|
328
328
|
loss_list.append(output.loss.item())
|
329
329
|
|
330
|
-
MINI_MODEL_SETUPS[model_name].liger_kernel_patch_revert_func(**revert_kwargs)
|
331
330
|
return {"loss": loss_list, "logits": output.logits, "model": model}
|
332
331
|
|
333
332
|
|
@@ -425,7 +425,7 @@ def run_mini_model(
|
|
425
425
|
kwargs["swiglu"] = True
|
426
426
|
|
427
427
|
kwargs["fused_linear_cross_entropy"] = False
|
428
|
-
kwargs["cross_entropy"] =
|
428
|
+
kwargs["cross_entropy"] = False
|
429
429
|
|
430
430
|
MINI_MODEL_SETUPS[model_name].liger_kernel_patch_func(**kwargs)
|
431
431
|
else:
|
@@ -216,9 +216,9 @@ def test_patching_apis_support_patching_model_instance():
|
|
216
216
|
for func in patching_functions:
|
217
217
|
sig = inspect.signature(func)
|
218
218
|
# Ensure 'model' is in the parameters
|
219
|
-
assert (
|
220
|
-
"model
|
221
|
-
)
|
219
|
+
assert "model" in sig.parameters, (
|
220
|
+
f"{func.__name__} does not have 'model' as an argument. All patching methods must support patching an existing model instance."
|
221
|
+
)
|
222
222
|
|
223
223
|
|
224
224
|
def test_apply_liger_kernel_to_instance_for_llama():
|
@@ -4,6 +4,7 @@ import torch
|
|
4
4
|
from test.utils import supports_bfloat16
|
5
5
|
|
6
6
|
try:
|
7
|
+
from transformers.models.qwen2_vl.configuration_qwen2_vl import Qwen2VLConfig
|
7
8
|
from transformers.models.qwen2_vl.modeling_qwen2_vl import Qwen2VLRotaryEmbedding
|
8
9
|
from transformers.models.qwen2_vl.modeling_qwen2_vl import apply_multimodal_rotary_pos_emb
|
9
10
|
|
@@ -44,7 +45,7 @@ device = infer_device()
|
|
44
45
|
],
|
45
46
|
)
|
46
47
|
def test_correctness(bsz, seq_len, num_q_heads, num_kv_heads, head_dim, mrope_section, dtype, atol, rtol):
|
47
|
-
rotary_emb = Qwen2VLRotaryEmbedding(head_dim, device=device)
|
48
|
+
rotary_emb = Qwen2VLRotaryEmbedding(config=Qwen2VLConfig(head_dim=head_dim), device=device)
|
48
49
|
|
49
50
|
_tensor_q = torch.randn((bsz, seq_len, num_q_heads, head_dim), device=device).transpose(1, 2).to(dtype)
|
50
51
|
|
@@ -104,7 +105,7 @@ def test_functional_correctness(bsz, seq_len, num_q_heads, num_kv_heads, head_di
|
|
104
105
|
k1 = _k.clone().requires_grad_(True)
|
105
106
|
k2 = _k.clone().requires_grad_(True)
|
106
107
|
|
107
|
-
rotary_emb = Qwen2VLRotaryEmbedding(head_dim, device=device)
|
108
|
+
rotary_emb = Qwen2VLRotaryEmbedding(config=Qwen2VLConfig(head_dim=head_dim), device=device)
|
108
109
|
|
109
110
|
pos_ids = torch.arange(seq_len * 3 * bsz, device=device, dtype=torch.long).view(3, bsz, seq_len)
|
110
111
|
cos, sin = rotary_emb(k1, pos_ids)
|
@@ -24,6 +24,6 @@ def test_import_custom_cache_manager():
|
|
24
24
|
cache_manager = get_cache_manager(key=random_hex_key)
|
25
25
|
from liger_kernel.triton.monkey_patch import LigerTritonFileCacheManager
|
26
26
|
|
27
|
-
assert isinstance(
|
28
|
-
|
29
|
-
)
|
27
|
+
assert isinstance(cache_manager, LigerTritonFileCacheManager), (
|
28
|
+
"Cache manager should have been LigerTritonFileCacheManager"
|
29
|
+
)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{liger_kernel_nightly-0.5.3.dev20250220002340 → liger_kernel_nightly-0.5.3.dev20250220195514}/NOTICE
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|