上期我们已经成功的训练了模型,让llama3中文聊天版知道了自己的名字
这次我们从合并模型开始,然后使用llama.cpp量化成gguf格式,并且调用api
(1) 前期准备
上期链接: 基于LLaMA-Factory微调llama3成为一个角色扮演大模型,保姆级教学零基础,导出GGUF格式前篇-CSDN博客
首先根据上期内容将llama3成功微调后
(2) 合并模型
首先我们先准备个配置文件
在 " /root/autodl-tmp/LLaMA-Factory/cust/ " 目录下创建merge_llama3_lora_sft.yaml
在文件中输入:
### Note: DO NOT use quantized model or quantization_bit when merging lora adapters
### model
model_name_or_path: /root/autodl-tmp/models/Llama3-8B-Chinese-Chat/
adapter_name_or_path: /root/autodl-tmp/LLaMA-Factory/saves/LLaMA3-8B-Chinese-Chat/lora/train_2024-08-05-11-44-21
template: llama3
finetuning_type: lora### export
export_dir: /root/autodl-tmp/models/LLaMA3-8B-Chinese-Chat-merged
export_size: 4
export_device: cuda
export_legacy_format:
其中:
model_name_or_path是你本来的模型地址,就是你在huggingface上面下载的那个
adapter_name_or_path是你微调后生成的模型地址
export_dir是你导出的地址,建议新建一个文件夹叫LLaMA3-8B-Chinese-Chat-merged来保存
准备好后在终端输入
llamafactory-cli export cust/merge_llama3_lora_sft.yaml
请确认在 “ /autodl-tmp/LLaMA-Factory ”的目录下运行
合并后可以在/root/autodl-tmp/models/LLaMA3-8B-Chinese-Chat-merged中查看模型
(3) 下载llama.cpp
首先终端执行命令移动到autodl-tmp/目录下
cd /root/autodl-tmp/
然后执行命令,下载llama.cpp
git clone https://github.com/ggerganov/llama.cpp
进入文件
cd /root/autodl-tmp/llama.cpp
(4) 量化
在autodl-tmp/models/下新建一个文件夹,命名为:
Llama3-8B-Chinese-Chat-GGUF
将 safetensors 格式转成 gguf
python convert_hf_to_gguf.py /root/autodl-tmp/models/Llama3-8B-Chinese-Chat-merged --outfile /root/autodl-tmp/models/Llama3-8B-Chinese-Chat-GGUF/Llama3-8B-Chinese-Chat-q8_0-v1.gguf --outtype q8_0
可修改的:
1.第一个地址就是你放合并后模型的地址
2.第二个地址--outfile后的就是导出的地址精确到文件名
查看文件:
可以在导出的地址中找到量化好的文件,比如我的地址就是:
/root/autodl-tmp/models/Llama3-8B-Chinese-Chat-GGUF/Llama3-8B-Chinese-Chat-q8_0-v1.gguf
(这一步请跳过,非必须) 将 gguf 格式进行(再)量化
cd ~/code/llama.cpp/build_cuda/bin
./quantize --allow-requantize /root/autodl-tmp/models/Llama3-8B-Chinese-Chat-GGUF/Llama3-8B-Chinese-Chat-q8_0-v2_1.gguf /root/autodl-tmp/models/Llama3-8B-Chinese-Chat-GGUF/Llama3-8B-Chinese-Chat-q4_1-v1.gguf Q4_1
(5) 下载模型
在导出地址中找到文件后,右键,点击下载就自动在浏览器下载了
如果没反应换成Chrome浏览器
(6) 使用ollama生成模型API
6.1 ollama下载及其环境配置
环境配置及其下载请看我前几期博客:Llama 3增强中文理解能力,并生成内网穿透API后Spring Boot请求-CSDN博客
6.2新建模型
将下载好gguf文件的放到ollama的模型位置
然后右键新建一个txt文档
改名为Modelfile并且把后面的".txt"给删掉,变成我这样
用记事本打开它,输入
FROM [你自己的模型地址]
TEMPLATE """{{ if .System }}<|start_header_id|>system<|end_header_id|>{{ .System }}<|eot_id|>{{ end }}{{ if .Prompt }}<|start_header_id|>user<|end_header_id|>
{{ .Prompt }}<|eot_id|>{{ end }}<|start_header_id|>assistant<|end_header_id|>
{{ .Response }}<|eot_id|>"""
SYSTEM """You are a helpful assistant. 你是一个乐于助人的助手。"""
PARAMETER temperature 0.2
PARAMETER num_keep 24
PARAMETER stop <|start_header_id|>
PARAMETER stop <|end_header_id|>
PARAMETER stop <|eot_id|>
然后在你的文件位置的地址栏中输入cmd
创建一个模型(名字自定义)
ollama create llama3-zh-inst -f Modelfile
然后执行命令
ollama serve
如果出现这个错误,说明开机自动启动了
任务管理器关闭下就行
然后打开你的postman,输入我的这些测试下
{
"model": "llama3-zh-inst",
"prompt": "你叫什么名字?",
"stream": false
}
如果出现我的这个就说明成功了
附赠:
查看ollama已创模型:
ollama list
删除模型:
ollama rm 模型名字
免责声名:一切均严格参照ollama开源策略,没有任何侵权意图,本文章全由自己编写,如出现任何问题请联系我,我将删除。
标签:tmp,autodl,Chat,Chinese,8B,模型,gguf,llama,root From: https://blog.csdn.net/m0_69684643/article/details/140974505