ThingsAI commited on
Commit
5f72285
·
verified ·
1 Parent(s): d660488

fix: inv_freq persistent=True + incluso nel safetensors

Browse files
Files changed (1) hide show
  1. modeling_quark.py +5 -4
modeling_quark.py CHANGED
@@ -26,13 +26,14 @@ class RotaryEmbedding(nn.Module):
26
  super().__init__()
27
  assert head_dim % 2 == 0
28
  inv_freq = 1.0 / (theta ** (torch.arange(0, head_dim, 2).float() / head_dim))
29
- self.register_buffer("inv_freq", inv_freq, persistent=False)
30
  self._build_cache(max_seq_len)
31
 
32
  def _build_cache(self, seq_len):
33
- t = torch.arange(seq_len, device=self.inv_freq.device).float()
34
- freqs = torch.outer(t, self.inv_freq)
35
- emb = torch.cat([freqs, freqs], dim=-1)
 
36
  self.register_buffer("cos_cache", emb.cos()[None, None], persistent=False)
37
  self.register_buffer("sin_cache", emb.sin()[None, None], persistent=False)
38
  self._max = seq_len
 
26
  super().__init__()
27
  assert head_dim % 2 == 0
28
  inv_freq = 1.0 / (theta ** (torch.arange(0, head_dim, 2).float() / head_dim))
29
+ self.register_buffer("inv_freq", inv_freq, persistent=True)
30
  self._build_cache(max_seq_len)
31
 
32
  def _build_cache(self, seq_len):
33
+ device = self.inv_freq.device
34
+ t = torch.arange(seq_len, device=device, dtype=self.inv_freq.dtype)
35
+ freqs = torch.outer(t, self.inv_freq)
36
+ emb = torch.cat([freqs, freqs], dim=-1)
37
  self.register_buffer("cos_cache", emb.cos()[None, None], persistent=False)
38
  self.register_buffer("sin_cache", emb.sin()[None, None], persistent=False)
39
  self._max = seq_len