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

相关推荐
喜欢吃豆8 小时前
llama.cpp 全方位技术指南:从底层原理到实战部署
人工智能·语言模型·大模型·llama·量化·llama.cpp
skywalk816321 小时前
在星河社区部署大模型unsloth/Llama-3.3-70B-Instruct-GGUF
llama·aistudio
鹿子沐21 小时前
LlamaFactory微调效果与vllm部署效果不一致
人工智能·llama
三千院本院2 天前
LlaMA_Factory实战微调Qwen-LLM大模型
人工智能·python·深度学习·llama
珊珊而川2 天前
MAC-SQL:SQL-Llama 的具体训练流程
sql·macos·llama
共绩算力3 天前
Llama 4 Maverick Scout 多模态MoE新里程碑
人工智能·llama·共绩算力
yanzhilv4 天前
Ollama + Open WebUI
llama
喜欢吃豆5 天前
掌握本地化大语言模型部署:llama.cpp 工作流与 GGUF 转换内核全面技术指南
人工智能·语言模型·架构·大模型·llama·llama.cpp·gguf
illuspas7 天前
Ubuntu 24.04下编译支持ROCm加速的llama.cpp
linux·ubuntu·llama
缘友一世10 天前
LLama3架构原理浅浅学学
人工智能·自然语言处理·nlp·transformer·llama