Вопрос о конвертации ruGPT-3.5 в GGUF

#1
by evilfreelancer - opened

Добры день! Подскажите пожалуйста как правильно выполнить конвертацию моделей типа ruGPT-3.5 в формат GGUF? У меня ничего кроме GGML к сожалению не получилось, а Вам это удалось. Поделитесь пожалуйста инструкцией или скриптом, который позволит выполнить указанную процедуру?

Привет! Я пропустил несколько слоев которые вроде-бы как не нужны для предсказаний. Конвертировать можно патченным convert-hf-to-gguf.py. Идею взял из этой дискусии - https://github.com/ggerganov/llama.cpp/issues/4888

diff --git a/convert-hf-to-gguf.py b/convert-hf-to-gguf.py
index 7a0a8c3d..009f2da9 100755
--- a/convert-hf-to-gguf.py
+++ b/convert-hf-to-gguf.py
@@ -1069,8 +1069,12 @@ class GPT2Model(Model):

             # map tensor names
             new_name = tensor_map.get_name(name, try_suffixes=(".weight", ".bias"))
+            SKIPNAMES = [f'transformer.h.{i}.attn.masked_bias' for i in range(99)]
             if new_name is None:
+                if name in SKIPNAMES:
+                    continue
                 print(f"Can not map tensor {name!r}")
+                breakpoint()
                 sys.exit()

             n_dims = len(data.shape)
@@ -1093,9 +1097,9 @@ class GPT2Model(Model):
             self.gguf_writer.add_tensor(new_name, data)

             # note: GPT2 output is tied to (same as) wte in original model
-            if new_name == "token_embd.weight":
-                print(f"output.weight, n_dims = {n_dims}, {old_dtype} --> {data.dtype}")
-                self.gguf_writer.add_tensor("output.weight", data)
+            # if new_name == "token_embd.weight":
+            #     print(f"output.weight, n_dims = {n_dims}, {old_dtype} --> {data.dtype}")
+            #     self.gguf_writer.add_tensor("output.weight", data)


 class Phi2Model(Model):

Благодарю за ответ! Тоже натыкался на эту дискуссию, попробую данный способ

Sign up or log in to comment