swift和llama factory微调实录

打印 上一主题 下一主题

主题 961|帖子 961|积分 2883

Swift:

1、下载模型(gemma-2-9b-it)
软件依赖:
pip install protobuf 'transformers>=4.30.2' cpm_kernels 'torch>=2.0' gradio mdtex2html sentencepiece accelerate
软件下载:
pip install modelscope
模型下载:
export MODELSCOPE_CACHE='/hy-tmp' 设置下载路径
modelscope download --model LLM-Research/gemma-2-9b-it

2、下载swift框架(通过源码安装SWIFT——>可以修改安装包,方便运行训练和推理脚本)
git clone https://github.com/modelscope/swift.git
cd swift
pip install -e '.[all]'

3、启动网页端
cd swift
swift web-ui

4、在网页端设置参数,开始微调

LLaMA-Factory:

1、下载模型(Llama3-8B-Chinese-Chat)

pip install modelscope
export MODELSCOPE_CACHE='/hy-tmp'
modelscope download --model LLM-Research/Llama3-8B-Chinese-Chat

2、下载框架
git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e .

**准备数据集(本身的):
将训练数据放在 LLaMA-Factory/data目录下
并且修改数据注册文件:LLaMA-Factory/data/dataset_info.json,添加以下字段即可
  1. "fintech": {
  2.   "file_name": "fintech.json",
  3.   "columns": {
  4.     "prompt": "instruction",
  5.     "query": "input",
  6.     "response": "output",
  7.     "history": "history"
  8.   }
  9. }
复制代码

本来配有的identify数据集,需要本身修改一下{name}和{author},比如改成如许:


3、启动网页端
cd LLaMA-Factory
llamafactory-cli webui

4、在网页端设置参数,开始微调
微调——本地部署(试试效果)——(可以后就)归并导出(要设置导出路径,可以把它放在原模型同一目录下,/hy-tmp/hub/LLM-Research/Llama3-8B-Chinese-Chat-merged)

下令行方式:
创建cust文件夹,添加merge_lora.yaml
  1. ### examples/merge_lora/llama3_lora_sft.yaml
  2. ### model
  3. model_name_or_path: /hy-tmp/hub/LLM-Research/Llama3-8B-Chinese-Chat
  4. adapter_name_or_path: /hy-tmp/LLaMA-Factory/saves/Llama-3-8B-Chinese-Chat/lora/train_2024-11-21-12-40-09
  5. template: llama3
  6. finetuning_type: lora
  7. ### export
  8. export_dir: /hy-tmp/hub/LLM-Research/Llama3-8B-Chinese-Chat-merged
  9. export_size: 2
  10. export_device: cuda
  11. export_legacy_format: false
复制代码
运行llamafactory-cli export /hy-tmp/LLaMA-Factory/cust/merge_lora.yaml
完成后就会发现模型文件夹多出了归并完权重后的新模型
(可以在本地部署时直接选该模型,就不消添加查抄点路径了)



补充:
1、pip install -U huggingface_hub:通过 pip 安装或更新 huggingface_hub 包到最新版本
(-U 或 --upgrade 参数表示如果已经安装了该包,则会将其升级到最新版本;如果没有安装,则会安装最新版本)
(huggingface_hub 是一个 Python 库,它允许用户直接从 Python 脚本中访问 Hugging Face 模型仓库中的模型和数据集。通过这个库,开辟者可以轻松地上传、下载和管理本身的模型和数据集)

  pip install huggingface-cli:安装 huggingface-cli 工具
(huggingface-cli 是 Hugging Face 提供的一个下令行接口工具)
如果你需要在 Python 脚本中以编程方式访问 Hugging Face 模型仓库的功能,应该安装 huggingface_hub。
如果你希望利用下令行工具来简化与 Hugging Face 模型仓库的交互,那么安装 huggingface-cli 会是一个不错的选择。  两者都可以单独利用,也可以结合利用。

CLI 是 "Command Line Interface" 的缩写,意为下令行接口
GUI是图形用户界面
CLI可以举行更精致的控制,占用的系统资源更少
常见的CLI工具:
bash(linux)、cmd和powershell(windows)、
专用 CLI 工具:
Git:版本控制系统,可以通过下令行举行操作。
Docker:容器化平台,提供了一系列下令行工具。
Hugging Face CLI:用于与 Hugging Face 模型仓库举行交互的下令行工具。

2、huggingface-cli download --resume-download shenzhi-wang/Llama3-8B-Chinese-Chat --local-dir hy-tmp
如果你利用了 --local-dir 参数,文件会保存在你指定的目录里,否则会保存在当前工作目录下

3、清空文件夹hy-tmp
rm -rf hy-tmp/.* hy-tmp/*(删除潜伏文件、所有文件和子文件夹)
-r 表示递归删除,即删除文件夹及其所有内容
-f 表示逼迫删除,不会提示确认

4、显存不够时(OutOfMemoryError)
ctrl+C:关闭进程,手动关闭竣事其他进程,重新运行
减小batch-size

监控显存:watch -n 1 nvidia-smi(每秒运行一次)


5、

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

万有斥力

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表