大模型之一:大语言模型预训练的过程

介绍

大语言模型的一般训练过程(3步):1、预训练学知识,2、指令微调学格式,3、强化学习对齐人类偏好

预训练

所以要想大模型有领域知识,得增量预训练(靠指令微调记知识不靠谱,不是几十w条数据能做到的)

1. 准备工作

准备基座模型->收集数据->数据清洗

2. 增量预训练所用训练框架

超大规模训练:选用 3D 并行,Megatron-Deepspeed拥有多个成功案例

少量节点训练:选用张量并行,但张量并行只有在 nvlink 环境下才会起正向作用,但提升也不会太明显。

少量卡训练:如果资源特别少,显存怎么也不够,可以使用 LoRA 进行增量预训练。

3. 增量预训练

先用大规模通用语料预训练,再用小规模领域语料二次训练

直接进行大规模领域语料预训练

通用语料比例混合领域语料同时训练

4. 流程

数据预处理:参考 LLaMA 的预训练长度,也把数据处理成2048长度(如果不够,做补全)。

分词器:如果使用 LLaMA 可能需要添加中文词表,目前有不少人做了相关工作,当然也可以自己添加自己需要的词表。

原始模型:各家框架的模型层名不太一样,训练时可能需要做一些调整,在预训练时尽量选择基座模型,不选 Chat 模型。

训练模型:跑通只是第一步,根据训练情况反复调整比较重要。

模型转换:不同框架的checkpoint格式不同,还会根据并行度分成很多个文件。

模型测试:简单测试下续写能力,验证下模型是否正常。

相关推荐
qq_280391493 分钟前
温度参数设置建议
人工智能
qq_2803914942 分钟前
Java构建飞书消息格式详解
人工智能
七元权1 小时前
FoundationPose 推理全流程解读:从一帧 RGB-D 到 6D 位姿
论文阅读·深度学习·6d姿态估计
Flynn Liang1 小时前
上线后怎么排查 AI 调用?Spring AI Observability:token/延迟/成本埋点与全链路追踪
java·人工智能·spring·监控·可观测性·observability·springai
测试界的小码农2 小时前
【让 AI 生成的测试用例变成 pytest API 自动化脚本】
人工智能·测试用例·pytest
天天代码码天天2 小时前
我开源了一个家庭备份工具:把手机照片和视频,存回自己的电脑
人工智能
AI源码2 小时前
基于机器学习的古籍文字识别与断句校正系统
人工智能·机器学习
用户8339049606952 小时前
记账大师 AIUI购物记账与交互可靠性实践
人工智能
数智人生局2 小时前
配置驱动的通用 ETL 执行引擎:告别"每个需求写一个 Spark 作业"(改配置不发版)
人工智能
Neurocoda2 小时前
基于 NumPy 从零实现 Tiny-AlexNet 在 MNIST 数据集上的验证
人工智能·深度学习