赞
踩
目录
1.以Chinese-Mistral-7B-Instruct-v0.1为例,将4个safetensors文件合并为一个模型文件
2.下载Chinese-Mistral-7B-Instruct-v0.1模型
使用ollama+open-webui可以轻松部署本地大模型,但是通过ollama下载的模型都是别人制作好的。我的模型部署思路是大模型为底座+lora微调,实现真正的个人大模型,后续将分享自己的lora微调经验和ollama调用lora。本文主要介绍如何在windows系统下将Safetensors 模型制作成ollama使用的自定义模型,linux系统自定义模型制作方法可直接按照官方文档执行。ollama官方文档提供了如何将GGUF,Pytorch或Safetensors 文件制作为自定义模型的方法。官方文档https://github.com/ollama/ollama/blob/main/docs/import.md
https://github.com/ollama/ollama/tree/main
https://github.com/ggerganov/llama.cpp
下载解压缩后,形成2个项目的文件
3.1以ollama为主项目,用pycharm打开ollama文件夹,显示如下:
3.2将之前下载的llama.cpp项目文件夹复制到图上的llama.cpp位置。鼠标选中llm文件夹,按ctral+v即粘贴至llama.cpp文件夹。效果如下所示:
打开终端,确保自己的路径如下所示。养成良好习惯,创建一个虚拟环境,然后再执行pip安装命令,确保不与电脑上的其他项目环境发生冲突。
pip install ./llm/llama.cpp/requirements.txt
模型可以在https://huggingface.co/,或者huggingface镜像网站https://hf-mirror.com/,或者魔搭社区进行下载,我用魔搭社区的python脚本进行下载,下载速度直接拉满,执行前需要先运行pip install modelscope 。
- from modelscope import snapshot_download
-
- #模型存放路径
- model_path = r'D:\huggingface'
- #模型名字
- name = 'itpossible/Chinese-Mistral-7B-Instruct-v0.1'
- model_dir = snapshot_download(name, cache_dir=model_path, revision='master')
- # python llm/llama.cpp/convert.py 刚才下载好的模型文件地址 --outtype f16 --outfile 保存的文件名.bin
-
- python llm/llama.cpp/convert.py D:\huggingface\itpossible\Chinese-Mistral-7B-Instruct-v0___1 --outtype f16 --outfile D:\huggingface\itpossible\converted.bin
合并后产生的文件converted.bin大小约14G
接下来,需要将14G的bin文件量化为4G左右。这个步骤需要编译文件,使用cmake工具来编译。传送门——cmake安装教程。同时,还需要安装编译器,我用visual studio安装的C++编译器。传送门——vs使用教程。
验证cmake是否安装成功,下图表示安装成功。
在 llm/llama.cpp文件夹下开始编译
- # 进入到llm/llama.cpp目录
- cd llm/llama.cpp
-
- #创建build文件夹
- mkdir build
-
- #进入build
- cd build
-
- # 构建
- cmake ..
- cmake --build . --config Release
编译过程需要一些,耐心等待一下。编译后生成的quantization.exe就是我们需要用到的工具。
- # bin/Release/quantize.exe 之前合并的14G大小文件.bin 量化后的文件.bin 量化大小
- bin/Release/quantize.exe D:\huggingface\itpossible\converted.bin D:\huggingface\itpossible\quantized.bin q4_0
官方文档提供了多种量化格式,常用的就是q4_0。
量化过程如下:
压缩量化完成后,生成一个新的文件quantized.bin,大约4G。之前14G的源文件可以删除了。
需要将quantized.bin文件制作为ollama可以使用的模型
Modelfile
文件创建一个test.Modelfile
文件,添加的内容如下
- FROM D:\huggingface\itpossible\quantized.bin
- TEMPLATE "[INST] {{ .Prompt }} [/INST]"
2.1指定生成的模型路径
设置模型文件保存位置,打开系统环境变量配置,添加一个环境变量OLLAMA_MODELS=D:\huggingface\ollama(自己指定任意一个文件夹路径),然后点确定。
2.2打开一个CMD终端
- # ollama create 模型名字 -f Modelfile文件路径
- ollama create panda -f C:\Users\Administrator\Desktop\ollama\test.Modelfile
2.3创建过程
2.4生成的模型
ollama run panda
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。