RMS Layernorm

This commit is contained in:
Daniel Han 2024-09-24 22:50:33 -07:00
commit da6de6dcb8
2 changed files with 27 additions and 1 deletions

View file

@ -13,7 +13,11 @@
# limitations under the License.
from .cross_entropy_loss import fast_cross_entropy_loss
from .rms_layernorm import fast_rms_layernorm
from .rms_layernorm import (
fast_rms_layernorm,
patch_rms_layernorm,
unpatch_rms_layernorm,
)
from .layernorm import (
fast_layernorm,
patch_layernorm,

View file

@ -192,3 +192,25 @@ def fast_rms_layernorm(layernorm, X, gemma = False):
out = Fast_RMS_Layernorm.apply(X, W, eps, gemma)
return out
pass
from transformers.models.llama.modeling_llama import LlamaRMSNorm
class Unsloth_LlamaRMSNorm(LlamaRMSNorm):
def forward(self, X):
return fast_rms_layernorm(self, X, gemma = False)
pass
pass
def patch_rms_layernorm():
import transformers.models.llama.modeling_llama
transformers.models.llama.modeling_llama.LlamaRMSNorm = Unsloth_LlamaRMSNorm
return
pass
def unpatch_rms_layernorm():
import transformers.models.llama.modeling_llama
transformers.models.llama.modeling_llama.LlamaRMSNorm = LlamaRMSNorm
return
pass