大连密封材料 发表于 2024-9-22 03:58:24

使用LLaMA-Factory来实现微调ChatGLM-3B

前提:本文是使用阿里云的人工智能PAI平台的交互式建模(DSW)来进行的如下操纵
安装LLaMA-Factory

# 克隆项目
git clone https://github.com/hiyouga/LLaMA-Factory.git

# 安装项目依赖
cd LLaMA-Factory
pip install -r requirements.txt
pip install transformers_stream_generator bitsandbytes tiktoken auto-gptq optimum autoawq
pip install --upgrade tensorflow
pip uninstall flash-attn -y

# 运行
CUDA_VISIBLE_DEVICES=0 python src/train_web.py
留意:如果启动后的界面显示error,则必要下载模型展示工具:
pip install "gradio>=3.38.0,<4.0.0" 启动乐成后的界面:
https://i-blog.csdnimg.cn/blog_migrate/cf3e87a9ea2c9f8b6bf18a8939b13871.png
训练集配置

自定义训练集

# 自定义数据集
[
    {
      "instruction": "用户指令(必填)",
      "input": "用户输入(选填)",
      "output": "模型回答(必填)",
      "system": "系统提示词(选填)",
      "history": [
            ["第一轮指令(选填)", "第一轮回答(选填)"],
            ["第二轮指令(选填)", "第二轮回答(选填)"]
      ]
    }
]
将自定义训练集放到LLaMA-Factory的data目次下,并在dataset_info.json文件中加入文件的SHA1值:
https://i-blog.csdnimg.cn/blog_migrate/95b7943ed33138d0529635de59d9bc93.png
生成SHA1值:
Get-FileHash -Path "C:\path\to\your\file.ext" -Algorithm SHA1 末了就可以在界面上瞥见自定义的数据集
https://i-blog.csdnimg.cn/blog_migrate/76ffb92bc5d2ff19daab38198faf19b5.png
微调方法



[*]full:微调解个模型。
[*]冻结(freeze):冻结大多数模型参数,只微调少数参数。
[*]lora:冻结一些模型参数,只微调一些,但特别是在某些层上。
高级配置

        分为Train, Evaluate & Predict, Chat, 和Export 选项卡
Train选项

训练阶段

分为Pre-Training, Supervised Fine-Tuning, Reward Modeling, PPO, and DPO。我们在这里选择Supervised Fine-Tuning,可以进步特定任务的准确性
学习率

较高的学习率可以加速模型的学习,但过高的学习率可能会导致模型“跳过”最优解。速率过低会减慢学习速率。默认5e-5
丧失函数曲线:loss

丧失函数值越小,模型预测性能越好
Chat选项

根据对应的适配器导入训练好的模型,来进行测试
Export选项

填写导出到文件的目次位置来进行导出训练好的模型
https://i-blog.csdnimg.cn/blog_migrate/09acfb1d2770ac95c1f930c6e9efdccf.png
结果图:
https://i-blog.csdnimg.cn/blog_migrate/09f3a8a65217c1ea3ae58f43cdf8829c.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 使用LLaMA-Factory来实现微调ChatGLM-3B