当前位置:   article > 正文

ollama把huggingface下载下来的模型转换为gguf_ollama转换模型步骤

ollama转换模型步骤

说明

ollama导入从huggingface下载下来的模型在ollama的说明文档中有详细的介绍,大家可以按照文档说明进行操作。importing-pytorch–safetensors 。既然官方已经给出了明确的操作步骤,那么我写这篇博客的意义又是什么呢?主要有两个目的:1.我的操作可能更适合中国宝宝体质 2.方便后期自己查看

要求

  • 建议使用conda管理python环境
  • 建议使用linux或mac环境,如果只有windows环境建议安装wsl
  • 也可以在docker容器中运行,方便其他人共用(这篇文章采用docker的方式运行,有需要的同学可以找我要docker镜像)

操作步骤

拉取基础镜像

docker pull  continuumio/anaconda3:2024.02-1

  • 1
  • 2
  • 3
启动容器
docker run -itd --name gguf-convert  continuumio/anaconda3:2024.02-1
# 创建工作目录
mkdir work
cd work
  • 1
  • 2
  • 3
  • 4
进入容器
docker exec -it gguf-convert bash
  • 1
下载ollama/ollama代码
git clone https://github.com/ollama/ollama.git ollama
cd ollama
  • 1
  • 2
获取其llama.cpp子模块
git submodule init
git submodule update llm/llama.cpp
  • 1
  • 2
创建python环境
conda create -n llama-env python=3.11.0

conda activate llama-env

pip install -r llm/llama.cpp/requirements.txt

pip install tiktoken
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
安装make
# 查看是否安装make
make --version
# 如果没有安装,则继续安装
apt-get update
apt-get install build-essential
  • 1
  • 2
  • 3
  • 4
  • 5
构建quantize工具
make -C llm/llama.cpp quantize
  • 1
下载HuggingFace中的模型 (可选择)

从官网或者镜像网站上下载需要的模型,说明文档中采用git lfs的方式进行下载,使用过程中发现会报错,建议手动下载(用迅雷会快些),下载完成后把数据放在/root/work目录下

转换模型

一些模型需要特殊的转换脚本,比如千问的模型可能就需要convert-hf-to-gguf.py脚本才可以正常转换

cd llm/llama.cpp
python convert-hf-to-gguf.py /root/work/MindChat/
  • 1
  • 2

生成的文件是:/root/work/MindChat/ggml-model-f16.gguf

番外篇

X-D-Lab/MindChat-Qwen-7B-v2模型转换为gguf
下载模型

模型下载完毕后(需要检查文件是否下载完整,下载不完整转换会报错),移动到 /root/work 目录下

切换git版本

截至到2024年05月22日ollama的开源代码是有问题的,需要回退到指定版本(如果已经切换到指定版本不需要重复切换

cd /root/work/ollama/llm/llama.cp
git reset --hard 46e12c4692a37bdd31a0432fc5153d7d22bc7f72
  • 1
  • 2
转换
python convert-hf-to-gguf.py /root/work/MindChat/
  • 1

其他

llama.cp提供了更加详细的向量化教程,参考:git-instruction

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/613433
推荐阅读
相关标签
  

闽ICP备14008679号