Skip to content

Commit 7152e2c

Browse files
committed
feat(convert_hf_to_gguf): Add registration and param setup for Granite
Branch: GraniteLM Signed-off-by: Gabe Goodhart <[email protected]>
1 parent 4117bc3 commit 7152e2c

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

convert_hf_to_gguf.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3950,6 +3950,34 @@ def prepare_tensors(self):
39503950
super().prepare_tensors()
39513951

39523952

3953+
@Model.register("GraniteForCausalLM")
3954+
class GraniteModel(Model):
3955+
"""Conversion for IBM's GraniteForCausalLM"""
3956+
model_arch = gguf.MODEL_ARCH.GRANITE
3957+
3958+
def set_gguf_parameters(self):
3959+
"""Granite uses standard llama parameters with the following differences:
3960+
3961+
- No head_dim support
3962+
- New multiplier params:
3963+
- attention_multiplier
3964+
- embedding_multiplier
3965+
- residual_multiplier
3966+
- logits_scaling
3967+
"""
3968+
if head_dim := self.hparams.pop("head_dim", None):
3969+
logger.warning("Ignoring head_dim (%s) from config for Granite", head_dim)
3970+
super().set_gguf_parameters()
3971+
if attention_multiplier := self.hparams.get("attention_multiplier"):
3972+
self.gguf_writer.add_attention_multiplier(attention_multiplier)
3973+
if embedding_multiplier := self.hparams.get("embedding_multiplier"):
3974+
self.gguf_writer.add_embedding_multiplier(embedding_multiplier)
3975+
if residual_multiplier := self.hparams.get("residual_multiplier"):
3976+
self.gguf_writer.add_residual_multiplier(residual_multiplier)
3977+
if logits_scaling := self.hparams.get("logits_scaling"):
3978+
self.gguf_writer.add_logit_scale(logits_scaling)
3979+
3980+
39533981
###### CONVERSION LOGIC ######
39543982

39553983
# tree of lazy tensors

0 commit comments

Comments
 (0)