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

介绍

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

预训练

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

1. 准备工作

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

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

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

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

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

3. 增量预训练

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

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

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

4. 流程

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

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

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

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

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

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

相关推荐
wei_shuo1 小时前
OB Cloud 云数据库V4.3:SQL +AI全新体验
数据库·人工智能·sql
努力的搬砖人.1 小时前
AI生成视频推荐
人工智能
想要成为计算机高手2 小时前
Helix:一种用于通用人形控制的视觉语言行动模型
人工智能·计算机视觉·自然语言处理·大模型·vla
Mory_Herbert2 小时前
5.1 神经网络: 层和块
人工智能·深度学习·神经网络
Evand J3 小时前
MATLAB程序演示与编程思路,相对导航,四个小车的形式,使用集中式扩展卡尔曼滤波(fullyCN-EKF)
人工智能·算法
知来者逆4 小时前
在与大语言模型交互中的礼貌现象:技术影响、社会行为与文化意义的多维度探讨
人工智能·深度学习·语言模型·自然语言处理·llm
IT猿手6 小时前
基于 Q-learning 的城市场景无人机三维路径规划算法研究,可以自定义地图,提供完整MATLAB代码
深度学习·算法·matlab·无人机·强化学习·qlearning·无人机路径规划
xwz小王子7 小时前
Taccel:一个高性能的GPU加速视触觉机器人模拟平台
人工智能·机器人
深空数字孪生8 小时前
AI时代的数据可视化:未来已来
人工智能·信息可视化
Icoolkj8 小时前
探秘 Canva AI 图像生成器:重塑设计创作新范式
人工智能