LLM 科学家部分专注于利用最新技术构建最佳的大型语言模型(LLM)。本综合指南涵盖了 LLM 开发的整个流程,从理解架构基础到在模型训练、评估和优化中实施前沿技术。有关在应用程序中部署和使用 LLM 的信息,请参阅LLM 工程师。
LLM 科学家的工作流程遵循一个结构化的开发流程,将原始数据转化为强大的语言模型。
此图说明了大型语言模型的典型开发过程,展示了每个阶段如何在前一阶段的基础上构建,以创建能力越来越强的系统。
来源
理解 LLM 的基础架构对于有效的模型开发至关重要。现代 LLM 遵循一致的处理流程:通过分词将文本转换为数值表示,通过具有注意力机制的层处理这些标记,并通过各种采样策略生成新文本。
此图展示了数据流经典型 LLM 架构的过程,突出了将原始文本输入转换为有意义的生成输出的核心组件。
| 组件 | 描述 |
|---|---|
| 分词 | 使用基于词汇的方法将文本转换为数值标记 |
| 注意力机制 | 使模型能够专注于输入的相关部分,捕捉上下文和关系 |
| 采样技术 | 贪婪搜索、束搜索、温度采样和核采样等方法控制文本生成 |
现代 LLM 已从编码器-解码器架构演变为主要为 GPT 和 Llama 模型等解码器专用的设计,针对高效文本生成进行了优化。
来源
预训练通过在大量多样化文本语料库上进行大规模训练来创建 LLM 能力的基础。虽然计算量大,通常超出个人研究者的能力范围,但理解预训练原则对于优化下游任务非常有价值。
此图说明了预训练工作流程,展示了原始文本如何被处理并分布到训练基础设施中。
| 方面 | 描述 |
|---|---|
| 数据规模 | 现代模型需要万亿个标记(例如,Llama 3.1 使用了 15T 标记) |
| 数据质量 | 复杂的过滤用于去重和内容质量至关重要 |
| 训练方法 | 结合数据、流水线和张量并行以及优化技术 |
| 监控系统 | 跟踪损失、梯度和硬件性能以识别问题 |
来源
训练后数据集通过有针对性的基于指令的示例,将基础模型转化为有用的助手。这些数据集具有特定的格式,包含指令-响应对或基于偏好的比较,其结构与预训练语料库不同。
此图展示了创建高质量训练后数据集的过程,从初始种子数据到各种增强和过滤阶段。
| 格式 | 描述 | 用途 |
|---|---|---|
| ChatML | 系统/用户/助手格式,具有清晰的角色界定 | 现代对话模型 |
| ShareGPT | 用于多轮交互的对话格式 | 训练对话系统 |
| Alpaca | 简单的指令-响应格式 | 基本指令调优 |
来源
有监督微调(SFT)通过在精选数据集上进行定向训练,将基础模型转化为遵循指令的助手。此阶段侧重于教授模型遵循指令并适当组织响应。
此图说明了有监督微调过程,展示了传统的全微调和像 LoRA 和 QLoRA 这样的参数高效方法。
| 参数 | 描述 | 典型值 |
|---|---|---|
| 学习率 | 控制更新步长 | 1e-5 至 5e-5 |
| 批大小 | 每步处理的样本数 | 1-128(取决于硬件) |
| LoRA Rank | 低秩适配器的维度 | 16-128 |
| LoRA Alpha | 适配器的缩放参数 | 1-2× rank |
| 目标模块 | 要适配的模型组件 | 注意力层,MLP 层 |
来源
偏好对齐通过专门的训练技术,对 SFT 模型进行微调,以更好地匹配人类偏好和价值观,提高输出质量,减少有害内容,并增强实用性。
此图展示了偏好对齐工作流程,说明了模型如何根据人类偏好进行微调,以偏好某些输出而非其他输出。
| 算法 | 方法 | 优点 | 缺点 |
|---|---|---|---|
| DPO | 直接优化策略以最大化选定响应的似然度 | 无需奖励模型 | 质量略低于 PPO |
| PPO | 更新策略以最大化奖励,同时保持与原始行为的接近度 | 更强大的对齐 | 需要奖励模型,调优复杂 |
| ORPO | 基于结果的正则化的单阶段对齐 | 更快、更便宜 | 较新的技术,验证较少 |
来源
有效的评估可以识别模型的优势和劣势,指导数据和训练的针对性改进。评估方法从自动化基准测试到人类评估和基于模型的评估不等。
此图说明了多方面的评估过程,展示了不同的评估方法如何为改进周期做出贡献。
| 方法 | 方法 | 优势 | 局限性 |
|---|---|---|---|
| 自动化基准测试 | 在标准化任务上测试模型(MMLU、HumanEval) | 可复现、可扩展 | 潜在的数据污染 |
| 人类评估 | 由人类评审员直接评估 | 捕捉细微差别和主观质量 | 成本高,不一致 |
| 基于模型的评估 | LLM 评估其他 LLM 的输出 | 可扩展,与人类判断相关 | 可能继承法官模型的偏见 |
来源
量化通过降低模型精度,使模型能够在消费级硬件上部署,同时保持可接受的性能。这一过程对于让 LLM 超越高端数据中心,实现普及至关重要。
此图展示了量化过程,说明了用于降低模型精度的简单和校准方法。
| 方法 | 精确率 | 主要功能 | 最佳用途 |
|---|---|---|---|
| GGUF & llama.cpp | 2 位至 8 位 | 包含元数据的单文件格式 | CPU 部署,兼容性广 |
| GPTQ & EXL2 | 3 位至 4 位 | 逐层校准,保留异常值 | 最大压缩,性能优 |
| AWQ | 4 位 | 激活感知量化 | 平衡大小和质量 |
| SmoothQuant | 8 位 | 预处理以减少异常值 | 较高的精度要求 |
来源
LLM 领域发展迅速,新兴技术不断超越传统方法。这些前沿方法代表了 LLM 研究和开发的尖端。
此图说明了 LLM 开发的新兴研究方向,展示了增强模型能力超越标准训练方法的主要技术。
模型合并通过结合多个专业模型来创建更强大的系统,而无需重新训练
现代系统已超越文本,开始整合多种模态
来源
LLM 科学家轨道提供了各种实用资源,以帮助实施这些技术
| 资源 | 重点 | 目的 |
|---|---|---|
| 使用Unsloth微调 Llama 3.1 | 高效 SFT | 在 Google Colab 中进行超高效监督微调 |
| 使用 ORPO 微调 Llama 3 | 偏好对齐 | 单阶段微调,更便宜、更快 |
| 使用 DPO 微调 Mistral-7b | 偏好对齐 | 通过偏好优化提升性能 |
| 使用 Axolotl 进行微调 | 端到端微调 | 全面的微调的最新工具 |
| 使用 MergeKit 合并 LLM | 模型合并 | 组合模型以创建新功能 |
该课程提供支持 LLM 开发的专用工具
来源
LLM 科学家轨道提供了全面的指南,用于构建和改进大型语言模型,涵盖从架构理解到前沿优化技术的整个开发生命周期。通过掌握这些组件,您可以创建最先进的语言模型,这些模型能够准确地遵循指令,符合人类偏好,并高效地提供高质量的输出。
如需在实际应用中应用这些模型,请参阅LLM 工程师部分,该部分涵盖了部署、检索增强和应用程序开发。