论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
前端开发
›
LlamaFactory Lora 归并大模型,GGUF 转换与 Ollama 部署 ...
LlamaFactory Lora 归并大模型,GGUF 转换与 Ollama 部署Open_WebUI全流程 ...
金歌
金牌会员
|
2025-2-14 07:40:57
|
显示全部楼层
|
阅读模式
楼主
主题
916
|
帖子
916
|
积分
2748
模型归并
将 base model 与训练好的 LoRA Adapter 归并成一个新的模型。注意:不要使用量化后的模型或
quantization_bit参数进行归并。
我们可以在llamafactory界面上讲模型进行归并,或者是使用命令行对模型进行归并
1、使用界面对模型进行归并
2、使用命令行对模型进行归并
首先这里你需要新建一个配置文件merge_llama3_lora_sft.yaml(名字可以自界说)
以下是 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/code/LLaMA-Factory/saves/LLaMA3-8B-Chinese
Chat/lora/train_2024-05-25-20-27-47
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: fals
复制代码
实行以下命令来归并模型:
llamafactory-cli export cust/merge_llama3_lora_sft.yaml
复制代码
2. 将hf模型转换为GGUF
2.1 需要用llama.cpp堆栈的convert_hf_to_gguf.py脚原来转换
== 需要注意llama.cpp所需的pytorch版本是2.2.1的,而我们的base环境中的pytorch是2.1.0的,假如实行惊醒llama.cpp的环境安装会和我们原来的pytorch版本有辩论,由于我们使用conda虚拟环境安装llama.cpp ==
1、使用conda创建llamacpp虚拟环境
conda create --name llamacpp
复制代码
2、初始化基础环境
source activate
复制代码
3、进入到llamacpp环境
conda activate llamacpp
复制代码
git clone https://github.com/ggerganov/llama.cpp.git
pip install -r llama.cpp/requirements.txt
复制代码
2.2 实行转换
# 如果不量化,保留模型的效果
python llama.cpp/convert_hf_to_gguf.py ./Meta-Llama-3-8B-Instruct --outtype f16 --verbose --outfile Meta-Llama-3-8B-Instruct-gguf.gguf
# 如果需要量化(加速并有损效果),直接执行下面脚本就可以
python llama.cpp/convert_hf_to_gguf.py ./Meta-Llama-3-8B-Instruct --outtype
q8_0 --verbose --outfile Meta-Llama-3-8B-Instruct-gguf_q8_0.gguf
复制代码
这里--outtype是输出类型,代表含义:
q2_k:特定张量(Tensor)采用较高的精度设置,而其他的则保持基础级别。
q3_k_l、q3_k_m、q3_k_s:这些变体在不同张量上使用不同级别的精度,从而达到性能和效率的平衡。
q4_0:这是最初的量化方案,使用 4 位精度。
q4_1 和 q4_k_m、q4_k_s:这些提供了不同程度的准确性和推理速度,适合需要平衡资源使用的场景。
q5_0、q5_1、q5_k_m、q5_k_s:这些版本在保证更高准确度的同时,会使用更多的资源并且推理速度较
慢。
q6_k 和 q8_0:这些提供了最高的精度,但是因为高资源消耗和慢速度,可能不适合所有用户。
fp16 和 f32: 不量化,保留原始精度。
复制代码
2.3 转换后的模型
3. 使用ollama运行gguf
== ollama对pytorch、cuda版本没有要求这个可以在服务器的基础环境中进行安装==
3.1 安装ollama
curl -fsSL https://ollama.com/install.sh | sh
复制代码
3.2 启动ollama服务
ollama serve
复制代码
3.3 创建ModelFile
这一步是使用ollama将模型再进行一次转换,便于ollama进行管理,有点像docker创建images
复制模型路径,创建名为“ModelFile”的meta文件,内容如下
#GGUF文件路径
FROM /root/autodl-tmp/Llama3-8B/LLM-Research/Meta-Llama-3-8B-Instruct-gguf8.gguf
复制代码
3.4 创建自界说模型
使用ollama create命令创建自界说模型
ollama create llama-3-8B-Instruct --file ./ModeFil
```
## 3.5 运行模型
```powershell
ollama run llama-3-8B-Instruct
复制代码
4. 使用 Open WebUI 部署模型
Open WebUI
Open WebUI 是一个可扩展的、自托管的 AI 界面,可以顺应您的工作流程,同时完全离线操作。
堆栈
文档
4.1 创建虚拟环境
open-webui对python的版本和pytorch、transformers版本都有要求,需要创建虚拟环境
conda create -n open-webui python==3.11
复制代码
4.2 安装全部依靠
conda activate open-webui
pip install -U open-webui torch transformers
复制代码
4.3 运行 ollama
ollama serve
复制代码
ollama运行后会在本地端口暴露一个 openai API 服务,我们背面使用 open-webui 来毗连就可以了
4.4 运行 open-webui
由于 ollama 的运行导致原终端阻塞,因此要另外开一个新终端 。同时要实行以下操作
open-webui要依靠hf的包
conda activate open-webui
export HF_ENDPOINT=https://hf-mirror.com
export ENABLE_OLLAMA_API=True
export OPENAI_API_BASE_URL=http://127.0.0.1:11434/v1
export DEFAULT_MODELS="/root/app/llm/Qwen/Qwen1___5-1___8B-Chat"
open-webui serve
复制代码
4.5 启动浏览器,开始对话
对话窗口如下:
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
金歌
金牌会员
这个人很懒什么都没写!
楼主热帖
iOS 集成WebRTC相关知识点总结 ...
白鲸开源 DataOps 平台加速数据分析和 ...
SQL Server 2014完全卸载与SQL Server ...
缓存穿透,缓存雪崩,缓存击穿 ...
【docker专栏6】详解docker容器状态转 ...
一个工作薄中快速新建多个数据表 ...
查漏补缺——路由显示的是http://local ...
【ALM工具软件】上海道宁与Perforce为 ...
.NET ORM框架HiSql实战-第一章-集成HiS ...
iOS直播/游戏怎么利用特殊音效制造娱乐 ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表