导读本文将介绍从零开始构建大语言模型并使其适用于现实世界应用场景的四个阶段。涵盖1. 预训练 2. 指令微调 3. 偏好微调 4. 推理微调。阶段0 随机初始化的LLM此阶段模型的参数是随机或基于某种分布随机初始化的也就是说此时模型是一无所知的。你问它“什么是LLM”会得到一串胡言乱语的回复也就是next token是随机随机的“词语接龙”。因为此时它尚未见过任何训练数据只拥有随机的权重。此阶段你需要知道的是训练一个decoder-only架构的大语言模型由哪些部分组成Tokenizer:分词器Embedding Block: 文本/多模态嵌入Positional embedding位置嵌入/RoPEAttention Block注意力模块MHA/MQA/GQA/MLA;Masked Attention掩码注意力机制(训练阶段)Causal MaskingMLP/MOE;EngramConditional MemoryRMSNorm与残差连接AdamW ...阶段1 预训练此阶段通过在海量语料库上训练模型预测下一个token令牌/词元来教授 LLM 语言基础知识。通过这种方式它吸收了语法、世界知识等。由于训练方法的原因导致它不善于对话它只是在你输入的prompt之后接续生成文本也就是词语接龙。在阶段0你了解了一个大语言模型构成到达此阶段你需要了解的是训练框架的选择以及准备预训练语料库。当然预训练一个大语言模型涉及到AI infra计算集群、通信与存储、分布式训练等等这是一个大工程。阶段2 指令微调为了让模型能够对话我们可以使用指令-响应对进行指令微调。这有助于大模型学习如何遵循提示并格式化回复。现在它可以回答问题总结内容编写代码等等。此阶段你可能需要了解的是参数微调的一些高效方式(PEFT)比如LoRA及其变体基于Prompt的微调比如Prefix-Tuning、P-Tuning等还有一类是Adapter Tuning通过插入适配器的方式。这时候一些微调框架是你所需要的比如Peft、Lamma-factory、unsloth等。你可能还需要注意的是不同的开源模型使用的微调数据集的组织形式有所不同比如ChatML、ShareGPT等Qwen系列模型送入模型训练的格式就是使用的类似ChatML的格式。微调仅仅是微调因此你只需要几个epochs就可以了小心造成大模型的灾难性遗忘问题。至此我们可能已经利用了整个原始互联网存档知识投入了预算用于人工标注指令-响应数据。那么我们能做些什么来进一步改进模型呢我们进入了强化学习的领域。阶段3 偏好微调你一定在 ChatGPT 上见过这个界面它问你更喜欢哪个回答回复 1感谢您提供详细的错误信息和最新代码。这个错误似乎与“collate_fn”函数内部如何处理数据有关。让我们通过修正“collate_fn”以正确处理来自xxx的数据格式来解决此问题。更新“collate_fn”函数该函数应直接处理从“GPT2Dataset”接收到的张量列表而无需像处理字典格式数据那样尝试提取“input_ids”和“attention_mask”。移除诊断打印语句“collate_fn”中的诊断打印语句不再必要可以移除以清理函数。以下是更新后的“collate_fn”代码略...请务必将脚本中现有的“collate_fn”函数替换为此更新版本。用“pad_sequence”函数确保一个批次中的所有序列具有相同长度并且创建的“attention_mask” 与 “input_ids”形状相同所有元素设为1因为所有词元都是...回复 2感谢您提供详细信息和当前代码状态。问题似乎出在“collate_fn”函数中。具体来说是“input_ids”和“attention_mask”被提取和处理的方式。在您的xxx类中“samples”列表中的每一项都是一个表示分词后输入ID的张量。“collate_fn”函数应正确处理这些张量。以下是修改后的“collate_fn”及其集成方式更新“collate_fn”函数:由于“data”中的每一项都是张量而非字典我们直接处理这些张量。我们使用“pad_sequence”将所有张量填充到相同长度。对于注意力掩码我们创建一个与“input_ids”形状相同并在“input_ids”非填充位置设为1的掩码。确保在您的“DataLoader”中使用此“collate_fn”代码略...这不仅仅是为了反馈更是宝贵的人类偏好数据。OpenAI 利用这些数据通过偏好微调来微调他们的模型。在偏好微调中用户在两个回答之间进行选择以产生人类偏好数据。然后训练一个奖励模型来预测人类偏好并使用强化学习来更新 LLM。上述过程称为RLHF而用于更新模型权重的算法称为PPO。它教会 LLM 即使在没有“正确”答案时也能与人类价值观对齐。此阶段你需要有一些强化学习的知识需要厘清一些强化学习的概念。比如PPO所需要的四个模型奖励模型、价值模型、参考模型和策略模型以及4个模型之间的协作方式On-policy以及Off-policy。除了PPO之外还有一些PPO算法的演进算法比如TRPOdeepseek用的GRPOQwen用的GSPO等。当然最简单的DPO算法也许也会有一些作用。偏好微调的框架比如Hugging Face的开源库trl、OpenRLHF等。阶段4 推理微调在推理任务数学、逻辑等中通常只有一个正确的回答和一系列确定的步骤来获得答案。所以我们不需要人类的偏好我们可以用正确性作为信号。这叫做推理微调。当然大模型本身具有推理能力只是这种能力没有直接形成文本生成出来我们要解决的是激发它的这种推理能力使其显式的生成正确推理内容。推理微调步骤模型对输入的Prompt生成答案。将答案与已知正确答案进行比较。根据正确性分配奖励。这被称为带可验证奖励的强化学习。DeepSeek 的 GRPO 是这方面的一种流行技术。使模型显式输出推理除了推理微调之外通过提示器工程来激发是一种trainning free的方法不过要保证推理的准确性就需要微调了。以上就是训练 LLM 的四个阶段。从一个随机初始化的模型开始。在大规模语料库上进行预训练。使用指令微调使其遵循指令。使用偏好和推理微调来优化回答。学习资源推荐如果你想更深入地学习大模型以下是一些非常有价值的学习资源这些资源将帮助你从不同角度学习大模型提升你的实践能力。一、全套AGI大模型学习路线AI大模型时代的学习之旅从基础到前沿掌握人工智能的核心技能因篇幅有限仅展示部分资料需要点击文章最下方名片即可前往获取二、640套AI大模型报告合集这套包含640份报告的合集涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师还是对AI大模型感兴趣的爱好者这套报告合集都将为您提供宝贵的信息和启示因篇幅有限仅展示部分资料需要点击文章最下方名片即可前往获取三、AI大模型经典PDF籍随着人工智能技术的飞速发展AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型如GPT-3、BERT、XLNet等以其强大的语言理解和生成能力正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。因篇幅有限仅展示部分资料需要点击文章最下方名片即可前往获取四、AI大模型商业化落地方案作为普通人入局大模型时代需要持续学习和实践不断提高自己的技能和认知水平同时也需要有责任感和伦理意识为人工智能的健康发展贡献力量。