liger-kernel-nightly 0.6.2.dev20251008084122__py3-none-any.whl → 0.6.2.dev20251010184612__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- liger_kernel/transformers/__init__.py +3 -0
- liger_kernel/transformers/monkey_patch.py +67 -0
- {liger_kernel_nightly-0.6.2.dev20251008084122.dist-info → liger_kernel_nightly-0.6.2.dev20251010184612.dist-info}/METADATA +1 -1
- {liger_kernel_nightly-0.6.2.dev20251008084122.dist-info → liger_kernel_nightly-0.6.2.dev20251010184612.dist-info}/RECORD +8 -8
- {liger_kernel_nightly-0.6.2.dev20251008084122.dist-info → liger_kernel_nightly-0.6.2.dev20251010184612.dist-info}/LICENSE +0 -0
- {liger_kernel_nightly-0.6.2.dev20251008084122.dist-info → liger_kernel_nightly-0.6.2.dev20251010184612.dist-info}/NOTICE +0 -0
- {liger_kernel_nightly-0.6.2.dev20251008084122.dist-info → liger_kernel_nightly-0.6.2.dev20251010184612.dist-info}/WHEEL +0 -0
- {liger_kernel_nightly-0.6.2.dev20251008084122.dist-info → liger_kernel_nightly-0.6.2.dev20251010184612.dist-info}/top_level.txt +0 -0
|
@@ -30,6 +30,7 @@ if TYPE_CHECKING:
|
|
|
30
30
|
from liger_kernel.transformers.auto_model import AutoLigerKernelForCausalLM # noqa: F401
|
|
31
31
|
from liger_kernel.transformers.monkey_patch import _apply_liger_kernel # noqa: F401
|
|
32
32
|
from liger_kernel.transformers.monkey_patch import _apply_liger_kernel_to_instance # noqa: F401
|
|
33
|
+
from liger_kernel.transformers.monkey_patch import apply_liger_kernel_to_falcon_h1 # noqa: F401
|
|
33
34
|
from liger_kernel.transformers.monkey_patch import apply_liger_kernel_to_gemma # noqa: F401
|
|
34
35
|
from liger_kernel.transformers.monkey_patch import apply_liger_kernel_to_gemma2 # noqa: F401
|
|
35
36
|
from liger_kernel.transformers.monkey_patch import apply_liger_kernel_to_gemma3 # noqa: F401
|
|
@@ -91,6 +92,7 @@ def __getattr__(name: str):
|
|
|
91
92
|
monkey_patch_symbols = {
|
|
92
93
|
"_apply_liger_kernel",
|
|
93
94
|
"_apply_liger_kernel_to_instance",
|
|
95
|
+
"apply_liger_kernel_to_falcon_h1",
|
|
94
96
|
"apply_liger_kernel_to_gemma",
|
|
95
97
|
"apply_liger_kernel_to_gemma2",
|
|
96
98
|
"apply_liger_kernel_to_gemma3",
|
|
@@ -157,6 +159,7 @@ if _TRANSFORMERS_AVAILABLE:
|
|
|
157
159
|
"AutoLigerKernelForCausalLM",
|
|
158
160
|
"_apply_liger_kernel",
|
|
159
161
|
"_apply_liger_kernel_to_instance",
|
|
162
|
+
"apply_liger_kernel_to_falcon_h1",
|
|
160
163
|
"apply_liger_kernel_to_gemma",
|
|
161
164
|
"apply_liger_kernel_to_gemma2",
|
|
162
165
|
"apply_liger_kernel_to_gemma3",
|
|
@@ -2107,6 +2107,72 @@ def apply_liger_kernel_to_internvl(
|
|
|
2107
2107
|
logger.warning(f"{vision_model_name} is not supported by Liger kernel.")
|
|
2108
2108
|
|
|
2109
2109
|
|
|
2110
|
+
def apply_liger_kernel_to_falcon_h1(
|
|
2111
|
+
rope: bool = True,
|
|
2112
|
+
cross_entropy: bool = True,
|
|
2113
|
+
fused_linear_cross_entropy: bool = False,
|
|
2114
|
+
rms_norm: bool = True,
|
|
2115
|
+
swiglu: bool = False,
|
|
2116
|
+
model: PreTrainedModel = None,
|
|
2117
|
+
) -> None:
|
|
2118
|
+
"""
|
|
2119
|
+
Apply Liger kernels to replace original implementation in HuggingFace Falcon-H1 models
|
|
2120
|
+
Args:
|
|
2121
|
+
rope (bool): Whether to apply Liger's rotary position embedding. Default is True.
|
|
2122
|
+
cross_entropy (bool): Whether to apply Liger's cross entropy loss. Default is True.
|
|
2123
|
+
fused_linear_cross_entropy (bool):
|
|
2124
|
+
Whether to apply Liger's fused linear cross entropy loss. Default is False.
|
|
2125
|
+
`cross_entropy` and `fused_linear_cross_entropy` cannot both be True.
|
|
2126
|
+
If `fused_linear_cross_entropy` is True, the logits will not be materialized but more memory efficient.
|
|
2127
|
+
rms_norm (bool): Whether to apply Liger's RMSNorm. Default is False.
|
|
2128
|
+
swiglu (bool): Whether to apply Liger's SwiGLU MLP. Default is True.
|
|
2129
|
+
model (PreTrainedModel): The model instance to apply Liger kernels to, if the model has already been
|
|
2130
|
+
loaded. Default is None.
|
|
2131
|
+
"""
|
|
2132
|
+
|
|
2133
|
+
assert not (cross_entropy and fused_linear_cross_entropy), (
|
|
2134
|
+
"cross_entropy and fused_linear_cross_entropy cannot both be True."
|
|
2135
|
+
)
|
|
2136
|
+
|
|
2137
|
+
from transformers.models.falcon_h1 import modeling_falcon_h1
|
|
2138
|
+
from transformers.models.falcon_h1.modeling_falcon_h1 import FalconH1Model
|
|
2139
|
+
|
|
2140
|
+
if rope:
|
|
2141
|
+
logger.info("Apply liger rotary pos emb.")
|
|
2142
|
+
modeling_falcon_h1.apply_rotary_pos_emb = liger_rotary_pos_emb
|
|
2143
|
+
if rms_norm:
|
|
2144
|
+
logger.info("Apply liger RMSNorm")
|
|
2145
|
+
modeling_falcon_h1.FalconH1RMSNorm = LigerRMSNorm
|
|
2146
|
+
if swiglu:
|
|
2147
|
+
raise NotImplementedError("LigerSwiGLUMLP is not available for Falcon-H1 models.")
|
|
2148
|
+
|
|
2149
|
+
if cross_entropy:
|
|
2150
|
+
logger.info("Apply liger cross entropy")
|
|
2151
|
+
from transformers.loss.loss_utils import nn
|
|
2152
|
+
|
|
2153
|
+
nn.functional.cross_entropy = liger_cross_entropy
|
|
2154
|
+
|
|
2155
|
+
if fused_linear_cross_entropy:
|
|
2156
|
+
raise NotImplementedError("LigerFusedLinearCrossEntropy is not available for Falcon-H1 models.")
|
|
2157
|
+
|
|
2158
|
+
if model is not None:
|
|
2159
|
+
# The model instance already exists, so we need to additionally patch the
|
|
2160
|
+
# instance variables that reference already-instantiated modules (e.g. LlamaRMSNorm or LlamaMLP)
|
|
2161
|
+
|
|
2162
|
+
# get the base model from the model instance
|
|
2163
|
+
base_model: FalconH1Model = getattr(model, model.base_model_prefix, model)
|
|
2164
|
+
|
|
2165
|
+
if rms_norm:
|
|
2166
|
+
_patch_rms_norm_module(base_model.final_layernorm)
|
|
2167
|
+
|
|
2168
|
+
for decoder_layer in base_model.layers:
|
|
2169
|
+
if swiglu:
|
|
2170
|
+
_patch_swiglu_module(decoder_layer.mlp, LigerSwiGLUMLP)
|
|
2171
|
+
if rms_norm:
|
|
2172
|
+
_patch_rms_norm_module(decoder_layer.input_layernorm)
|
|
2173
|
+
_patch_rms_norm_module(decoder_layer.pre_ff_layernorm)
|
|
2174
|
+
|
|
2175
|
+
|
|
2110
2176
|
# Model type corresponds to the keys defined in transformers/models/auto/modeling_auto.py
|
|
2111
2177
|
MODEL_TYPE_TO_APPLY_LIGER_FN = {
|
|
2112
2178
|
"gemma": apply_liger_kernel_to_gemma,
|
|
@@ -2137,6 +2203,7 @@ MODEL_TYPE_TO_APPLY_LIGER_FN = {
|
|
|
2137
2203
|
"smollm3": apply_liger_kernel_to_smollm3,
|
|
2138
2204
|
"phi3": apply_liger_kernel_to_phi3,
|
|
2139
2205
|
"paligemma": apply_liger_kernel_to_paligemma,
|
|
2206
|
+
"falcon_h1": apply_liger_kernel_to_falcon_h1,
|
|
2140
2207
|
}
|
|
2141
2208
|
|
|
2142
2209
|
|
|
@@ -41,7 +41,7 @@ liger_kernel/ops/tvd.py,sha256=FHJtLQI95ijqgg9UtaHpMAjSCiPxB6CduPwPMcGxelc,6405
|
|
|
41
41
|
liger_kernel/ops/utils.py,sha256=uoFKQqo-34N2TWQNvXMFywqGiOMMXNEVBxVojzlUAa0,3836
|
|
42
42
|
liger_kernel/ops/experimental/embedding.py,sha256=tolj3tItkzpSb30zWqDN2_yX4ectflaQ8HMyKyFIQc8,4172
|
|
43
43
|
liger_kernel/ops/experimental/mm_int8int2.py,sha256=TrS9lpwekrik_w5qE7AhMJD1bcq-OidjtbsW80oZ6IM,13314
|
|
44
|
-
liger_kernel/transformers/__init__.py,sha256=
|
|
44
|
+
liger_kernel/transformers/__init__.py,sha256=h-VQCbsM-T8l8jApA6mTsJdTnd3VeL14pUAdheruaiU,9010
|
|
45
45
|
liger_kernel/transformers/auto_model.py,sha256=0qCTRZt280Bj_LcFdzo9hlaR-BWNazawXOGgoCZjgEg,1545
|
|
46
46
|
liger_kernel/transformers/cross_entropy.py,sha256=z3KTWQnFxr_IZaVjtYt0ZNEWQdDdYThN35xWkHlDGH0,1683
|
|
47
47
|
liger_kernel/transformers/dyt.py,sha256=i-4GPaMrl-jab9TVI5qN0-H9qycn_mCbV82ozU4nbmU,723
|
|
@@ -58,7 +58,7 @@ liger_kernel/transformers/jsd.py,sha256=DGqRnxIZxsvxo0_tbbxX3b-sDbDjC_yKufyRIHCc
|
|
|
58
58
|
liger_kernel/transformers/kl_div.py,sha256=WLffFbh1EExD2Eb1F7lN11fo9JJC-0751WJjZAF1Fj8,409
|
|
59
59
|
liger_kernel/transformers/layer_norm.py,sha256=c9pk3PEasOKYR0rhe5e5nNrnYKVCEW4VC8S6LpCq9EQ,906
|
|
60
60
|
liger_kernel/transformers/llama4_rope.py,sha256=kS6PSHEwf3dS7hD7C7p8S0geugx2EMCiP0h0F7LsUoY,3639
|
|
61
|
-
liger_kernel/transformers/monkey_patch.py,sha256=
|
|
61
|
+
liger_kernel/transformers/monkey_patch.py,sha256=pULIVoznTTWtbXI0jJ7T1bVyLE4CKWThpmF6AwRZZk4,105681
|
|
62
62
|
liger_kernel/transformers/multi_token_attention.py,sha256=K3NIY9_5TPgZ4_Rahn0xnkMXxD_fmlJHK4CWGYvGQp0,1752
|
|
63
63
|
liger_kernel/transformers/qwen2vl_mrope.py,sha256=5EwSqrMdsL9MYspeBMXBsNJKvH0MOmRrtJXAJlnnlOI,1047
|
|
64
64
|
liger_kernel/transformers/rms_norm.py,sha256=vkekcvTeWY8vL4H6hg3t0XeY0Ew_3OFMPHuzqlxPPVw,2719
|
|
@@ -98,9 +98,9 @@ liger_kernel/transformers/trainer/__init__.py,sha256=p7yQfklV8-467qSz_ZMimkbDF7H
|
|
|
98
98
|
liger_kernel/transformers/trainer/orpo_trainer.py,sha256=tX0h63aOFe3rNqTmk6JpMf75UPo981yzEa6TghnjS0Q,5370
|
|
99
99
|
liger_kernel/triton/__init__.py,sha256=qCiCamzCRv6lpV8IqpAc9YMdNKC7GKurClWceQPnlis,92
|
|
100
100
|
liger_kernel/triton/monkey_patch.py,sha256=Rd0hUHAzDkFfHvnX7-PBaNK5EKnZhtfM_h-fgQH9HPY,1568
|
|
101
|
-
liger_kernel_nightly-0.6.2.
|
|
102
|
-
liger_kernel_nightly-0.6.2.
|
|
103
|
-
liger_kernel_nightly-0.6.2.
|
|
104
|
-
liger_kernel_nightly-0.6.2.
|
|
105
|
-
liger_kernel_nightly-0.6.2.
|
|
106
|
-
liger_kernel_nightly-0.6.2.
|
|
101
|
+
liger_kernel_nightly-0.6.2.dev20251010184612.dist-info/LICENSE,sha256=OhzLDHJ0to4a8sodVLELZiCFylZ1NAAYLs-HrjPy0ag,1312
|
|
102
|
+
liger_kernel_nightly-0.6.2.dev20251010184612.dist-info/METADATA,sha256=GJBTlZW4fJ9BsrPBmV-mZlHOPm3JFqVBrsZDRLp-tNU,24777
|
|
103
|
+
liger_kernel_nightly-0.6.2.dev20251010184612.dist-info/NOTICE,sha256=njwnoPZLh9AN8SJQzxvCGLHi-8X__AvWRze6joNXIY8,2066
|
|
104
|
+
liger_kernel_nightly-0.6.2.dev20251010184612.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
|
|
105
|
+
liger_kernel_nightly-0.6.2.dev20251010184612.dist-info/top_level.txt,sha256=2eghu4hA3LnkM7ElW92tQ8zegWKgSbeo-k-aGe1YnvY,13
|
|
106
|
+
liger_kernel_nightly-0.6.2.dev20251010184612.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|