大模型学习笔记------LLM模型开发流程
大模型学习笔记------LLM模型开发流程
- 1、总体开发流程
- 2、各部分说明
- 3、总结
LLM(Large Language Model)模型,即大型语言模型是大模型中极其重要的分支。它包含了GPT、BERT、Gemini、Qwen、Llama等,这些大模型衍生了相当多的各种改进版本。这些大模型的开发流程是什么呢?
1、总体开发流程
大规模语言模型的开发流程大致可分为四个关键阶段:预训练、有监督微调、奖励建模和强化学习。具体流程如下图所示:
2、各部分说明
2.1 预训练(Pretraining)
预训练模型是大模型的基础。通过捕获大量书籍、刊物、网络等中的文本信息,甚至包含各种各样的代码、数据统计、翻译、论文等信息,构建一个庞大预训练数据库(语料库)。除了数据部分,预训练对硬件要求极高,GUP需要成千上万块,需要海量的显存,同时,需要与其匹配的内存、CPU、散热装置等等。同时,预训练模型的训练需要几个月的时间进行训练。
预训练模型需要海量的资源,其目的就是为了让模型学习一般的语言模式和表征,充分掌握的语言规则、语境理解和文本生成的技能。
2.2 有监督微调(Supervised Finetuning)
有监督微调(SFT)是在预训练模型的基础上进行微调,也是当前应用比较多的大模型应用开发方式,通过SFT技术可以将LLM应用到各个垂直领域,如医疗、金融、法律等专业性非常强的领域。有监督微调方法主要有:LoRA、P-Tuning V2、Freeze等。
由于SFT的数据来自于较为精准的用户指令,因此,监督微调训练的模型对垂直领域中具备专业任务理解和上下文理解的能力,能够执行如开放领域问答、阅读理解、翻译和代码生成等专业任务。
2.3 奖励建模(Reward Modeling)
奖励模型是一个文本质量对比模型,它接受环境状态、生成的结果等信息作为输入,并输出一个奖励值作为反馈。奖励建模的目的是创建一个评价不同输出质量的模型,它通过二分类或是多分类模型比较不同输出的优劣,为后续的强化学习阶段提供准确的奖励信号。奖励模型主要有以下两种:
- ORM(Outcome Reward Model)是在生成模型中,对生成结果整体打分评估。
- PRM(Process Reward Model)是在生成过程中,分步骤对每一步进行打分的更细粒度奖励模型。
奖励模型的训练流程如下:
2.4 强化学习(Reinforcement Learning)
此部分也称为基于人类反馈的强化学习(Reinforcement Learning from Human Feedback, RLHF)。强化学习部分使用数十万用户给出的提示词和奖励模型评估的结果作为数据输入,利用强化学习算法(如PPO)调整模型参数,进一步优化模型生成文本的能力,使其更符合人类期望。
强化学习的训练流程如下:
3、总结
从整个流程看,除预训练部分外,其他步骤都可以进行垂直领域的优化。由于数据成本与训练成本的问题,使用有监督微调(SFT)的方式是比较常用的。