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

相关推荐
脑极体7 小时前
应激的Llama,开源的困局
llama
游离子丶2 天前
LLama Factory从入门到放弃
语言模型·游戏程序·llama·yuzu-soft
T0uken3 天前
【LLM】llama.cpp:合并 GGUF 模型分片
语言模型·llama
剑客的茶馆4 天前
GPT,Genini, Claude Llama, DeepSeek,Qwen,Grok,选对LLM大模型真的可以事半功倍!
gpt·llm·llama·选择大模型
try2find4 天前
llama-webui docker实现界面部署
docker·容器·llama
寻丶幽风5 天前
论文阅读笔记——Mixtral of Experts
论文阅读·笔记·语言模型·llama·moe
deephub6 天前
从零开始用Pytorch实现LLaMA 4的混合专家(MoE)模型
人工智能·pytorch·深度学习·大语言模型·llama
仙人掌_lz8 天前
详解如何复现LLaMA 4:从零开始利用Python构建
人工智能·python·ai·llama·智能体·ai agents
AI大模型团团9 天前
从基础概念到前沿应用了解机器学习
人工智能·python·随机森林·机器学习·ai·线性回归·llama
Panesle10 天前
英伟达开源253B语言模型:Llama-3.1-Nemotron-Ultra-253B-v1 模型情况
人工智能·语言模型·llama·nvidia