(LLaMa Factory)大模型训练方法--预训练(Qwen2-0.5B)

❗由于大模型的预训练需要数千个GPU并持续数月的时间,所以一般情况下实际工作中并不会涉及到预训练,本篇文章我们只做的简单流程体验。

1、准备训练数据

说明:LLaMa-Factory的Github上有训练数据格式的详细说明,请见README_zh。

复制代码
• 预训练数据格式:[
{"text": "document"},
{"text": "document"}
]
  • 数据集样例:

    #按照数据集样例,我们准备如下的自定义预训练数据集,保存到data/custom_pt_train_data.json。

    [
    {"text":"患者在过去的五年中多次出现头痛症状。"},
    {"text":"研究表明,适量运动有助于改善心血管健康。"},
    {"text":"高血压患者需定期监测血压水平。"},
    {"text":"糖尿病患者应注意饮食控制和胰岛素使用。"},
    {"text":"流感疫苗每年接种可以有效预防流感。"},
    {"text":"保持良好的睡眠习惯对心理健康至关重要。"},
    {"text":"慢性咳嗽可能是肺部疾病的早期征兆。"},
    {"text":"定期体检可以帮助早期发现健康问题。"},
    {"text":"心理咨询对缓解焦虑和抑郁症状有效。"},
    {"text":"饮食中增加纤维素有助于消化系统健康。"},
    {"text":"适量饮水对维持身体正常功能非常重要。"},
    {"text":"戒烟可以显著降低患肺癌的风险。"},
    {"text":"高胆固醇水平可能导致心脏病。"},
    {"text":"保持健康体重有助于降低多种疾病风险。"},
    {"text":"心理健康与身体健康密切相关。"},
    {"text":"儿童应定期进行视力和听力检查。"},
    {"text":"老年人易患骨质疏松症,需注意补钙。"},
    {"text":"过度饮酒会对肝脏造成严重损害。"},
    {"text":"心脏病患者应遵循医生的治疗方案。"},
    {"text":"良好的饮食习惯可以改善生活质量。"},
    {"text":"运动可以帮助减少压力和焦虑。"},
    {"text":"戒烟后,肺部功能会逐渐恢复。"},
    {"text":"高血糖可能导致多种并发症。"},
    {"text":"定期锻炼有助于提高免疫力。"},
    {"text":"适量的社交活动可以提高生活满意度。"},
    {"text":"健康的生活习惯可以改善整体健康状况。"},
    {"text":"心理健康教育应引起全社会的重视。"}
    ]

注册自定义数据 : 我们需要在dataset_info.json中按照以下格式注册自定义的数据集。

• 数据集注册格式:

复制代码
"数据集名称": {
"file_name": "data.json",
"columns": {
  "prompt": "text"
}
}

我们在data/dataset_info.json中添加如下数据集:

复制代码
"custom_pt_train_data": {
  "file_name": "custom_pt_train_data.json",
  "columns": {
    "prompt": "text"
  }
}

2、配置训练参数:

复制代码
• Model name: Qwen2-0.5B
• Model path: models/Qwen2-0.5B
• Finetuning method: full
• Stage : Pre-Training
• Dataset: custom_pt_train_data , c4_demo, wiki_demo
• Output dir: Qwen2_pretrain_output_demo1

参数简要说明:

复制代码
• Finetuning method代表微调的方法:
  • full: 完全微调模型的所有参数。
  • Freeze:冻结模型的某些层或所有层,仅微调特定的参数。
  • LoRA (Low-Rank Adaptation):在不改变原始模型参数的情况下,通过添加少量的可训练参数来适应新任务。
• Stage 代表训练的阶段:
  • Pre-Training: 预训练阶段。
  • Supervised Fine-Tuning: 微调阶段。
  • Reward Model: 奖励模型是一个过程,通过构建一个模型来预测给定输入的奖励值,通过训练奖励模型,可以为后续的强化学习提供一个目标。
  • PPO (Proximal Policy Optimization): PPO是一种强化学习算法,旨在优化策略(即模型的行为),以最大化预期奖励。
  • DPO (Direct Preference Optimization): DPO是一种直接优化偏好的方法,通常用于根据人类反馈直接调整模型的输出。
  • KTO (Knowledge Transfer Optimization): KTO指的是知识迁移优化,旨在从一个任务或模型中迁移知识到另一个任务或模型。

3、预览训练数据 : 在 LLaMa-Factory的WebUI界面上,选择Dataset为 custom_pt_train_data,点击Preview dataset按钮,预览数据集。

4、启动训练 : 点击Preview Command预览命令行无误后,点击Start即可开启训练。

5、查看模型文件 :在saves/Qwen2-0.5B/full目录下,可以查看到预训练好的模型文件。

相关推荐
zhengdao99061 天前
【论文笔记】Llama 3 技术报告
论文阅读·llama
橘子在努力2 天前
【橘子大模型】关于PromptTemplate
python·ai·llama
Chaos_Wang_3 天前
NLP高频面试题(三十)——LLama系列模型介绍,包括LLama LLama2和LLama3
人工智能·自然语言处理·llama
艾鹤3 天前
ollama安装与使用
人工智能·llama
清易4 天前
windows大模型llamafactory微调
llama
漠北尘-Gavin4 天前
【Python3.12.9安装llama-cpp-python遇到编译报错问题解决】
python·llama
爱听歌的周童鞋5 天前
理解llama.cpp如何进行LLM推理
llm·llama·llama.cpp·inference
溯源0065 天前
vscode调试python(transformers库的llama为例)
vscode·python·llama
Flying`6 天前
LLaMA-Factory微调实操记录
llama
张飞飞飞飞飞6 天前
通过Llama-Factory对Deepseek-r1:1.5b进行微调
llama