Skip to content

Commit 6397d3c

Browse files
committed
chop down position embedding matrix by 2 (1+padding_idx)
1 parent 4e2a44c commit 6397d3c

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

convert_hf_to_gguf.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2429,6 +2429,17 @@ def set_vocab(self):
24292429
self.gguf_writer.add_add_bos_token(True) # looks like we need this
24302430
self.gguf_writer.add_add_eos_token(True)
24312431

2432+
def modify_tensors(self, data_torch: Tensor, name: str, bid: int | None) -> Iterable[tuple[str, Tensor]]:
2433+
# position embeddings start at 2 (padding_idx = 1), so just chop down the weight tensor
2434+
if name == "embeddings.position_embeddings.weight":
2435+
del bid # unused
2436+
2437+
data_torch[:-2,:] = data_torch[2:,:].clone()
2438+
data_torch[-2:,:] = 0.0
2439+
2440+
return [(self.map_tensor_name(name), data_torch)]
2441+
2442+
return super().modify_tensors(data_torch, name, bid)
24322443

24332444
@Model.register("GemmaForCausalLM")
24342445
class GemmaModel(Model):

0 commit comments

Comments
 (0)