使用LLaMA-Factory对Llama3-8B-Chinese-Chat进行微调

文章目录

模型及数据:

模型下载

使用基于中文数据训练过的 LLaMA3 8B 模型:
Llama3-8B-Chinese-Chat: https://huggingface.co/shenzhi-wang/Llama3-8B-Chinese-Chat

可使用命令行下载

复制代码
pip install -U huggingface_hub #设置加速


export HF_ENDPOINT=https://hf-mirror.com

huggingface-cli download --resume-download shenzhi-wang/Llama3-8B-Chinese-Chat --local-dir /root/autodl-tmp/models/Llama3-8B-Chinese-Chat

数据

COIG-CQIA数据集小红书部分: https://huggingface.co/datasets/m-a-p/COIG-CQIA/tree/main/xhs
identity.json: https://github.com/echonoshy/cgft-llm/blob/master/llama-factory/data/identity.json

对小红书部分做了处理:Python:jsonl文件转json文件,并做字段处理-CSDN博客

最终所用数据:

https://github.com/towenzhi/quick-start-llm/tree/main/LLaMA-Factory/data

LLaMA-Factory启动

Github:https://github.com/hiyouga/LLaMA-Factory

LLaMA-Factory同时提供了命令行和可视化页面两种使用方式,可以不急着训练,先启动页面看看所需参数以便了解。

拉取代码

复制代码
git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e ".[torch,metrics]"

可选的额外依赖项: torch, torch-npu, metrics, deepspeed, bitsandbytes, hqq, eetq, gptq, awq, aqlm, vllm, galore, badam, qwen, modelscope, quality

这些依赖项可以等启动后再根据训练配置选装。

启动webui

在拉取到的目录下运行:

复制代码
llamafactory-cli webui

启动后便可通过本机的7860端口打开面板http://localhost:7860(若是远程GPU服务器,需要使用公网访问或ssh隧道代理到本地才行)。

模型训练

数据导入

已经将训练数据COIG-CQIA_xhs.jsonidentity.json放至/root/autodl-tmp/data目录下。

接下来通过修改LLaMA-Factory项目下的/data/dataset_info.json文件,来指定训练数据位置。

在该文件中新增如下内容,有关字段的解释可看

https://github.com/hiyouga/LLaMA-Factory/blob/main/data/README_zh.md

复制代码
 "COIG-CQIA_xhs": {
    "file_name": "/root/autodl-tmp/data/COIG-CQIA_xhs.json",
    "columns": {
      "prompt": "instruction",
      "query": "input",
      "response": "output"
    }
  },
  "identity": {
    "file_name": "/root/autodl-tmp/data/identity.json",
    "columns": {
      "prompt": "instruction",
      "query": "input",
      "response": "output"
    }
  }

数据预览

若数据导入操作正确,则在面板中刷新数据集即可看到刚才新增的两个数据集选项。

并可点击预览查看。

并选中新增的两个数据集。

设置模型路径

开始时已经模型下载到/root/autodl-tmp/models/Llama3-8B-Chinese-Chat目录,在上方选择对应模型并填入路径即可。

配置参数及参数的保存

设置完上述内容后即可作参数设置,并可以预览参数命令。

开始训练

过程观察

训练过程中可以观察在运行LLaMA-Factory终端的日志、损失图、以及系统资源占用情况。

可以安装apt install nvitop观察GPU更方便。

加载模型、对话

待显示"训练完毕后"即可加载模型,使用对话观察效果。

在"检查点路径"处填写训练时设置的保存路径,然后在"chat"菜单中加载模型即可。

训练前:

训练后:

模型导出、再次加载

在"检查点路径"处填写训练时设置的保存路径,设置各项导出参数路径。

导出后的目录内容:

加载使用:

导出完毕后可以单独加载该模型对话,观察效果。

相关推荐
德育处主任Pro1 天前
前端玩转大模型,DeepSeek-R1 蒸馏 Llama 模型的 Bedrock 部署
前端·llama
relis2 天前
AVX-512深度实现分析:从原理到LLaMA.cpp的性能优化艺术
性能优化·llama
relis3 天前
llama.cpp RMSNorm CUDA 优化分析报告
算法·llama
云雾J视界3 天前
开源革命下的研发突围:Meta Llama系列模型的知识整合实践与启示
meta·开源·llama·知识管理·知识整合·知识迭代·知识共享
丁学文武5 天前
大模型原理与实践:第三章-预训练语言模型详解_第3部分-Decoder-Only(GPT、LLama、GLM)
人工智能·gpt·语言模型·自然语言处理·大模型·llama·glm
余衫马5 天前
llama.cpp:本地大模型推理的高性能 C++ 框架
c++·人工智能·llm·llama·大模型部署
LETTER•9 天前
Llama 模型架构解析:从 Pre-RMSNorm 到 GQA 的技术演进
深度学习·语言模型·自然语言处理·llama
拓端研究室9 天前
JupyterLab+PyTorch:LoRA+4-bit量化+SFT微调Llama 4医疗推理应用|附代码数据
llama
之歆11 天前
LangGraph构建多智能体
人工智能·python·llama
胡耀超13 天前
开源生态与技术民主化 - 从LLaMA到DeepSeek的开源革命(LLaMA、DeepSeek-V3、Mistral 7B)
人工智能·python·神经网络·开源·大模型·llama·deepseek