(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目录下,可以查看到预训练好的模型文件。

相关推荐
try2find2 天前
安装llama-cpp-python踩坑记
开发语言·python·llama
西西弗Sisyphus2 天前
LLaMA-Factory 单卡后训练微调Qwen3完整脚本
微调·llama·llama-factory·后训练
顾道长生'2 天前
(Arxiv-2024)自回归模型优于扩散:Llama用于可扩展的图像生成
计算机视觉·数据挖掘·llama·自回归模型·多模态生成与理解
Zhijun.li@Studio12 天前
【LLaMA-Factory 实战系列】二、WebUI 篇 - Qwen2.5-VL 多模态模型 LoRA 微调保姆级教程
人工智能·自然语言处理·llama·多模态大模型
1213412 天前
LLM:重构数字世界的“智能操作系统”
gpt·aigc·ai编程·llama·gpu算力
冷雨夜中漫步20 天前
Java中如何使用lambda表达式分类groupby
java·开发语言·windows·llama
扫地的小何尚22 天前
全新NVIDIA Llama Nemotron Nano视觉语言模型在OCR基准测试中准确率夺冠
c++·人工智能·语言模型·机器人·ocr·llama·gpu
CFAteam22 天前
DeepSeek AI功能演示:如何生成Verilog脚本
人工智能·ai·fpga开发·llama
Tadas-Gao24 天前
从碳基羊驼到硅基LLaMA:开源大模型家族的生物隐喻与技术进化全景
人工智能·机器学习·大模型·llm·llama
Run_Clover24 天前
llama-factory微调大模型环境配置避坑总结
llama