【Qwen3_ 4b lora xinli】
我需要 基于llamafactory框架选取基本上相同的数据集用lora微调Qwen3_ 4b两次并保存lora参数然后分别合并这两个lora参数到基座模型。再换个数据集上接着进行微调。并且保存新的lora参数,然后我们匹配这里面的特征值和特征向量,如果这两个新的lora参数的特征值和特征向量有显著不同,并且跟他们微调到一半的时候的特征值和特征下降更相似的话(绘制loss 曲线)
进入气质开发机
cd /tmp/code/
基本上相同的数据集
xinli数据集下载
打开数据集 需要一段时间请耐心等待
构建dataset_info 并用vim写入到dataset_info.json中
可选构建字段
目前我们支持 **alpaca** 格式和 **sharegpt** 格式的数据集。```json
"数据集名称": {"hf_hub_url": "Hugging Face 的数据集仓库地址(若指定,则忽略 script_url 和 file_name)","ms_hub_url": "ModelScope 的数据集仓库地址(若指定,则忽略 script_url 和 file_name)","script_url": "包含数据加载脚本的本地文件夹名称(若指定,则忽略 file_name)","file_name": "该目录下数据集文件夹或文件的名称(若上述参数未指定,则此项必需)","formatting": "数据集格式(可选,默认:alpaca,可以为 alpaca 或 sharegpt)","ranking": "是否为偏好数据集(可选,默认:False)","subset": "数据集子集的名称(可选,默认:None)","split": "所使用的数据集切分(可选,默认:train)","folder": "Hugging Face 仓库的文件夹名称(可选,默认:None)","num_samples": "该数据集所使用的样本数量。(可选,默认:None)","columns(可选)": {"prompt": "数据集代表提示词的表头名称(默认:instruction)","query": "数据集代表请求的表头名称(默认:input)","response": "数据集代表回答的表头名称(默认:output)","history": "数据集代表历史对话的表头名称(默认:None)","messages": "数据集代表消息列表的表头名称(默认:conversations)","system": "数据集代表系统提示的表头名称(默认:None)","tools": "数据集代表工具描述的表头名称(默认:None)","images": "数据集代表图像输入的表头名称(默认:None)","videos": "数据集代表视频输入的表头名称(默认:None)","audios": "数据集代表音频输入的表头名称(默认:None)","chosen": "数据集代表更优回答的表头名称(默认:None)","rejected": "数据集代表更差回答的表头名称(默认:None)","kto_tag": "数据集代表 KTO 标签的表头名称(默认:None)"},"tags(可选,用于 sharegpt 格式)": {"role_tag": "消息中代表发送者身份的键名(默认:from)","content_tag": "消息中代表文本内容的键名(默认:value)","user_tag": "消息中代表用户的 role_tag(默认:human)","assistant_tag": "消息中代表助手的 role_tag(默认:gpt)","observation_tag": "消息中代表工具返回结果的 role_tag(默认:observation)","function_tag": "消息中代表工具调用的 role_tag(默认:function_call)","system_tag": "消息中代表系统提示的 role_tag(默认:system,会覆盖 system column)"}
}
```
显然我们 是 Sharegpt 格式
## Sharegpt 格式### 指令监督微调数据集- [样例数据集](glaive_toolcall_zh_demo.json)相比 alpaca 格式的数据集,sharegpt 格式支持**更多的角色种类**,例如 human、gpt、observation、function 等等。它们构成一个对象列表呈现在 `conversations` 列中。注意其中 human 和 observation 必须出现在奇数位置,gpt 和 function 必须出现在偶数位置。```json
[{"conversations": [{"from": "human","value": "人类指令"},{"from": "function_call","value": "工具参数"},{"from": "observation","value": "工具结果"},{"from": "gpt","value": "模型回答"}],"system": "系统提示词(选填)","tools": "工具描述(选填)"}
]
```对于上述格式的数据,`dataset_info.json` 中的*数据集描述*应为:```json
"数据集名称": {"file_name": "data.json","formatting": "sharegpt","columns": {"messages": "conversations","system": "system","tools": "tools"}
}
```
嗯嗯 基于llamafactory框架微调Qwen3 4b两次保存lora参数
如果您需要使用自定义数据集,请在 data/data_info.json
中添加自定义数据集描述并确保 数据集格式 正确,否则可能会导致训练失败。
vim dataset_info.json
"Omni-MATH-reward": {"hf_hub_url": "KbsdJames/Omni-MATH","ms_hub_url": "AI-ModelScope/Omni-MATH","file_name": "reward_train.jsonl","ranking": true,"columns": {"prompt": "instruction","query":"input","chosen":"chosen","rejected":"rejected"}},
bash examples/train_lora/qwen3_4b_lora.shllamafactory-cli train examples/train_lora/llama3_lora_ppo-Copy1.yaml
SFT 训练 - LLaMA Factory
llamafactory-cli: 未找到命令
请
pip install -e ".[torch,metrics]"
UltraFeedback: Mirror of https://huggingface.co/datasets/openbmb/UltraFeedback
总计 84
drwxr-xr-x 11 root root 4096 5月 9 19:26 ./
drwxrwxrwt 1 root root 85 5月 9 18:15 ../
-rw-r--r-- 1 root root 733 5月 8 21:46 22.sh
-rw-r--r-- 1 root root 178 5月 8 15:48 33.sh
-rw-r--r-- 1 root root 803 5月 8 21:35 44.sh
-rw-r--r-- 1 root root 128 5月 8 16:24 55.py
-rw-r--r-- 1 root root 736 5月 8 22:25 66.sh
-rw-r--r-- 1 root root 1051 5月 9 16:07 convert_dp.py
-rw-r--r-- 1 root root 1293 5月 9 12:25 convert.py
-rw-r--r-- 1 root root 0 5月 9 12:17 convert_to_preference.py
drwxr-xr-x 6 root root 114 5月 9 19:20 datasets/
drwxr-xr-x 2 root root 335 5月 9 19:22 .ipynb_checkpoints/
drwxr-xr-x 12 root root 4096 5月 9 11:53 LLaMA-Factory/
drwxr-xr-x 14 root root 4096 5月 8 22:22 output/
drwxr-xr-x 2 root root 4096 5月 8 14:27 Qwen3-4B/
drwxr-xr-x 3 root root 30 5月 8 15:09 result/
-rw-r--r-- 1 root root 576 5月 9 14:38 rm.sh
drwxr-xr-x 5 root root 4096 5月 9 19:27 Skywork-o1-Open-PRM-Qwen-2.5-1.5B/
drwxr-xr-x 12 root root 4096 5月 8 14:25 swift/
-rw-r--r-- 1 root root 1341 5月 9 19:26 task.txt
drwx------ 4 root root 43 5月 8 14:40 .Trash-0/
-rw-r--r-- 1 root root 2287 5月 9 12:26 un.txt
-rw-r--r-- 1 root root 19541 5月 9 12:05 ww.py
发现有个写好的但不知道有没有用
LLaMA-Factory/examples/train_lora/llama3_lora_ppo-Copy1.yaml
LLaMA-Factory/examples/train_lora/qwen3_4b_lora.sh