Вопрос о конвертации 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):
Благодарю за ответ! Тоже натыкался на эту дискуссию, попробую данный способ