
Конвертация нейросетевой модели LLM c HuggingFace в формат GGUF.
Для этого требуется установка llama.cpp:
откроем консоль, в ней выполним комманду (git должен быть ранее установлен):
git clone https://github.com/ggerganov/llama.cpp.git Создадим виртуальную среду, чтобы небыло несовместимости с версиями модулей уже установленных в ОС. python -m venv venv Активируем среду (для Windows): venv\Scripts\activate.bat
В командной строке должен появится фрагмент (venv) перед началом строки.
перейдем в папку llama.cpp:
cd llama.cpp
Выполним установку зависисмостей:
pip install -r llama.cpp/requirements.txt
Обновим сам установщик:
python.exe -m pip install —upgrade pip
выйдем из папки на уровень выше:
cd ..
Допустим у нас есть уже скачанная модель с huggingface в папку E:\t3\mistral-ft2 (как это сделать в другой статье), которую мы хотим преобразовать в формат gguf с 8 битной квантизацией (по умолчанию обычно модели 16 битные — float16 ).
Для этого пишем следующее:
llama.cpp>python llama.cpp/convert_hf_to_gguf.py E:\t3\mistral-ft2 —outfile mist_Q8_0.gguf —outtype q8_0
Как видите — запускаем python из папки или корня в котором находится папка llama.cpp, поэтому указываем путь до скрипта — llama.cpp/convert_hf_to_gguf.py
Далее указываем путь до папки с моделью нейросети, ранее скачанной с huggingface (не gguf).
—outfile mist_Q8_0.gguf — даем название выходному файлу mist_Q8_0.gguf, чтобы по названию понять что модель квантована (ухудшена до 8 бит по точности).
Далее параметр
—outtype q8_0 задает точность с которой переконвертироватьв формат gguf — для пережатия в 8 бит пишем q8_0
Можно использовать другие значения — f32, f16, bf16, q8_0, tq1_0, tq2_0 или auto.
Результатом выполнения станет файл mist_Q8_0.gguf, который теперь можно загрузить для использования например в koboldcpp.
Отправить ответ
Для отправки комментария вам необходимо авторизоваться.