liger-kernel-nightly 0.5.2.dev20241219211841__tar.gz → 0.5.2.dev20241220220835__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/PKG-INFO +1 -1
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/pyproject.toml +1 -1
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/chunked_loss/cpo_loss.py +15 -3
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/chunked_loss/dpo_loss.py +2 -2
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/chunked_loss/simpo_loss.py +18 -3
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel_nightly.egg-info/PKG-INFO +1 -1
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/chunked_loss/test_cpo_loss.py +23 -2
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/chunked_loss/test_dpo_loss.py +60 -9
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/chunked_loss/test_simpo_loss.py +22 -2
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/utils.py +7 -3
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/.flake8 +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/.github/pull_request_template.md +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/.github/workflows/amd-ci.yml +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/.github/workflows/nvi-ci.yml +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/.github/workflows/publish-nightly.yml +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/.github/workflows/publish-release.yml +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/.gitignore +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/.isort.cfg +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/LICENSE +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/Makefile +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/NOTICE +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/README.md +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/benchmark/__init__.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/benchmark/benchmarks_visualizer.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/benchmark/data/all_benchmark_data.csv +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/benchmark/scripts/__init__.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/benchmark/scripts/benchmark_cpo_loss.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/benchmark/scripts/benchmark_cross_entropy.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/benchmark/scripts/benchmark_dpo_loss.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/benchmark/scripts/benchmark_embedding.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/benchmark/scripts/benchmark_fused_linear_cross_entropy.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/benchmark/scripts/benchmark_fused_linear_jsd.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/benchmark/scripts/benchmark_geglu.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/benchmark/scripts/benchmark_group_norm.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/benchmark/scripts/benchmark_jsd.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/benchmark/scripts/benchmark_kl_div.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/benchmark/scripts/benchmark_layer_norm.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/benchmark/scripts/benchmark_orpo_loss.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/benchmark/scripts/benchmark_qwen2vl_mrope.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/benchmark/scripts/benchmark_rms_norm.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/benchmark/scripts/benchmark_rope.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/benchmark/scripts/benchmark_simpo_loss.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/benchmark/scripts/benchmark_swiglu.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/benchmark/scripts/utils.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/dev/fmt-requirements.txt +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/dev/modal/tests.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/dev/modal/tests_bwd.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/docs/Acknowledgement.md +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/docs/CONTRIBUTING.md +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/docs/License.md +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/docs/images/banner.GIF +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/docs/images/compose.gif +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/docs/images/e2e-memory.png +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/docs/images/e2e-tps.png +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/docs/images/logo-banner.png +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/docs/images/patch.gif +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/docs/images/post-training.png +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/alignment/accelerate_config.yaml +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/alignment/run_orpo.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/huggingface/README.md +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/huggingface/callback.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/huggingface/config/fsdp_config.json +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/huggingface/img/gemma_7b_mem.png +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/huggingface/img/gemma_7b_tp.png +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/huggingface/img/llama_mem_alloc.png +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/huggingface/img/llama_tps.png +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/huggingface/img/qwen_mem_alloc.png +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/huggingface/img/qwen_tps.png +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/huggingface/launch_on_modal.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/huggingface/requirements.txt +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/huggingface/run_benchmarks.sh +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/huggingface/run_gemma.sh +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/huggingface/run_llama.sh +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/huggingface/run_qwen.sh +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/huggingface/run_qwen2_vl.sh +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/huggingface/training.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/huggingface/training_multimodal.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/lightning/README.md +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/lightning/requirements.txt +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/lightning/training.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/medusa/README.md +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/medusa/callback.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/medusa/docs/images/Memory_Stage1_num_head_3.png +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/medusa/docs/images/Memory_Stage1_num_head_5.png +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/medusa/docs/images/Memory_Stage2_num_head_3.png +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/medusa/docs/images/Memory_Stage2_num_head_5.png +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/medusa/docs/images/Throughput_Stage1_num_head_3.png +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/medusa/docs/images/Throughput_Stage1_num_head_5.png +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/medusa/docs/images/Throughput_Stage2_num_head_3.png +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/medusa/docs/images/Throughput_Stage2_num_head_5.png +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/medusa/fsdp/acc-fsdp.conf +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/medusa/medusa_util.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/medusa/requirements.txt +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/medusa/scripts/llama3_8b_medusa.sh +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/examples/medusa/train.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/licenses/LICENSE-Apache-2.0 +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/licenses/LICENSE-MIT-AutoAWQ +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/licenses/LICENSE-MIT-Efficient-Cross-Entropy +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/licenses/LICENSE-MIT-llmc +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/licenses/LICENSE-MIT-triton +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/setup.cfg +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/setup.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/__init__.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/chunked_loss/README.md +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/chunked_loss/__init__.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/chunked_loss/functional.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/chunked_loss/fused_linear_distillation.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/chunked_loss/fused_linear_preference.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/chunked_loss/orpo_loss.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/env_report.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/ops/__init__.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/ops/cross_entropy.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/ops/experimental/embedding.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/ops/experimental/mm_int8int2.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/ops/fused_linear_cross_entropy.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/ops/fused_linear_jsd.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/ops/geglu.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/ops/group_norm.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/ops/jsd.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/ops/kl_div.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/ops/layer_norm.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/ops/qwen2vl_mrope.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/ops/rms_norm.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/ops/rope.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/ops/swiglu.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/ops/utils.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/transformers/__init__.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/transformers/auto_model.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/transformers/cross_entropy.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/transformers/experimental/embedding.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/transformers/functional.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/transformers/fused_linear_cross_entropy.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/transformers/fused_linear_jsd.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/transformers/geglu.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/transformers/group_norm.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/transformers/jsd.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/transformers/kl_div.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/transformers/layer_norm.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/transformers/model/__init__.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/transformers/model/gemma.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/transformers/model/gemma2.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/transformers/model/llama.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/transformers/model/mistral.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/transformers/model/mixtral.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/transformers/model/mllama.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/transformers/model/phi3.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/transformers/model/qwen2.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/transformers/model/qwen2_vl.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/transformers/monkey_patch.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/transformers/qwen2vl_mrope.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/transformers/rms_norm.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/transformers/rope.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/transformers/swiglu.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/transformers/trainer/__init__.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/transformers/trainer/orpo_trainer.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/transformers/trainer_integration.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/triton/__init__.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/triton/monkey_patch.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel/utils.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel_nightly.egg-info/SOURCES.txt +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel_nightly.egg-info/dependency_links.txt +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel_nightly.egg-info/requires.txt +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/src/liger_kernel_nightly.egg-info/top_level.txt +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/__init__.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/chunked_loss/__init__.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/chunked_loss/test_orpo_loss.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/conftest.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/convergence/__init__.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/convergence/test_mini_models.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/convergence/test_mini_models_multimodal.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/convergence/test_mini_models_with_logits.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/resources/fake_configs/Qwen/Qwen2-VL-7B-Instruct/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/resources/fake_configs/meta-llama/Llama-3.2-11B-Vision-Instruct/tokenizer_config.json +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/resources/scripts/generate_tokenized_dataset.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/resources/tiny_shakespeare.txt +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/resources/tiny_shakespeare_tokenized/data-00000-of-00001.arrow +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/resources/tiny_shakespeare_tokenized/dataset_info.json +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/resources/tiny_shakespeare_tokenized/state.json +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/transformers/test_auto_model.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/transformers/test_cross_entropy.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/transformers/test_embedding.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/transformers/test_fused_linear_cross_entropy.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/transformers/test_fused_linear_jsd.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/transformers/test_geglu.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/transformers/test_group_norm.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/transformers/test_jsd.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/transformers/test_kl_div.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/transformers/test_layer_norm.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/transformers/test_mm_int8int2.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/transformers/test_monkey_patch.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/transformers/test_qwen2vl_mrope.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/transformers/test_rms_norm.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/transformers/test_rope.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/transformers/test_swiglu.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/transformers/test_trainer_integration.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/transformers/test_transformers.py +0 -0
- {liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/test/triton/test_triton_monkey_patch.py +0 -0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
4
4
|
|
5
5
|
[project]
|
6
6
|
name = "liger_kernel_nightly"
|
7
|
-
version = "0.5.2.
|
7
|
+
version = "0.5.2.dev20241220220835"
|
8
8
|
description = "Efficient Triton kernels for LLM Training"
|
9
9
|
urls = { "Homepage" = "https://github.com/linkedin/Liger-Kernel" }
|
10
10
|
readme = { file = "README.md", content-type = "text/markdown" }
|
@@ -9,7 +9,9 @@ from liger_kernel.chunked_loss.fused_linear_preference import (
|
|
9
9
|
class LigerFusedLinearCPOFunction(LigerFusedLinearPreferenceBase):
|
10
10
|
|
11
11
|
@staticmethod
|
12
|
-
def preference_loss_fn(
|
12
|
+
def preference_loss_fn(
|
13
|
+
chosen_logps, rejected_logps, full_target, beta=0.1, label_smoothing=0.0
|
14
|
+
):
|
13
15
|
"""
|
14
16
|
Paper: https://arxiv.org/pdf/2401.08417
|
15
17
|
|
@@ -30,9 +32,14 @@ class LigerFusedLinearCPOFunction(LigerFusedLinearPreferenceBase):
|
|
30
32
|
rejected_logps (torch.Tensor): Avg log probabilities of rejected tokens. Shape: (batch_size,).
|
31
33
|
full_target (torch.Tensor): Non chunked full target tensor
|
32
34
|
beta (float): Weight for the CPO loss
|
35
|
+
label_smoothing (float): Label smoothing factor, will reduce to Equation above when label_smoothing -> 0.
|
33
36
|
"""
|
34
37
|
logits = beta * (chosen_logps - rejected_logps)
|
35
|
-
loss =
|
38
|
+
loss = (
|
39
|
+
F.logsigmoid(logits) * (1 - label_smoothing)
|
40
|
+
+ F.logsigmoid(-logits) * label_smoothing
|
41
|
+
).sum() / (full_target.shape[0] // 2)
|
42
|
+
|
36
43
|
return loss
|
37
44
|
|
38
45
|
@staticmethod
|
@@ -45,6 +52,7 @@ class LigerFusedLinearCPOFunction(LigerFusedLinearPreferenceBase):
|
|
45
52
|
ignore_index=-100,
|
46
53
|
beta=0.1,
|
47
54
|
alpha=1.0,
|
55
|
+
label_smoothing=0.0,
|
48
56
|
compute_nll_loss=True,
|
49
57
|
compiled=True,
|
50
58
|
):
|
@@ -58,6 +66,7 @@ class LigerFusedLinearCPOFunction(LigerFusedLinearPreferenceBase):
|
|
58
66
|
ignore_index=ignore_index,
|
59
67
|
alpha=alpha,
|
60
68
|
beta=beta,
|
69
|
+
label_smoothing=label_smoothing,
|
61
70
|
compute_nll_loss=compute_nll_loss,
|
62
71
|
compiled=compiled,
|
63
72
|
)
|
@@ -65,7 +74,7 @@ class LigerFusedLinearCPOFunction(LigerFusedLinearPreferenceBase):
|
|
65
74
|
@staticmethod
|
66
75
|
def backward(ctx, *grad_output):
|
67
76
|
grads = LigerFusedLinearPreferenceBase.backward(ctx, grad_output)[:4]
|
68
|
-
return *grads, None, None, None, None, None
|
77
|
+
return *grads, None, None, None, None, None, None
|
69
78
|
|
70
79
|
|
71
80
|
class LigerFusedLinearCPOLoss(torch.nn.Module):
|
@@ -78,6 +87,7 @@ class LigerFusedLinearCPOLoss(torch.nn.Module):
|
|
78
87
|
ignore_index: int = -100,
|
79
88
|
beta: float = 0.1,
|
80
89
|
alpha: float = 1.0,
|
90
|
+
label_smoothing: float = 0.0,
|
81
91
|
compute_nll_loss: bool = True,
|
82
92
|
compiled: bool = True,
|
83
93
|
):
|
@@ -90,6 +100,7 @@ class LigerFusedLinearCPOLoss(torch.nn.Module):
|
|
90
100
|
self.ignore_index = ignore_index
|
91
101
|
self.beta = beta
|
92
102
|
self.alpha = alpha
|
103
|
+
self.label_smoothing = label_smoothing
|
93
104
|
self.compute_nll_loss = compute_nll_loss
|
94
105
|
self.compiled = compiled
|
95
106
|
|
@@ -102,6 +113,7 @@ class LigerFusedLinearCPOLoss(torch.nn.Module):
|
|
102
113
|
self.ignore_index,
|
103
114
|
self.beta,
|
104
115
|
self.alpha,
|
116
|
+
self.label_smoothing,
|
105
117
|
self.compute_nll_loss,
|
106
118
|
self.compiled,
|
107
119
|
)
|
@@ -64,7 +64,7 @@ class LigerFusedLinearDPOFunction(LigerFusedLinearPreferenceBase):
|
|
64
64
|
ref_bias=None,
|
65
65
|
ignore_index=-100,
|
66
66
|
beta=0.1,
|
67
|
-
compute_nll_loss=
|
67
|
+
compute_nll_loss=False,
|
68
68
|
compiled=True,
|
69
69
|
use_ref_model=True,
|
70
70
|
):
|
@@ -100,7 +100,7 @@ class LigerFusedLinearDPOLoss(torch.nn.Module):
|
|
100
100
|
self,
|
101
101
|
ignore_index: int = -100,
|
102
102
|
beta: float = 0.1,
|
103
|
-
compute_nll_loss: bool =
|
103
|
+
compute_nll_loss: bool = False,
|
104
104
|
compiled: bool = True,
|
105
105
|
use_ref_model: bool = False,
|
106
106
|
):
|
@@ -10,7 +10,12 @@ class LigerFusedLinearSimPOFunction(LigerFusedLinearPreferenceBase):
|
|
10
10
|
|
11
11
|
@staticmethod
|
12
12
|
def preference_loss_fn(
|
13
|
-
chosen_logps,
|
13
|
+
chosen_logps,
|
14
|
+
rejected_logps,
|
15
|
+
full_target,
|
16
|
+
beta=0.1,
|
17
|
+
gamma=0.5,
|
18
|
+
label_smoothing=0.0,
|
14
19
|
):
|
15
20
|
"""
|
16
21
|
Paper: https://arxiv.org/pdf/2405.14734
|
@@ -33,9 +38,14 @@ class LigerFusedLinearSimPOFunction(LigerFusedLinearPreferenceBase):
|
|
33
38
|
full_target: Non chunked full target tensor
|
34
39
|
beta (float): beta weight
|
35
40
|
gamma (float): gemma margin term
|
41
|
+
label_smoothing (float): Label smoothing factor, will reduce to Equation above when label_smoothing -> 0.
|
36
42
|
"""
|
37
43
|
logits = beta * (chosen_logps - rejected_logps) - gamma
|
38
|
-
loss =
|
44
|
+
loss = (
|
45
|
+
F.logsigmoid(logits) * (1 - label_smoothing)
|
46
|
+
+ F.logsigmoid(-logits) * label_smoothing
|
47
|
+
).sum() / (full_target.shape[0] // 2)
|
48
|
+
|
39
49
|
return loss
|
40
50
|
|
41
51
|
@staticmethod
|
@@ -48,6 +58,7 @@ class LigerFusedLinearSimPOFunction(LigerFusedLinearPreferenceBase):
|
|
48
58
|
ignore_index=-100,
|
49
59
|
beta=0.1,
|
50
60
|
alpha=1.0,
|
61
|
+
label_smoothing=0.0,
|
51
62
|
compute_nll_loss=False,
|
52
63
|
compiled=True,
|
53
64
|
gamma=0.5,
|
@@ -63,6 +74,7 @@ class LigerFusedLinearSimPOFunction(LigerFusedLinearPreferenceBase):
|
|
63
74
|
ignore_index=ignore_index,
|
64
75
|
alpha=alpha,
|
65
76
|
beta=beta,
|
77
|
+
label_smoothing=label_smoothing,
|
66
78
|
compiled=compiled,
|
67
79
|
gamma=gamma,
|
68
80
|
)
|
@@ -70,7 +82,7 @@ class LigerFusedLinearSimPOFunction(LigerFusedLinearPreferenceBase):
|
|
70
82
|
@staticmethod
|
71
83
|
def backward(ctx, *grad_output):
|
72
84
|
grads = LigerFusedLinearPreferenceBase.backward(ctx, grad_output)[:4]
|
73
|
-
return *grads, None, None, None, None, None, None
|
85
|
+
return *grads, None, None, None, None, None, None, None
|
74
86
|
|
75
87
|
|
76
88
|
class LigerFusedLinearSimPOLoss(torch.nn.Module):
|
@@ -83,6 +95,7 @@ class LigerFusedLinearSimPOLoss(torch.nn.Module):
|
|
83
95
|
ignore_index: int = -100,
|
84
96
|
beta: float = 0.1,
|
85
97
|
alpha: float = 1.0,
|
98
|
+
label_smoothing: float = 0.0,
|
86
99
|
compute_nll_loss: bool = True,
|
87
100
|
compiled: bool = True,
|
88
101
|
gamma: float = 0.5,
|
@@ -96,6 +109,7 @@ class LigerFusedLinearSimPOLoss(torch.nn.Module):
|
|
96
109
|
self.ignore_index = ignore_index
|
97
110
|
self.beta = beta
|
98
111
|
self.alpha = alpha
|
112
|
+
self.label_smoothing = label_smoothing
|
99
113
|
self.compute_nll_loss = compute_nll_loss
|
100
114
|
self.compiled = compiled
|
101
115
|
self.gamma = gamma
|
@@ -109,6 +123,7 @@ class LigerFusedLinearSimPOLoss(torch.nn.Module):
|
|
109
123
|
self.ignore_index,
|
110
124
|
self.beta,
|
111
125
|
self.alpha,
|
126
|
+
self.label_smoothing,
|
112
127
|
self.compute_nll_loss,
|
113
128
|
self.compiled,
|
114
129
|
self.gamma,
|
@@ -86,6 +86,7 @@ class TorchLMHeadCPO(torch.nn.Module):
|
|
86
86
|
ignore_index: int = -100,
|
87
87
|
beta: float = 0.1,
|
88
88
|
alpha: float = 1.0,
|
89
|
+
label_smoothing: float = 0.0,
|
89
90
|
loss_type: str = "sigmoid",
|
90
91
|
simpo_gamma: float = 0.5,
|
91
92
|
):
|
@@ -97,6 +98,7 @@ class TorchLMHeadCPO(torch.nn.Module):
|
|
97
98
|
ignore_index=ignore_index,
|
98
99
|
beta=beta,
|
99
100
|
loss_type=loss_type,
|
101
|
+
label_smoothing=label_smoothing,
|
100
102
|
simpo_gamma=simpo_gamma,
|
101
103
|
).get_batch_loss_metrics
|
102
104
|
|
@@ -114,13 +116,17 @@ class LigerLMHeadCPO(torch.nn.Module):
|
|
114
116
|
ignore_index: int = -100,
|
115
117
|
beta: float = 0.1,
|
116
118
|
alpha: float = 1.0,
|
119
|
+
label_smoothing: float = 0.0,
|
117
120
|
):
|
118
121
|
super().__init__()
|
119
122
|
self.lin = torch.nn.Linear(
|
120
123
|
in_features=H, out_features=V, bias=bias, dtype=dtype
|
121
124
|
)
|
122
125
|
self.cpo_loss = LigerFusedLinearCPOLoss(
|
123
|
-
ignore_index=ignore_index,
|
126
|
+
ignore_index=ignore_index,
|
127
|
+
beta=beta,
|
128
|
+
alpha=alpha,
|
129
|
+
label_smoothing=label_smoothing,
|
124
130
|
)
|
125
131
|
|
126
132
|
def forward(self, x, y):
|
@@ -145,8 +151,21 @@ class LigerLMHeadCPO(torch.nn.Module):
|
|
145
151
|
@pytest.mark.parametrize(
|
146
152
|
"ignore_index, beta, alpha", [(-100, 0.1, 1.0), (42, 0.2, 0.85)]
|
147
153
|
)
|
154
|
+
@pytest.mark.parametrize("label_smoothing", [0.0, 0.1])
|
148
155
|
def test_correctness(
|
149
|
-
B,
|
156
|
+
B,
|
157
|
+
T,
|
158
|
+
H,
|
159
|
+
V,
|
160
|
+
scalar,
|
161
|
+
dtype,
|
162
|
+
atol,
|
163
|
+
rtol,
|
164
|
+
bias,
|
165
|
+
ignore_index,
|
166
|
+
beta,
|
167
|
+
alpha,
|
168
|
+
label_smoothing,
|
150
169
|
):
|
151
170
|
B = 2 * B # cpo loss requires B to be even
|
152
171
|
|
@@ -157,6 +176,7 @@ def test_correctness(
|
|
157
176
|
bias=bias,
|
158
177
|
ignore_index=ignore_index,
|
159
178
|
beta=beta,
|
179
|
+
label_smoothing=label_smoothing,
|
160
180
|
)
|
161
181
|
liger_lm_head_cpo = LigerLMHeadCPO(
|
162
182
|
H=H,
|
@@ -165,6 +185,7 @@ def test_correctness(
|
|
165
185
|
bias=bias,
|
166
186
|
ignore_index=ignore_index,
|
167
187
|
beta=beta,
|
188
|
+
label_smoothing=label_smoothing,
|
168
189
|
)
|
169
190
|
|
170
191
|
torch_lm_head_cpo.lin.weight.data = liger_lm_head_cpo.lin.weight.data = torch.randn(
|
@@ -23,10 +23,17 @@ class HFDPOLoss(HFAlignmentLoss):
|
|
23
23
|
"""
|
24
24
|
|
25
25
|
def __init__(
|
26
|
-
self,
|
26
|
+
self,
|
27
|
+
ignore_index: int = -100,
|
28
|
+
beta: float = 0.1,
|
29
|
+
use_ref_model: bool = True,
|
30
|
+
compute_nll_loss: bool = False,
|
27
31
|
):
|
28
32
|
super().__init__(
|
29
|
-
beta=beta,
|
33
|
+
beta=beta,
|
34
|
+
ignore_index=ignore_index,
|
35
|
+
use_ref_model=use_ref_model,
|
36
|
+
compute_nll_loss=compute_nll_loss,
|
30
37
|
)
|
31
38
|
|
32
39
|
def alignment_loss(
|
@@ -61,6 +68,7 @@ class TorchLMHeadDPO(torch.nn.Module):
|
|
61
68
|
dtype: torch.dtype,
|
62
69
|
bias: bool = False,
|
63
70
|
ref_bias: bool = False,
|
71
|
+
compute_nll_loss: bool = False,
|
64
72
|
ignore_index: int = -100,
|
65
73
|
beta: float = 0.1,
|
66
74
|
):
|
@@ -72,7 +80,10 @@ class TorchLMHeadDPO(torch.nn.Module):
|
|
72
80
|
in_features=H, out_features=V, bias=ref_bias, dtype=dtype
|
73
81
|
)
|
74
82
|
self.dpo_loss = HFDPOLoss(
|
75
|
-
ignore_index=ignore_index,
|
83
|
+
ignore_index=ignore_index,
|
84
|
+
beta=beta,
|
85
|
+
use_ref_model=True,
|
86
|
+
compute_nll_loss=compute_nll_loss,
|
76
87
|
).get_batch_loss_metrics
|
77
88
|
|
78
89
|
def forward(self, x, ref_x, y):
|
@@ -95,6 +106,7 @@ class LigerLMHeadDPO(torch.nn.Module):
|
|
95
106
|
dtype: torch.dtype,
|
96
107
|
bias: bool = False,
|
97
108
|
ref_bias: bool = False,
|
109
|
+
compute_nll_loss: bool = False,
|
98
110
|
ignore_index: int = -100,
|
99
111
|
beta: float = 0.1,
|
100
112
|
):
|
@@ -106,7 +118,10 @@ class LigerLMHeadDPO(torch.nn.Module):
|
|
106
118
|
in_features=H, out_features=V, bias=ref_bias, dtype=dtype
|
107
119
|
)
|
108
120
|
self.dpo_loss = LigerFusedLinearDPOLoss(
|
109
|
-
ignore_index=ignore_index,
|
121
|
+
ignore_index=ignore_index,
|
122
|
+
beta=beta,
|
123
|
+
use_ref_model=True,
|
124
|
+
compute_nll_loss=compute_nll_loss,
|
110
125
|
)
|
111
126
|
|
112
127
|
def forward(self, x, ref_x, y):
|
@@ -132,14 +147,27 @@ class LigerLMHeadDPO(torch.nn.Module):
|
|
132
147
|
"scalar, dtype, atol, rtol",
|
133
148
|
[
|
134
149
|
(1.0, torch.bfloat16, 5e-2, 5e-1),
|
135
|
-
(1.0, torch.float32,
|
150
|
+
(1.0, torch.float32, 1e-5, 5e-4),
|
136
151
|
],
|
137
152
|
)
|
138
153
|
@pytest.mark.parametrize("bias", [True, False])
|
139
154
|
@pytest.mark.parametrize("ref_bias", [True, False])
|
155
|
+
@pytest.mark.parametrize("compute_nll_loss", [True, False])
|
140
156
|
@pytest.mark.parametrize("ignore_index, beta", [(-100, 0.1), (42, 0.2)])
|
141
157
|
def test_correctness(
|
142
|
-
B,
|
158
|
+
B,
|
159
|
+
T,
|
160
|
+
H,
|
161
|
+
V,
|
162
|
+
scalar,
|
163
|
+
dtype,
|
164
|
+
atol,
|
165
|
+
rtol,
|
166
|
+
bias,
|
167
|
+
ref_bias,
|
168
|
+
compute_nll_loss,
|
169
|
+
ignore_index,
|
170
|
+
beta,
|
143
171
|
):
|
144
172
|
B = 2 * B # dpo loss requires B to be even
|
145
173
|
|
@@ -149,6 +177,7 @@ def test_correctness(
|
|
149
177
|
dtype=dtype,
|
150
178
|
bias=bias,
|
151
179
|
ref_bias=ref_bias,
|
180
|
+
compute_nll_loss=compute_nll_loss,
|
152
181
|
ignore_index=ignore_index,
|
153
182
|
beta=beta,
|
154
183
|
)
|
@@ -158,6 +187,7 @@ def test_correctness(
|
|
158
187
|
dtype=dtype,
|
159
188
|
bias=bias,
|
160
189
|
ref_bias=ref_bias,
|
190
|
+
compute_nll_loss=compute_nll_loss,
|
161
191
|
ignore_index=ignore_index,
|
162
192
|
beta=beta,
|
163
193
|
)
|
@@ -251,7 +281,10 @@ def test_correctness(
|
|
251
281
|
)
|
252
282
|
@pytest.mark.parametrize("bias", [True, False])
|
253
283
|
@pytest.mark.parametrize("ref_bias", [True, False])
|
254
|
-
|
284
|
+
@pytest.mark.parametrize("compute_nll_loss", [True, False])
|
285
|
+
def test_correctness_functional(
|
286
|
+
B, T, H, V, scalar, dtype, atol, rtol, bias, ref_bias, compute_nll_loss
|
287
|
+
):
|
255
288
|
B = 2 * B
|
256
289
|
|
257
290
|
_input = torch.randn(B, T, H, device=device, dtype=dtype) * scalar
|
@@ -290,10 +323,28 @@ def test_correctness_functional(B, T, H, V, scalar, dtype, atol, rtol, bias, ref
|
|
290
323
|
ref_bias2 = _ref_bias.detach().clone().requires_grad_(True) if ref_bias else None
|
291
324
|
|
292
325
|
loss1, aggregated_aux_outputs1 = LigerFusedLinearDPOFunction.apply(
|
293
|
-
input1,
|
326
|
+
input1,
|
327
|
+
weight1,
|
328
|
+
target,
|
329
|
+
bias1,
|
330
|
+
ref_input,
|
331
|
+
ref_weight1,
|
332
|
+
ref_bias1,
|
333
|
+
-100,
|
334
|
+
0.1,
|
335
|
+
compute_nll_loss,
|
294
336
|
)
|
295
337
|
loss2, aggregated_aux_outputs2 = liger_fused_linear_dpo(
|
296
|
-
input2,
|
338
|
+
input2,
|
339
|
+
weight2,
|
340
|
+
target,
|
341
|
+
bias2,
|
342
|
+
ref_input,
|
343
|
+
ref_weight2,
|
344
|
+
ref_bias2,
|
345
|
+
-100,
|
346
|
+
0.1,
|
347
|
+
compute_nll_loss,
|
297
348
|
)
|
298
349
|
|
299
350
|
assert_verbose_allclose(loss1, loss2, atol=atol, rtol=rtol)
|
@@ -25,6 +25,7 @@ class LigerLMHeadSimPO(torch.nn.Module):
|
|
25
25
|
ignore_index: int = -100,
|
26
26
|
beta: float = 0.1,
|
27
27
|
alpha: float = 1.0,
|
28
|
+
label_smoothing: float = 0.0,
|
28
29
|
gamma: float = 0.5,
|
29
30
|
):
|
30
31
|
super().__init__()
|
@@ -32,7 +33,11 @@ class LigerLMHeadSimPO(torch.nn.Module):
|
|
32
33
|
in_features=H, out_features=V, bias=bias, dtype=dtype
|
33
34
|
)
|
34
35
|
self.simpo_loss = LigerFusedLinearSimPOLoss(
|
35
|
-
ignore_index=ignore_index,
|
36
|
+
ignore_index=ignore_index,
|
37
|
+
beta=beta,
|
38
|
+
alpha=alpha,
|
39
|
+
gamma=gamma,
|
40
|
+
label_smoothing=label_smoothing,
|
36
41
|
)
|
37
42
|
|
38
43
|
def forward(self, x, y):
|
@@ -57,8 +62,21 @@ class LigerLMHeadSimPO(torch.nn.Module):
|
|
57
62
|
@pytest.mark.parametrize(
|
58
63
|
"ignore_index, beta, gamma", [(-100, 0.1, 0.5), (42, 0.2, 0.85)]
|
59
64
|
)
|
65
|
+
@pytest.mark.parametrize("label_smoothing", [0.0, 0.1])
|
60
66
|
def test_correctness(
|
61
|
-
B,
|
67
|
+
B,
|
68
|
+
T,
|
69
|
+
H,
|
70
|
+
V,
|
71
|
+
scalar,
|
72
|
+
dtype,
|
73
|
+
atol,
|
74
|
+
rtol,
|
75
|
+
bias,
|
76
|
+
ignore_index,
|
77
|
+
beta,
|
78
|
+
gamma,
|
79
|
+
label_smoothing,
|
62
80
|
):
|
63
81
|
B = 2 * B # SimPO loss requires B to be even
|
64
82
|
|
@@ -70,6 +88,7 @@ def test_correctness(
|
|
70
88
|
ignore_index=ignore_index,
|
71
89
|
beta=beta,
|
72
90
|
loss_type="simpo",
|
91
|
+
label_smoothing=label_smoothing,
|
73
92
|
simpo_gamma=gamma,
|
74
93
|
)
|
75
94
|
liger_lm_head_simpo = LigerLMHeadSimPO(
|
@@ -79,6 +98,7 @@ def test_correctness(
|
|
79
98
|
bias=bias,
|
80
99
|
ignore_index=ignore_index,
|
81
100
|
beta=beta,
|
101
|
+
label_smoothing=label_smoothing,
|
82
102
|
gamma=gamma,
|
83
103
|
)
|
84
104
|
|
@@ -350,11 +350,13 @@ class HFAlignmentLoss:
|
|
350
350
|
beta: float = 0.1,
|
351
351
|
ignore_index: int = -100,
|
352
352
|
use_ref_model: bool = False,
|
353
|
+
compute_nll_loss: bool = True,
|
353
354
|
):
|
354
355
|
self.alpha = alpha
|
355
356
|
self.beta = beta
|
356
357
|
self.ignore_index = ignore_index
|
357
358
|
self.use_ref_model = use_ref_model
|
359
|
+
self.compute_nll_loss = compute_nll_loss
|
358
360
|
|
359
361
|
@abstractmethod
|
360
362
|
def alignment_loss(self):
|
@@ -448,9 +450,11 @@ class HFAlignmentLoss:
|
|
448
450
|
return loss
|
449
451
|
|
450
452
|
labels = target
|
451
|
-
chosen_nll_loss =
|
452
|
-
|
453
|
-
|
453
|
+
chosen_nll_loss = torch.tensor(0.0, device=all_logits.device)
|
454
|
+
if self.compute_nll_loss:
|
455
|
+
chosen_nll_loss = cross_entropy_loss(
|
456
|
+
all_logits[:len_chosen], labels[:len_chosen]
|
457
|
+
)
|
454
458
|
|
455
459
|
all_logps = self.get_batch_logps(
|
456
460
|
all_logits,
|
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
|
{liger_kernel_nightly-0.5.2.dev20241219211841 → liger_kernel_nightly-0.5.2.dev20241220220835}/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
|