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

介绍

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

预训练

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

1. 准备工作

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

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

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

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

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

3. 增量预训练

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

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

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

4. 流程

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

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

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

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

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

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

相关推荐
Elastic 中国社区官方博客4 小时前
Elasticsearch:使用 Agent Builder 的 A2A 实现 - 开发者的圣诞颂歌
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
chools4 小时前
【AI超级智能体】快速搞懂工具调用Tool Calling 和 MCP协议
java·人工智能·学习·ai
郝学胜-神的一滴5 小时前
深度学习必学:PyTorch 神经网络参数初始化全攻略(原理 + 代码 + 选择指南)
人工智能·pytorch·python·深度学习·神经网络·机器学习
leobertlan5 小时前
好玩系列:用20元实现快乐保存器
android·人工智能·算法
笨笨饿5 小时前
#58_万能函数的构造方法:ReLU函数
数据结构·人工智能·stm32·单片机·硬件工程·学习方法
jr-create(•̀⌄•́)5 小时前
从零开始:手动实现神经网络识别手写数字(完整代码讲解)
人工智能·深度学习·神经网络
冬奇Lab5 小时前
一天一个开源项目(第78篇):MiroFish - 用群体智能引擎预测未来
人工智能·开源·资讯
冬奇Lab5 小时前
你的 Skill 真的好用吗?来自OpenAI的 Eval 系统化验证 Agent 技能方法论
人工智能·openai
数智工坊5 小时前
Transformer 全套逻辑:公式推导 + 原理解剖 + 逐行精读 - 划时代封神之作!
人工智能·深度学习·transformer
GreenTea6 小时前
AI 时代,工程师的不可替代性在哪里
前端·人工智能·后端