Q-50M-Base / configuration_q.py
LakoMoor's picture
Release Q-50M-Base
a92b335 verified
Raw
History Blame Contribute Delete
909 Bytes
from transformers.models.mistral.configuration_mistral import MistralConfig
class QConfig(MistralConfig):
model_type = "q"
def __init__(
self,
qk_norm=True,
attention_scalar_gate=True,
mlp_scalar_gate=True,
gate_multiplier=2.0,
nope_every_n=4,
nope_layers=None,
**kwargs,
):
super().__init__(**kwargs)
self.qk_norm = qk_norm
self.attention_scalar_gate = attention_scalar_gate
self.mlp_scalar_gate = mlp_scalar_gate
self.gate_multiplier = gate_multiplier
self.nope_every_n = nope_every_n
if nope_layers is not None:
self.nope_layers = list(nope_layers)
elif nope_every_n:
self.nope_layers = [
i for i in range(self.num_hidden_layers) if (i + 1) % nope_every_n == 0
]
else:
self.nope_layers = []