核心内容摘要
专科生收藏!万众偏爱的降AIGC网站 —— 千笔·专业降AIGC智能体
本文详细解析了大语言模型(LLM)的核心原理与训练流程包括预训练(海量无标注数据学习通用知识)、微调(特定任务参数调整)、强化学习(RL)和基于人类反馈的强化学习(RLHF)等
关键技术。
文章从数据准备、模型架构到评估部署全流程介绍并讨论了幻觉问题及解决方法特别详解了DeepSeek-R1采用的GRPO算法和思维链训练方法帮助读者全面掌握大模型训练技术。
概念准备预训练Pre-training预训练是大模型训练的基础阶段通过海量无标注数据如互联网文本、图像等让模型学习通用知识如语言语法、图像纹理等。
例如GPT-3通过千亿级参数的预训练掌握语言生成能力。
作用建立模型对世界的通用理解是后续所有优化阶段的基石。
微调Fine-tuning在预训练模型基础上针对特定任务如医疗问答、法律文本分类使用少量标注数据进行参数调整。
例如用LoRA方法冻结大部分参数仅训练低秩矩阵适配新任务。
与预训练关系微调是预训练的延伸将通用知识迁移到垂直领域。
强化学习RLRL是一种独立于微调的学习范式通过环境反馈奖励信号优化策略。
例如训练游戏AI时模型根据得分调整动作选择。
与微调的区别RL不依赖标注数据而是通过试错学习这个能力也是为什么AI大模型有创新的关键因为RL会让大模型发现人类难以发现的数据之间的规律实现创新微调依赖静态标注数据集。
基于人类反馈的强化学习RLHFRLHF是RL的子类引入人类标注的偏好数据如对答案质量的排序作为奖励信号。
例如ChatGPT通过RLHF对齐人类价值观减少有害输出。
后文有专门对RLHF的详解。
强化学习RL和人类反馈强化学习RLHF是大模型实现动态自适应能力的核心技术它们使大模型从知识复读机进化为具备自主决策能力的认知体使得大模型真正具有了“自学习”的能力。
大模型训练的步骤概述从整体上看训练LLM主要包括两个关键阶段预训练Pre-training后训练Post-training微调、RL和RLHF。
上述流程整合了预训练、微调、RLHF等核心阶段适用于自然语言处理和多模态大模型
数据准备•数据收集根据目标领域收集海量无标注数据预训练或少量标注数据微调。
•清洗与增强去除噪声、重复项进行分词/标准化文本或裁剪/旋转图像。
•划分数据集预训练无需标注微调需划分训练集/验证集/测试集比例通常为8:1:1。
预训练Pre-training•模型架构选择如Transformer文本、ViT图像或混合架构多模态。
•训练策略◦ 无监督学习掩码语言建模BERT、自回归生成GPT。
◦ 分布式训练使用GPU/TPU集群加速如Megatron-LM框架。
任务适配微调Fine-tuning•方法选择◦全量微调调整所有参数适合数据充足场景如金融风控。
◦参数高效微调PEFT◦LoRA低秩矩阵分解减少90%训练参数。
◦Adapter插入小型网络模块保持原模型权重。
•优化目标最小化任务损失函数如交叉熵损失。
强化学习优化RL/RLHF•奖励模型训练用人类标注的偏好数据如答案质量排序训练奖励模型Reward Model。
•策略优化◦RL通过环境反馈如游戏得分调整策略无需人类干预。
◦RLHF结合奖励模型和PPO算法优化模型输出例如提升对话流畅度。
•关键步骤KL散度惩罚防止模型偏离原始分布。
评估与调优•指标选择准确率、BLEU文本生成、ROUGE摘要或人工评估复杂任务。
•过拟合处理◦ 正则化Dropout、权重衰减。
◦ 早停法Early Stopping。
部署与监控•模型压缩量化INT8/INT
剪枝降低推理成本。
•持续学习根据用户反馈如日志分析进行在线微调。
关键步骤区别与适用场景接下来我们详细的介绍下每一个步骤的详细内容。
预训练Pre-training为什么需要预训练预训练是为了让模型在见到特定任务数据比如生成文本之前先通过学习大量通用数据来捕获广泛有用的特征熟悉语言的工作方式从而提升模型在目标任务上的表现和泛化能力而这一过程就是预训练——一个极其计算密集的任务。
预训练技术通过从大规模未标记数据中学习通用特征和先验知识减少对标记数据的依赖加速并优化在有限数据集上的模型训练。
为什么要用大量未标记的数据做预训练呢1数据稀缺性**在现实世界的应用中收集并标注大量数据往往是一项既耗时又昂贵的任务。
**特别是在某些专业领域如医学图像识别或特定领域的文本分类标记数据的获取更是困难重重。
预训练技术使得模型能够从未标记的大规模数据中学习通用特征从而减少对标记数据的依赖。
这使得在有限的数据集上也能训练出性能良好的模型。
2先验知识问题在深度学习中模型通常从随机初始化的参数开始学习。
然而对于许多任务来说具备一些基本的先验知识或常识会更有帮助。
预训练模型通过在大规模数据集上进行训练已经学习到了许多有用的先验知识如语言的语法规则、视觉的底层特征等。
这些先验知识为模型在新任务上的学习提供了有力的支撑。
预训练是语言模型学习的初始阶段。
在预训练期间模型会接触大量未标记的文本数据例如书籍、文章和网站。
目标是捕获文本语料库中存在的底层模式、结构和语义知识。
本阶段大模型主要学习的方式是无监督学习预训练通常是一个无监督学习过程模型在没有明确指导或标签的情况下从未标记的文本数据中学习。
屏蔽语言建模模型经过训练可以预测句子中缺失或屏蔽的单词、学习上下文关系并捕获语言模式。
具体的执行步骤如下步骤1数据收集与预处理训练LLM的第一步是收集尽可能多的高质量文本数据。
目标是创建一个庞大且多样化的数据集涵盖广泛的人类知识。
一个常见的数据来源是Common Crawl这是一个免费的、开放的网页爬取数据存储库包含过去18年间约2500亿个网页的数据。
然而原始网页数据往往比较嘈杂——其中包含垃圾信息、重复内容和低质量文本因此数据预处理至关重要。
https://commoncrawl.org/如果你对经过预处理的数据集感兴趣FineWeb提供了一个整理后的Common Crawl版本并已在Hugging Face上公开可用。
Hugging Face 是一家以开源社区为核心的人工智能公司专注于自然语言处理NLP技术的开发与应用。
其前身是2016年成立的聊天机器人公司后转型为全球最大的AI开源平台提供模型库、数据集托管、工具链和社区协作服务被誉为“AI领域的GitHub。
目前你能够看到的开源AI大模型都可以从该网站下载。
https://huggingface.co/spaces/HuggingFaceFW/blogpost-fineweb-v1一旦文本语料库经过清理就可以进行分词Tokenization处理。
步骤2分词Tokenization在神经网络处理文本之前文本必须先转换为数值形式。
这一过程就是分词它将单词、子词或字符映射为唯一的数值token。
可以把token想象成构建语言模型的基本单元——所有语言模型的核心组件。
在GPT-4中可能的token数量为100277个。
一个常见的分词工具是Tiktokenizer它允许你进行分词实验并查看文本是如何被拆解为token的。
https://tiktokenizer.vercel.app/你可以尝试输入一句话看看每个单词或子词是如何被分配一系列数值ID的。
步骤3神经网络训练Neural Network Training一旦文本被分词处理神经网络就会学习根据上下文预测下一个token。
模型会接收一串输入token例如“我正在烹饪”然后通过一个庞大的数学表达式——即模型的架构如:Transformer——进行处理以预测下一个token。
一个神经网络主要由两个关键部分组成1参数参数权重Weights通过训练学习得到的数值用于表达每一个Token的具体语义比如是否是动词/名称、是动物/植物等。
在GTP-3中这个参数是12288个维度即一个Token用12288个维度来描述它维度越多越能够精准的描述一个token但是参数都增多算量会指数级增长所以需要在准确率和算量之间找到平衡。
2架构数学表达式Architecture定义输入token如何被处理以生成输出的结构。
比如现在最常用的架构就是Transformer架构。
最初模型的预测是随机的但随着训练的进行它逐渐学会为可能的下一个token分配概率。
当正确的token例如“食”被识别后模型会通过反向传播Backpropagation来调整数十亿个参数权重。
这是一个优化过程通过提高正确预测的概率、降低错误预测的概率来强化模型的学习。
这个过程会在海量数据集上重复数十亿次。
预训练通常采用基于 Transformer 的架构该架构擅长捕获远程依赖关系和上下文信息。
基础模型Base Model预训练的产物在这一阶段基础模型已经学会了• 单词、短语和句子之间的关联• 训练数据中的统计模式然而基础模型并未针对真实世界任务进行优化。
你可以将其类比为一个高级自动补全系统——它能够基于概率预测下一个token但缺乏良好的指令跟随能力。
基础模型有时会逐字复述训练数据并且可以通过**上下文学习In-Context Learning**进行特定应用即在提示Prompt中提供示例来引导模型的响应。
但为了让模型真正有用且可靠它还需要进一步训练。
后训练Post-Training/ 微调Fine-tuning让模型更实用基础模型是未经打磨的。
为了让它更加实用、可靠、安全需要进行后训练Post-Training即在更小、更专业的数据集上进行微调Fine-tuning。
为什么需要微调尽管预训练模型已经在大规模数据集上学到了丰富的通用特征和先验知识但这些特征和知识可能并不完全适用于特定的目标任务。
微调通过在新任务的少量标注数据上进一步训练预训练模型使模型能够学习到与目标任务相关的特定特征和规律从而更好地适应新任务。
1模型微调可以更好地利用预训练模型的知识加速和优化新任务的训练过程同时减少对新数据的需求和降低训练成本。
**2减少对新数据的需求从头开始训练一个大型神经网络通常需要大量的数据和计算资源而在实际应用中我们可能只有有限的数据集。
**通过微调预训练模型我们可以利用预训练模型已经学到的知识减少对新数据的需求从而在小数据集上获得更好的性能。
3降低训练成本由于我们只需要调整预训练模型的部分参数而不是从头开始训练整个模型因此可以大大减少训练时间和所需的计算资源。
这使得微调成为一种高效且经济的解决方案尤其适用于资源有限的环境。
4由于神经网络无法像传统软件那样被显式编程我们只能通过训练它来“编程”它即让它学习有结构的、带标注的数据集这些数据代表了理想的交互示例。
微调的技术原理是什么在预训练模型的基础上针对特定任务或数据领域通过在新任务的小规模标注数据集上进一步训练和调整模型的部分或全部参数使模型能够更好地适应新任务提高在新任务上的性能。
微调发方式问题回答、语言生成、命名实体识别、释义识别、摘要、情绪分析、其他微调如何分类微调分为在新任务数据集上全面或基于人类反馈的监督训练SFT与RLHF以及调整模型全部或部分参数以高效适应新任务Full Fine-tuning与PEFT
在新任务的小规模标注数据集上进一步训练这种方式通常使用预训练模型作为基础并在新任务的小规模标注数据集上进行进一步的训练。
这种训练过程可以根据具体的训练方法和目标细分为不同的策略如监督微调Supervised Fine-tuning, SFT和基于人类反馈的强化学习微调Reinforcement Learning with Human Feedback, RLHF。
监督微调Supervised Fine-tuning, SFT**定义**在新任务的小规模标注数据集上使用有监督学习的方法对预训练模型进行微调以使其适应新任务。
**步骤**加载预训练模型 → 准备新任务的数据集 → 调整模型输出层 → 在新任务数据集上训练模型。
应用适用于那些有明确标注数据集的任务如文本分类、命名实体识别等。
我们先说监督微调Supervised Fine-tuning, SFT具体执行方法后训练阶段会创建专门的数据集这些数据集包含结构化的示例指导模型在不同情况下的回应方式。
指令/对话微调Instruction/Conversation Fine-Tuning本质准备好相关问题并准备好标准答案让模型进行学习。
目标让模型学会遵循指令、执行任务、进行多轮对话、遵守安全规范、拒绝恶意请求等。
训练使用的数据主要来源于两个方面一是人工进行标注二是通过类似ChatGPT这样的模型自动生成训练数据。
后者减少了人工构建数据集的成本也能够更快地生成大量的训练样例。
具体来说可以给定一些基本的指令样例让模型生成类似的新的指令和答案对从而形成一个自动化的训练数据生成过程。
例如斯坦福大学的Alpaca项目通过ChatGPT自动生成了5200条指令 - 答案样例极大地提升了训练的效。
例如InstructGPT2022OpenAI聘请了约40名合同工来创建这些标注数据集。
这些人工标注者编写提示Prompts并提供基于安全指南的理想响应。
如今许多数据集由AI自动生成再由人工审核和编辑以确保质量。
领域特定微调Domain-Specific Fine-Tuning目标使模型适应特定领域如医学、法律、编程等。
此外后训练还会引入特殊token——这些token在预训练阶段并未使用它们有助于模型理解交互的结构。
这些token可以标记用户输入的起始与结束以及AI响应的起始位置确保模型能够正确区分提示Prompt和回答Reply。
RLReinforcement Learning强化学习之前我们讨论了训练LLM的前两个主要阶段1预训练从大量数据集中学习形成基础模型。
2SFTSupervised Fine-Tuning监督微调用精心挑选的示例来优化模型使其更加实用。
现在我们将深入探讨下一个主要阶段RLReinforcement Learning强化学习本质上来说RL也属于微调Fine tunning阶段。
尽管预训练和SFT已经是成熟的方法但RL仍在不断发展并且已成为训练流程中的关键环节。
RL的目的是什么人类和LLM处理信息的方式不同。
对于我们来说——像基本的算术——是直观的但LLM只将文本看作一串token序列这对LLM来说并不直观。
相反LLM能够在复杂的主题上生成专家级的回答仅仅因为它在训练过程中见过足够多的示例。
这种认知差异使得人类注释者很难提供一组“完美”的标签能够持续地引导LLM找到正确的答案。
RL弥补了这一差距它允许模型从自身的经验中学习。
模型不仅仅依赖显式的标签而是探索不同的token序列并根据哪些输出最有用来获得反馈——奖励信号奖励信号是由人为提前设定好的。
随着时间的推移模型学会了更好地与人类意图对齐。
RL的本质LLM是随机的——意味着它们的回答并不是固定的。
即使是相同的提示输出也会有所不同因为它是从一个概率分布中采样的。
我们可以利用这种随机性通过并行生成成千上万甚至数百万个可能的响应。
可以把它看作是模型在探索不同的路径——有些是好的有些是差的。
我们的目标是鼓励它更多地选择较好的路径。
为了做到这一点我们让模型训练在那些导致更好结果的token序列上。
与监督微调SFT不同在监督微调中人类专家提供标签数据强化学习则允许模型从自身的学习中获得进步。
模型发现哪些响应最有效并在每个训练步骤后更新它的参数。
随着时间的推移这使得模型在未来收到相似提示时更有可能生成高质量的答案。
但是如何确定哪些响应是最好的我们应该进行多少RL训练这些细节是很复杂的要做到精准并不简单。
RL并不是“新”的——它能超越人类专业水平AlphaGo2016RL的强大力量的一个很好的例子是DeepMind的AlphaGo它是第一个击败职业围棋选手的AI并最终超越了人类水平。
在2016年的《自然》杂志论文中表示当一个模型纯粹通过SFT训练给模型大量好的例子让其模仿时模型能够达到人类水平的表现但永远无法超越它。
这是因为SFT关注的是复制而非创新——它不能让模型发现超越人类知识的新策略。
然而RL使AlphaGo能够与自己对弈改进策略并最终超越人类的专业水平。
RL代表了AI的一个令人兴奋的前沿——在我们将模型训练在一个多样且具有挑战性的问题池中时模型能够探索超越人类想象的策略从而优化其思维策略。
RL基础回顾让我们快速回顾一下典型RL设置的关键组成部分1Agent智能体 学习者或决策者。
它观察当前的状态state选择一个动作action然后根据结果reward更新其行为。
2Environment环境智能体所操作的外部系统。
3State状态在给定时间步t的环境快照。
在每个时间戳agent在环境中执行一个动作该动作将环境的状态改变为新的状态。
智能体还会收到反馈表明该动作的好坏。
这个反馈称为奖励reward并以数字形式表示。
正奖励鼓励该行为负奖励则不鼓励该行为。
通过使用来自不同状态和动作的反馈智能体逐渐学习出最佳策略以便在时间上最大化总奖励。
策略策略是Agent的决策规则。
如果Agent遵循一个好的策略它将始终做出正确的决策从而在多个步骤中获得更高的奖励。
用数学术语来说策略是一个函数它确定给定状态下不同输出的概率。
价值函数估计处于某个状态下的好坏程度考虑长期期望奖励。
对于LLM大语言模型而言奖励可能来自人类反馈或奖励模型。
Actor-Critic架构这是一个流行的强化学习设置结合了两个组件**Actor演员**学习并更新策略πθ决定在每个状态下应该采取哪个动作。
**Critic评论者**评估价值函数V(s)为演员提供反馈告知其选择的动作是否导致了好的结果。
工作原理演员基于当前策略选择一个动作。
评论者评估结果奖励 下一个状态并更新其价值估计。
评论者的反馈帮助演员优化策略使未来的动作能够获得更高的奖励。
将其与LLM结合状态可以是当前的文本提示或对话而动作则是生成的下一个token词或子词。
奖励模型例如人类反馈告诉模型它生成的文本是好是坏。
策略是模型选择下一个token的策略而价值函数则估计当前文本上下文在最终生成高质量响应方面的有益程度。
RLHF基于人工反馈的强化学习定义RLHFReinforcement learning with Human Feedback基于人工反馈的强化学习是在SFT的基础上通过强化学习和人类反馈来进一步微调模型使其输出更加符合人类的偏好或期望。
步骤首先进行SFT → 收集人类反馈数据 → 训练奖励模型 → 使用奖励模型指导强化学习过程来微调模型。
应用适用于那些需要高度人类判断或创造力的任务如对话生成、文本摘要等。
这一部分比较复杂。
对于具有可验证输出的任务例如数学问题、事实问答AI的回答可以轻松评估。
但对于像
总结或创意写作这样没有单一“正确”答案的领域如何处理呢这就是人工反馈的作用所在——但是天真的强化学习RL方法是不可扩展的。
让我们用一些任意数字来看一下朴素的方法。
这需要十亿次人工评估这太昂贵、缓慢且不可扩展。
因此一个更智能的解决方案是训练一个AI“奖励模型”来学习人类的偏好从而大大减少人工工作量。
为什么需要奖励模型在指令微调SFT阶段虽然模型已经被训练并具备一定的语言生成能力但其输出结果仍然可能不符合人类的偏好可能存在「幻觉」问题模型生成的内容不真实或不准确或者「有害性」问题输出有害、不合适或令人不安的内容。
这是因为SFT 仅通过有限的人工标注数据来微调预训练模型可能并未完全纠正预训练阶段中潜在的错误知识或不合适的输出。
为了进一步提高模型的生成质量解决这些问题必须引入奖励模型利用强化学习进行进一步优化。
**奖励模型的作用是评估大语言模型输出的文本质量给出一个分数指导模型在后续生成过程中更好地符合人类偏好和需求。
通过与人类标注者进行交互奖励模型能够提供反馈信号帮助优化模型的输出使得生成内容更加自然、真实且符合用户的期望。
**强化学习与奖励模型强化学习的核心思想是通过奖惩机制来引导模型的学习。
在 RLHF强化学习与人类反馈中奖励模型负责为模型生成的每个响应提供一个奖励分数帮助模型学习哪些输出符合人类的期望哪些输出不符合。
奖励模型的训练数据通常来自人工标注的排序数据标注员会对多个生成的回答进行排名奖励模型基于这些排名进行训练。
与传统的有监督学习不同奖励模型并不要求直接对每个输出给出明确的分数而是通过相对排序的方式对多个输出进行比较告诉模型哪些输出更好哪些输出更差。
这种相对排序方式能有效减少人工评分时的主观差异提高标注的一致性和模型的学习效率。
训练奖励模型形成过程1训练数据人工排序数据奖励模型的训练数据通常由人工标注人员对模型输出进行排序生成。
在训练过程中标注人员会根据多个生成回答的质量进行排序而不是为每个答案打分。
具体来说给定一个问题标注人员会评估并排序该问题的多个答案并将这些排序数据作为奖励模型的训练数据。
这种相对排序的方式比直接给每个答案打分更加高效且一致因为评分会受到标注人员个人主观看法的影响而相对排序则减少了这种影响使得多个标注员的标注结果能够更加统一。
数据格式Plain Textcode-snippet__js //基于比较的数据格式 { input: 用户输入的文本, choices: [ {text: 候选输出 1, rank: 1}, {text: 候选输出 2, rank: 2} ] } //基于评分的数据格式 { input: 用户输入的文本, output: 生成模型的输出文本, score:
5 }奖励模型的输入包括输入文本用户给定的提示或问题作为上下文。
输出文本生成模型的候选答案用于评估质量。
上下文和候选文本拼接奖励模型通常会将 input上下文和每个 choice候选文本进行拼接然后输入到模型中。
这样模型就能够理解生成文本与上下文之间的关系并基于该关系来评估生成文本的质量。
下面是一个简单的例子Plain Text //原始数据 { input: What is the capital of France?, choices: [ {text: The capital of France is Paris., rank: 1}, {text: The capital of France is Berlin., rank: 3}, {text: Paris is the capital of France., rank: 2} ] } //应输入到模型的数据 [Input] What is the capital of France? [SEP] The capital of France is Paris. [Input] What is the capital of France? [SEP] The capital of France is Berlin. [Input] What is the capital of France? [SEP] Paris is the capital of France.2上下文建模奖励模型会基于 Transformer如 BERT、RoBERTa等架构对整个拼接后的文本进行编码处理。
对于每个候选文本模型会生成一个上下文感知的表示其中考虑了 input 和该候选 choice 之间的语义关系。
3计算得分或排序回归任务如果任务是回归类型的例如预测一个分数奖励模型会为每个候选文本生成一个预测的质量分数。
排序任务如果任务是基于排序例如选择哪个候选文本质量更好奖励模型会通过对所有候选文本进行打分计算并比较它们的得分确保高质量文本的得分高于低质量文本。
4损失函数在训练过程中模型会通过比较候选文本的预测得分与实际的标签排名或评分之间的差异来计算损失并进行反向传播优化回归任务使用均方误差MSE损失来最小化预测分数与真实评分之间的差距。
排序任务通常使用对比损失Contrastive Loss或者排名损失例如 Hinge Loss优化模型以便正确排序候选文本。
奖励模型的挑战奖励模型的设计和训练过程中存在一定的挑战主要体现在以下几个方面1人类偏好的多样性不同的标注员可能对同一生成结果有不同的看法这就要求奖励模型能够容忍一定的主观性并通过排序学习来减少偏差。
2模型不稳定由于奖励模型通常较小训练过程中可能会出现不稳定的情况。
为了提高训练的稳定性奖励模型通常会采取合适的正则化技术和优化方法。
3数据质量与多样性为了确保奖励模型的有效性训练数据需要足够多样化涵盖不同类型的问题和答案。
如果数据质量不高或过于单一模型可能无法学到有效的评分规则。
与绝对评分相比对响应进行排名也更容易且更直观。
因此RLHF框架应运而生。
RLHF框架的核心组件基于人类反馈的强化学习Reinforcement Learning from Human FeedbackRLHF是一种将强化学习与人类反馈结合的方法旨在优化模型的行为和输出使其更加符合人类的期望。
通过引入人类反馈作为奖励信号指导模型更好地理解和满足人类的偏好生成更自然、更符合人类意图的输出。
就像高考生需要根据模拟考试的反馈进行调整优化答题策略这就像是模型在 RLHF 中根据人类反馈不断优化自身行为。
RLHF框架包含几个关键元素它们共同协作确保模型能够根据人类反馈进行优化1强化学习算法RL Algorithm强化学习算法负责训练模型以优化其行为。
在RLHF中常用的强化学习算法是近端策略优化Proximal Policy OptimizationPPO。
PPO是一种“on-policy”算法模型通过当前策略直接学习和更新而不依赖于过去的经验。
通过PPO算法模型能够根据奖励信号调整策略最终生成符合期望的输出。
2行动Action在RLHF框架中行动是指模型根据给定的提示prompt生成的输出文本。
每个输出都可以视为模型在执行任务时的选择。
行动空间包括词汇表中所有可能的token及其排列组合。
3环境Environment环境是模型与外界交互的场景提供模型需要执行任务的状态、动作和对应的奖励。
在RLHF中环境是模型根据提示生成输出并根据反馈调整行为的外部世界。
4状态空间State Space环境呈现给模型的所有可能状态通常是输入给模型的提示或上下文信息。
5动作空间Action Space模型可以执行的所有可能动作即根据提示生成的所有输出文本。
6奖励函数Reward Function根据模型的输出奖励函数为其分配奖励或惩罚。
通常这些奖励由训练好的奖励模型预测该模型依据人类反馈评估输出质量。
7观察Observation观察是模型生成输出时接收到的输入提示prompt。
这些提示作为模型决策和执行任务的基础。
**观察空间Observation Space**是指可能的输入token序列即模型处理的提示文本。
8奖励机制Reward奖励机制是RLHF框架的核心组成部分负责基于奖励模型的预测分配奖励或惩罚。
奖励模型通常通过大量人类反馈数据进行训练以确保能够准确预测人类对不同输出的偏好。
反馈数据通常通过对模型输出的排序、打分集。
RLHF实战应用InstructGPT的训练过程RLHF的实际应用可以通过InstructGPTChatGPT的前身训练过程来说明。
InstructGPT的训练过程分为三个阶段1首先从prompt数据集中采样标注员根据要求为采样的prompt编写答案形成描述性数据Demonstration Data。
这些数据用于微调GPT-3模型训练出一个监督学习模型Supervised Fine-Tuning, SFT。
通过描述性数据对模型进行有监督微调使模型能够生成符合基本要求的答案。
2接着从prompt数据库中采样生成多个模型输出标注员对这些输出进行打分或排序形成比较性数据Comparison Data并用这些数据训练奖励模型Reward Modeling, RM。
奖励模型预测不同输出的偏好分数从而帮助模型生成更高质量的输出。
3最后使用PPO算法Proximal Policy Optimization来优化奖励模型。
通过从数据集中取样模型根据监督学习阶段得到的初始化数据进行输出奖励模型为每个输出打分最终通过PPO算法调整模型策略使其生成更符合人类期望的输出。
通过RLHFReinforcement Learning from Human Feedback方法模型能够利用人类反馈逐步提高性能最终训练出能够生成高质量输出的模型。
通过这三个阶段的训练InstructGPT能够生成更符合人类需求和偏好的输出最终形成类似ChatGPT的对话模型。
RLHF的优点可以应用于任何领域包括创意写作、诗歌、
总结以及其他开放性任务。
对输出进行排名比人工标签生成创意输出更容易。
RLHF的缺点奖励模型是近似的——它可能无法完美反映人类的偏好。
RL擅长利用奖励模型的漏洞——如果运行时间过长模型可能会利用这些漏洞生成荒谬的输出但仍获得高分。
需要注意的是RLHF与传统的RL不同。
对于可以进行经验验证的领域例如数学、编程RL可以无限运行并发现新的策略。
而RLHF则更像是一个微调步骤用来将模型与人类的偏好对齐。
RLHF与Transformer架构是如何协同工作的RLHF/RL微调技术与Transformer的协作可分为三个阶段其中Transformer承担生成和特征提取任务RLHF/RL负责策略优化与偏好对齐。
具体流程如下第一步预训练与监督微调Transformer主导• 目标训练一个具备基础语言能力的Transformer模型。
• 步骤1无监督预训练◦ 输入大规模未标注文本如网页、书籍等。
◦ 输出预训练模型如GPT-
Llama通过预测下一个词的概率分布完成自监督学习。
◦ 技术分工Transformer架构通过自注意力机制捕捉长距离依赖关系。
2监督微调SFT◦ 输入人工标注的提示, 理想回答对数据集。
◦ 输出微调后的模型SFT模型能生成符合指令的响应。
◦◦ 技术分工在预训练模型基础上通过交叉熵损失函数调整参数。
第二步奖励模型训练RLHF主导基于Transformer**• 目标**构建一个量化人类偏好的奖励模型Reward Model, RM。
• 步骤1数据收集◦ 输入通过SFT模型生成多个候选回答人工对回答质量进行排序或评分。
2模型构建◦ 输入基于SFT模型架构替换最后一层为回归层输出标量奖励。
◦ 输出奖励模型RM对任意提示, 回答对输出奖励分数。
3训练目标◦ 损失函数最小化人类偏好排序的负对数似然损失例如对比学习损失。
4技术分工◦ Transformer作为特征提取器RM通过强化学习框架学习人类偏好模式。
第三步RLHF强化学习****优化RL主导结合Transformer• 目标通过奖励信号优化策略模型Policy Model使其生成更符合人类偏好的文本。
• 步骤1策略初始化◦ 输入SFT模型作为初始策略Actor。
2生成响应◦ 输入用户提示Prompt。
◦ 输出生成多个候选回答由Transformer完成。
3奖励计算◦ 输入候选回答通过RM生成奖励分数。
◦ 输出每个回答的标量奖励值。
3策略优化PPO◦ 输入奖励分数 KL散度约束防止偏离SFT模型太远。
◦ 输出更新后的策略模型参数。
4技术流程◦ Actor策略模型基于Transformer生成回答。
◦ Critic价值函数预测部分生成序列的预期累积奖励基于Transformer架构。
◦ 优势计算通过GAEGeneralized Advantage Estimation平衡偏差与方差。
◦ 参数更新最大化奖励的同时约束策略变化幅度PPO-Clip算法。
汇总步骤如下技术协作示例场景用户提问“如何泡茶”Transformer生成Actor模型基于Transformer生成多个候选回答如步骤列表、简答等。
奖励评分RM模型基于Transformer回归层对每个回答打分如安全性、有用性。
策略优化PPO算法根据奖励分数调整Actor模型参数提升未来生成优质回答的概率。
调整模型的部分或全部参数这种方式更加关注于模型参数层面的调整根据是否调整全部参数可以细分为全面微调Full Fine-tuning和部分/参数高效微调Parameter-Efficient Fine-tuning, PEFT。
Full Fine-tuning or PEFT
全面微调Full Fine-tuning定义在新任务上调整模型的全部参数以使其完全适应新任务。
步骤加载预训练模型 → 在新任务数据集上训练模型调整所有参数。
应用**当新任务与预训练任务差异较大或者想要充分利用新任务数据集时可以选择全面微调。
**
部分/参数高效微调PEFT**定义**仅调整模型的部分参数如添加一些可训练的适配器adapters、前缀prefixes或微调少量的参数以保持模型大部分参数不变的同时实现对新任务的适应。
**步骤**加载预训练模型 → 在模型中添加可训练的组件或选择部分参数 → 在新任务数据集上训练这些组件或参数。
应用当计算资源有限或者想要快速适应新任务而不影响模型在其他任务上的性能时PEFT是一个很好的选择。
技术仅调整少量参数或添加额外模块显著降低计算需求。
常见技术包括LoRA低秩适应通过低秩矩阵分解冻结原权重仅训练小规模参数推理时合并矩阵。
例如GPT-3微调时参数量减少90%以上。
Adapter适配器在模型层间插入小型神经网络模块如全连接层仅优化适配器参数。
适配器参数量通常为原模型的
1%-1%。
Prefix-Tuning前缀调优在输入前添加可学习的连续向量“虚拟Token”引导模型生成特定输出。
适用于生成任务如文本摘要。
BitFit偏置项微调仅调整模型中的偏置参数其余权重冻结。
在中小规模数据上表现优异PEFT如何学习大模型 AI 由于新岗位的生产效率要优于被取代岗位的生产效率所以实际上整个社会的生产效率是提升的。
但是具体到个人只能说是“最先掌握AI的人将会比较晚掌握AI的人有竞争优势”。
这句话放在计算机、互联网、移动互联网的开局时期都是一样的道理。
我在一线互联网企业工作十余年里指导过不少同行后辈。
帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑所以在工作繁忙的情况下还是坚持各种整理和分享。
但苦于知识传播途径有限很多互联网行业朋友无法获得正确的资料得到学习提升故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】为什么要学习大模型我国在A大模型领域面临人才短缺,数量与质量均落后于发达国家。
2023年人才缺口已超百万凸显培养不足。
随着AI技术飞速发展预计到2025年,这一缺口将急剧扩大至400万,严重制约我国AI产业的创新步伐。
加强人才培养,优化教育体系,国际合作并进是破解困局、推动AI发展的关键。
大模型入门到实战全套学习大礼包
大模型系统化学习路线作为学习AI大模型技术的新手方向至关重要。
正确的学习路线可以为你节省时间少走弯路方向不对努力白费。
这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划带你从零基础入门到精通
大模型学习书籍文档学习AI大模型离不开书籍文档我精选了一系列大模型技术的书籍和学习文档电子版它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。
AI大模型最新行业报告2025最新行业报告针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。
大模型项目实战配套源码学以致用在项目实战中检验和巩固你所学到的知识同时为你找工作就业和职业发展打下坚实的基础。
大模型大厂面试真题面试不仅是技术的较量更需要充分的准备。
在你已经掌握了大模型技术之后就需要开始准备面试我精心整理了一份大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。
适用人群第一阶段10天初阶应用该阶段让大家对大模型 AI有一个最前沿的认识对大模型 AI 的理解超过 95% 的人可以在相关讨论时发表高级、不跟风、又接地气的见解别人只会和 AI 聊天而你能调教 AI并能用代码将大模型和业务衔接。
大模型 AI 能干什么大模型是怎样获得「智能」的用好 AI 的核心心法大模型应用业务架构大模型应用技术架构代码示例向 GPT-
5 灌入新知识提示工程的意义和核心思想Prompt 典型构成指令调优方法论思维链和思维树Prompt 攻击和防范…第二阶段30天高阶应用该阶段我们正式进入大模型 AI 进阶实战学习学会构造私有知识库扩展 AI 的能力。
快速开发一个完整的基于 agent 对话机器人。
掌握功能最强的大模型开发框架抓住最新的技术进展适合 Python 和 JavaScript 程序员。
为什么要做 RAG搭建一个简单的 ChatPDF检索的基础概念什么是向量表示Embeddings向量数据库与向量检索基于向量检索的 RAG搭建 RAG 系统的扩展知识混合检索与 RAG-Fusion 简介向量模型本地部署…第三阶段30天模型训练恭喜你如果学到这里你基本可以找到一份大模型 AI相关的工作自己也能训练 GPT 了通过微调训练自己的垂直大模型能独立训练开源多模态大模型掌握更多技术方案。
到此为止大概2个月的时间。
你已经成为了一名“AI小子”。
那么你还想往下探索吗为什么要做 RAG什么是模型什么是模型训练求解器 损失函数简介小实验2手写一个简单的神经网络并训练它什么是训练/预训练/微调/轻量化微调Transformer结构简介轻量化微调实验数据集的构建…第四阶段20天商业闭环对全球大模型从性能、吞吐量、成本等方面有一定的认知可以在云端和本地等多种环境下部署大模型找到适合自己的项目/创业方向做一名被 AI 武装的产品经理。
硬件选型带你了解全球大模型使用国产大模型服务搭建 OpenAI 代理热身基于阿里云 PAI 部署 Stable Diffusion在本地计算机运行大模型大模型的私有化部署基于 vLLM 部署大模型案例如何优雅地在阿里云私有部署开源大模型部署一套开源 LLM 项目内容安全互联网信息服务算法备案…学习是一个过程只要学习就会有挑战。
天道酬勤你越努力就会成为越优秀的自己。
如果你能在15天内完成所有的任务那你堪称天才。
然而如果你能完成
% 的内容你就已经开始具备成为一名大模型 AI 的正确特征了。
这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】