阿里PAI平台模型微调步骤
阿里云PAI模型微调
1、准备离线数据集,链接
import pandas as pd
import json
# 读取 Excel 文件
file_path = "test.xlsx" # 请替换成你的文件路径
df = pd.read_excel(file_path)
# 确保表头匹配
required_columns = ["内容", "日期", "分类", "利好标的"]
if not all(col in df.columns for col in required_columns):
raise ValueError("Excel 文件缺少必要的列")
# 生成 JSONL 文件
output_file = "output.jsonl"
with open(output_file, "w", encoding="utf-8") as f:
for _, row in df.iterrows():
messages = [
{"role": "system", "content": "你是一位专业的金融分析师,专注于市场趋势分析和投资建议。"},
{"role": "user", "content": f"{row['日期']} {row['内容']}"},
{"role": "assistant", "content": f"分类: {row['分类']}。利好标的: {row['利好标的']}"}
]
json.dump({"messages": messages}, f, ensure_ascii=False)
f.write("\n") # 换行符分隔 JSONL 记录
print(f"JSONL 文件已保存至: {output_file}")
2、创建数据集,然后进行上传,地址
点击test,进入查看数据
最后点击上传即可
3、训练参考,链接
首先在pai平台的Model Gallery中选择一个模型,
配置好数据集的路径以及模型输出的地方,点击训练,就可以开始微调任务
从oss中下载模型
模型训练完成后,将模型从pai平台中下载到本地进行训练。
官方指导:
如果您要批量下载,建议使用ossutil或者ossbrowser工具下载可以直接下载目录下所有文件
ossutil是命令行工具 性能比较好 ossbrowser是图形化工具 操作简单
安装ossutil:https://help.aliyun.com/zh/oss/developer-reference/install-ossutil?spm=a2c4g.11186623.0.0.62c73dc8rjH4ZQ#concept-303829
配置ossutil:https://help.aliyun.com/zh/oss/developer-reference/configure-ossutil?spm=a2c4g.11186623.help-menu-31815.d_3_4_2_1.485548a2hP4Izf
cp(下载文件):https://help.aliyun.com/zh/oss/developer-reference/download-objects-5?spm=a2c4g.11186623.help-menu-31815.d_3_4_2_2_11_1.46c3508fvsX9ny
安装并登录ossbrowser:https://help.aliyun.com/zh/oss/developer-reference/install-and-log-on-to-ossbrowser?spm=a2c4g.11186623.help-menu-31815.d_3_4_4_0.15445825VwS7q6
快速使用ossbrowser:https://help.aliyun.com/zh/oss/developer-reference/use-ossbrowser?spm=a2c4g.11186623.help-menu-31815.d_3_4_4_1.322233b7ORga9F
本次采用ossutil命令行形式下载。
1、需要先进行key的获取:地址
2、ossutil配置:参考链接
在用户目录下配置.ossutilconfig
文件,如果没有就创建一个。
输入在第一步创建好的keyid和screte
在ossutil工具目录下打开cmd窗口,BucketName就是下面Bucket列表中的名字,通过cp命令可以下载文件夹,
# model/ 本地存放位置
ossutil cp -r oss://BucketName/model/ model/
本地部署
资料1:https://blog.youkuaiyun.com/arkohut/article/details/140087605
资料2:https://blog.youkuaiyun.com/weixin_46248339/article/details/139502733
资料3:https://juejin.cn/post/7332652230711509055
需要将Safetensors格式模型转为gguf格式
1、克隆llama.cpp的github仓库
git clone https://github.com/ggerganov/llama.cpp.git
2、编译该代码需要cmake,cmake下载地址
下载代码完成后,进入到llama.cpp
源码目录下,创建文件夹build
,进入build
中,执行cmake ..
然后直行cmake --build . --config Release
mkdir build
cd build
cmake ..
cmake --build . --config Release
3、转gguf格式
在llama.cpp源码目录中下载依赖:pip install -r requirements.txt
然后执行:python convert-hf-to-gguf.py ../../model --outtype f16,../../model
为下载的模型地址
最后编译的结果存在model文件夹下,该模型有60+G,可以使用编译好的llama文件进行模型量化,减小模型体积
之前在llama目录下创建了一个build文件夹,将编译后的文件存储在这里,找到bin目录,打开release文件,找到llama-quantize.exe文件,在这个目录下进入cmd,模型量化为 q4_0,也就是 int4 的版本。
llama-quantize.exe 生成的gguf模型地址 hermes-2-pro-llama-3-8b-q4_0.gguf q4_0
4、创建ModeFile文件
FROM "D:\Program Files\ossutil-2.0.6-beta.01091200-windows-amd64\model\Model-33B-F16-q0.gguf"
5、创建模型并加载指定路径的ModeFile文件
ollama create test16 -f "D:\Program Files\ossutil-2.0.6-beta.01091200-windows-amd64\ModeFile"
6、运行模型
ollama run test16
测试第一条训练数据,测试结果:
向量数据库部署
参考文档:https://cloud.tencent.com/developer/article/2494173
下载 AnythingLLM 并安装:https://anythingllm.com/desktop
安装完成后,进入,选择ollama的服务,选择想要的模型
然后下一步,创建工作区。设置工作区后,进入工作区,选中创建的工作区,点击上传
上传完成后,选中上传文件,点击move
然后保存即可。也可以通过 Data Connection 进行批量上传大规模文档