From 9e7ee202015482dfa870b38943f04196ce82bde3 Mon Sep 17 00:00:00 2001 From: msrovani Date: Sat, 8 Aug 2026 01:41:08 -0300 Subject: [PATCH] converters: write hidden_activation=relu2 for bitnet models (fix #602) --- utils/convert-hf-to-gguf-bitnet.py | 4 ++++ utils/convert-ms-to-gguf-bitnet.py | 1 + 2 files changed, 5 insertions(+) diff --git a/utils/convert-hf-to-gguf-bitnet.py b/utils/convert-hf-to-gguf-bitnet.py index b11e831b9..52cffda3f 100644 --- a/utils/convert-hf-to-gguf-bitnet.py +++ b/utils/convert-hf-to-gguf-bitnet.py @@ -1043,6 +1043,10 @@ def set_vocab(self): def set_gguf_parameters(self): super().set_gguf_parameters() + # bitnet-b1.58-2B-4T uses relu^2 in the FFN; the runtime reads it from + # .hidden_activation (see llama_model_bitnet::load_arch_hparams). + self.gguf_writer.add_hidden_act("relu2") + self.gguf_writer.add_vocab_size(self.hparams["vocab_size"]) # rope dimension count (required for correct positional encoding) diff --git a/utils/convert-ms-to-gguf-bitnet.py b/utils/convert-ms-to-gguf-bitnet.py index edf702788..334839fb5 100644 --- a/utils/convert-ms-to-gguf-bitnet.py +++ b/utils/convert-ms-to-gguf-bitnet.py @@ -1157,6 +1157,7 @@ def add_meta_arch(self, params: Params) -> None: name = str(params.path_model.parent).split('/')[-1] self.gguf.add_name (name) + self.gguf.add_hidden_act ("relu2") self.gguf.add_vocab_size (params.n_vocab) self.gguf.add_context_length (params.n_ctx) self.gguf.add_embedding_length (params.n_embd)