马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
参考
- LLaMA-Factory官网https://llamafactory.readthedocs.io/zh-cn/latest/#
- LLaMA-Factory+Ollama利用流程 https://zhuanlan.zhihu.com/p/991206079
微调和搭建知识库的区别
- rag须要载体(类似向量数据库,文档等)去承载知识库。
- 微调直接将功能参加到模子当中。
- 针对场景而定,团结知识库比力机动,节省训练的算力。微调简朴粗暴,有模子即可举行推理。
摆设
默认cuda安装都已经完成,网上许多教程,不在这里多说。
运行以下指令以安装 LLaMA-Factory 及其依赖:- # 获取项目
- git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
- # 进入项目
- cd LLaMA-Factory
- # 创建环境
- conda create -n llama_factory python=3.10
- # 激活环境
- conda activate llama_factory
- # 安装依赖
- pip install -e ".[torch,metrics]"
复制代码 完成安装后,可以通过利用 llamafactory-cli version 来快速校验安装是否乐成。
如果能乐成看到类似 “Welcome to LLaMA Factory, version ······” 的字样,分析安装乐成。
启动
进入webui打开链接即可看到训练平台。
利用训练平台
WebUI 紧张分为四个界面:训练、评估与猜测、对话、导出。
1.训练
须要指定的参数有:
- 模子名称及路径
- 训练阶段
- 微调方法
- 训练数据集
- 学习率、训练轮数等训练参数
- 微调参数等其他参数
- 输出目次及设置路径
比如说,我选择的就是Baichuan-7B-Base的中文对话模子,数据集也选择的是alpaca的中文数据集。
随后,可以点击 开始 按钮开始训练模子。
注!!!若利用CPU训练大概会报Warning,如果自己就用cpu,忽略即可,如果要用gpu,应该是torch没下载配套cuda,重新安装torch即可办理题目- # 卸载 重新下载
- pip uninstall torch
- pip install torch
- # python执行
- import torch
- # 是否有gpu
- print(torch.cuda.is_available())
- # gpu型号
- print(torch.cuda.get_device_name(0))
复制代码
2.评估猜测与对话
模子训练完毕后,通过在评估与猜测界面通过指定 模子 及 适配器 的路径在指定命据集上举行评估。
也可以通过在对话界面指定 模子、 适配器 及 推理引擎 后输入对话内容与模子举行对话观察结果。
3.导出
在导出界面通过指定 模子、 适配器、 分块巨细、 导出量化品级及校准数据集、 导出装备、 导出目次 等参数后,点击 导出 按钮导出模子。
(如果须要摆设到Ollama上,请肯定记得把模子导出)
示例:微调中文对话大模子
利用alpaca_zh_demo数据集微调Llama-3-8B-Chinese-Chat模子
训练过程的Loss曲线如下:
导出模子:
4.利用自己的数据举行微调
添加数据集信息
路径地点:/root/scratch/LLaMA-Factory/data
在dataset_info.json中参加自己的数据集名称和位置。custom_data为数据集的名称,test.json为位置,位置路径默以为在/root/scratch/LLaMA-Factory/data/test.json这个位置。
weiui同步可以表现名称
添加自己的数据
/root/scratch/LLaMA-Factory/data/test.json在这里添加数据
模子转换
模子导出
llama_factory中导出,比如导出文件夹地点为/root/scratch/LLaMA-Factory/saves/test
转换工具安装
git地点:https://github.com/ggml-org/llama.cpp- cd /root/scratch/LLaMA-Factory
- git clone https://github.com/ggml-org/llama.cpp
- cd llama.cpp
- python convert_hf_to_gguf.py /root/scratch/LLaMA-Factory/saves/test \
- --outfile /root/scratch/LLaMA-Factory/saves/output-100.gguf --outtype q8_0
复制代码 注!!地点肯定要选择导出的地点
导入ollama
- 创建Modelfile.txt
空的就可以 地点在/root/scratch/LLaMA-Factory/saves/test_ollama/Modelfile.txt
- 文件中写入转换后的gguf地点
FROM /root/scratch/LLaMA-Factory/saves/output-100.gguf
- 导入
- ollama create model_name -f /root/scratch/LLaMA-Factory/saves/test_ollama/Modelfile.txt
复制代码 模子转向量
作用:
如果服务器没有可以利用大模子的条件,可以用这个方法转换为向量,利用向量作分类算法大概存储的向量数据库中做查重,可以大概利用到大模子的一点功能。- # 查看拥有的模型
- ollama list
- # 返回
- NAME ID SIZE MODIFIED
- deepseek-r1:14b ea35dfe18182 9.0 GB 5 days ago
- model_name:latest 4060b56febd6 1.6 GB 2 minutes ago
- # 激活环境
- conda activate llama_factory
- # 安装包
- pip install langchain_ollama
- # 执行脚本
- from langchain_ollama import OllamaEmbeddings
- # 使用 Ollama Embeddings 模型
- embeddings = OllamaEmbeddings(model="deepseek-r1:14b")
- # 嵌入查询文本
- result = embeddings.embed_query("My query to look up")
- print(result)
复制代码 后续工作
可以参考openwebui与ollama的团结
|