大模型(LLMs)基础面
主流开源模型体系
目前主流的开源模型体系主要包括基于 Transformer 架构的 Decoder-only 模型(如 LLaMA 系列)、Encoder-Decoder 模型(如 T5、BART)以及部分混合架构。其中,Decoder-only 结构因其在生成任务上的高效性和扩展性,成为当前大语言模型的主流选择。
架构差异解析
Prefix Decoder、Causal Decoder 和 Encoder-Decoder 是三种主要的神经网络架构模式。Prefix Decoder 通常指在输入前添加特定前缀的结构;Causal Decoder 即自回归解码器,仅关注当前时刻之前的信息,常用于生成任务;Encoder-Decoder 则包含编码器和解码器两部分,适用于序列到序列的任务如翻译。目前主流大模型多采用 Decoder-only 结构以适配长文本生成。
训练目标与涌现能力
大模型 LLM 的训练目标主要是最大化下一个 Token 预测的概率,即自监督学习中的掩码语言建模或因果语言建模。涌现能力是指当模型规模达到一定阈值后,突然表现出的超出预期的小规模模型所不具备的能力,如复杂推理、代码生成等。这通常归因于模型参数量的增加带来的表示能力提升和注意力机制的优化。
模型规模标识
大模型后面跟的 175B、60B、540B 等数字指的是模型的参数量(Parameters),单位为十亿(Billions)。参数量越大,通常意味着模型能存储更多的知识和具备更强的泛化能力,但对计算资源和显存的要求也越高。
优缺点分析
大模型具有强大的通用性、少样本学习能力及处理复杂任务的优势。缺点包括训练成本高昂、推理延迟高、存在幻觉问题、对硬件资源要求极高以及潜在的伦理和安全风险。
大模型(LLMs)进阶面
复读机问题
LLM 复读机问题指模型在生成过程中重复输出相同的片段或句子。出现原因通常是采样策略不当(如温度过低)、上下文窗口限制导致记忆丢失或概率分布过于集中。缓解方法包括调整采样参数(提高温度、使用 Top-K/Top-P)、引入惩罚机制或使用更长的上下文窗口。
模型选型建议
BERT 类模型适合理解型任务(如分类、抽取),而 LLaMA、ChatGLM 等大模型适合生成型和对话型任务。专业领域是否需要各自的大模型取决于数据量和垂直领域的复杂度,若领域数据充足且通用模型效果不佳,可考虑领域微调或专用模型。
长文本处理
让大模型处理更长文本的方法包括使用滑动窗口、RoPE 位置编码外推、稀疏注意力机制或专门的长上下文模型(如 Longformer)。此外,通过压缩关键信息或摘要前置也是工程上的常用手段。
大模型(LLMs)微调面
全参数微调显存需求
全参数微调需要加载模型权重、优化器状态、梯度及激活值。对于 7B 模型,通常需要至少 24GB-48GB 显存(视精度和 batch size 而定)。具体需求取决于是否使用混合精度、ZeRO 优化等技术。
SFT 后的模型退化
SFT 之后感觉 LLM 变傻可能是因为灾难性遗忘,即模型在学习新指令时覆盖了原有的通用知识。缓解方法包括保留部分通用数据、使用正则化约束或采用参数高效微调(PEFT)。
指令微调数据构建
SFT 指令微调数据应包含清晰的指令、上下文和期望的输出。格式通常为 JSONL,包含 instruction, input, output 字段。数据质量比数量更重要,需确保多样性、准确性和逻辑性。
领域预训练与微调
Continue PreTrain 数据选取应聚焦于领域内的高质量语料。为缓解通用能力下降,可在预训练阶段混合少量通用数据。预训练注入的是世界知识,微调注入的是任务遵循能力。想让模型学习特定行业知识,通常先进行增量预训练,再进行指令微调。
基座模型选择
SFT 操作时,基座模型选用 Base 还是 Chat 取决于任务。Base 模型更适合从头学习特定领域分布,Chat 模型已具备对话能力,适合直接进行指令对齐。领域模型微调需注意指令&数据输入格式的统一,并构建领域评测集验证效果。
词表扩增与中文支持
领域模型词表扩增并非总是必要,仅在领域专有名词极多且现有词表覆盖不足时考虑。训练中文大模型经验表明,需构建高质量的中文分词器,并进行充分的继续预训练以提升中文 Token 的表示能力。
灾难性遗忘与优化
微调后的模型出现能力劣化,灾难性遗忘是因为更新权重破坏了原有特征。优化样本可通过去重、清洗噪声、平衡分布实现。样本量增大出现 OOM 错误时,需减小 Batch Size 或使用梯度累积。
大模型(LLMs)训练经验帖
分布式训练框架
分布式训练框架选择包括 DeepSpeed、Megatron-LM、Colossal-AI 等。建议根据硬件环境(如 NVLink 拓扑)、网络带宽及团队技术栈选择。加速卡选择上,A100/H100 是目前主流,V100 也可用于中小规模实验。
模型大小与资源
模型大小选择需权衡性能与成本。单张显卡训练受限于显存,多机多卡需考虑通信开销。平民用户建议使用云算力或量化微调方案。
大模型(LLMs)LangChain 面
LangChain 核心概念
LangChain 是一个用于开发由语言模型驱动的应用的程序框架。Components and Chains 指组件和链,用于组合不同模块;Prompt Templates and Values 用于管理提示词;Example Selectors 用于动态选择示例;Output Parsers 用于解析模型输出;Indexes and Retrievers 用于检索外部知识;Chat Message History 管理对话历史;Agents and Toolkits 赋予模型调用工具的能力。
功能与问题
LangChain 支持调用 LLM、修改模板、链接组件、Embedding & Vector Store 等功能。存在的问题包括缺乏标准数据类型、行为不一致、概念过多混淆、文档不完善及令牌使用低效。替代方案包括 LlamaIndex 或直接使用原生 API。
应用模式变更
如何让大模型输出合规化涉及系统层面的控制,如设置安全过滤层、调整 Prompt 约束及应用模式变更(如将生成式改为判别式辅助)。
基于 LLM+ 向量库的文档对话
基础面
大模型需要外挂知识库是因为其知识截止于训练数据,无法获取实时信息。思路是通过 RAG(检索增强生成)技术,将文档切片向量化存入向量库,检索相关片段作为上下文输入模型。核心技术包括 Embedding 模型、向量数据库(如 Milvus, Faiss)及 Prompt 模板构建。
痛点与工程
痛点包括检索精度低、上下文过长、多跳推理困难。工程示例需搭建完整的 ETL 流程,包括 PDF 解析、文本清洗、分块、向量化、索引构建及查询接口。
PDF 解析关键
PDF 解析难点在于布局复杂(单栏/双栏)、表格图片提取及标题层级识别。方法包括 OCR、Layout Analysis 及基于规则的解析。AI 解析优缺点在于自动化程度高但可能误读复杂排版。
大模型(LLMs)参数高效微调 (PEFT)
PEFT 概述
微调方法是调整模型参数以适应新任务。PEFT(Parameter-Efficient Fine-Tuning)旨在冻结大部分参数,仅训练少量新增参数。优点包括降低显存占用、加快训练速度、便于模型切换。与全量微调的区别在于参数量级和训练效率。
Adapter-tuning
适配器微调通过在模型层间插入小型适配器模块来实现。AdapterFusion 用于多任务融合,AdapterDrop 用于推理时移除冗余适配器。MAM Adapter 是一种改进的适配器结构。
提示学习(Prompting)
提示学习通过设计 Prompt 引导模型完成任务。P-tuning v2 使用连续可学习的 Prompt 向量,相比离散 Prompt 更灵活。指示微调(Prompt-tuning)和前缀微调(Prefix-tuning)分别在不同维度注入提示信息。P-tuning v2 解决了 P-tuning 收敛难的问题。
LoRA 系列
LoRA(Low-Rank Adaptation)通过低秩矩阵分解近似权重更新,显著减少训练参数量。QLoRA 结合 4-bit 量化进一步降低显存。AdaLoRA 自适应分配秩。LoRA 权重可合入原模型,ChatGLM-6B LoRA 后权重较小。优点是加速训练、节省显存;缺点是极端情况下精度略低于全量微调。
大模型(LLMs)推理面
显存与速度
推理时显存占用主要来自 KV Cache 和模型权重。GPU 推理速度快于 CPU。Int8 推理比 FP16 显存占用少但精度略有损失。估算 RAM 需考虑权重 + 激活 + KV Cache。省内存方法包括量化(Int8/FP16)、LoRA、Gradient Checkpointing、Torch FSDP+CPU Offload。
合规化输出
应用模式变更如增加后处理过滤层可帮助模型输出合规内容。
大模型(LLMs)预训练面
增量预训练
增量预训练用于在已有模型基础上注入新知识。准备工作包括数据清洗、格式统一、框架配置。训练流程涵盖 Warmup、训练、评估。框架可选 Megatron-LM 或 DeepSpeed。
大模型(LLMs)评测面
评估方法
大模型评测包括自动指标(BLEU, ROUGE)和人工评估。Honest 原则指模型应诚实回答已知或未知知识,避免编造。评估工具包括 HELM, Big-Bench Hard 等。衡量水平需综合多个维度(逻辑、常识、代码等)。
大模型(LLMs)强化学习面
RLHF 流程
RLHF(Reinforcement Learning from Human Feedback)包含 SFT、奖励模型(RM)训练、PPO 优化三个阶段。奖励模型需与基础模型一致以确保偏好对齐。实践不足包括成本高、迭代慢、资源消耗大。解决 PPO 多模型资源问题可采用共享权重或异步更新策略。
大模型(LLMs)软硬件配置面
软件环境
建议软件环境包括 PyTorch, CUDA, Transformers, DeepSpeed 等。需确保版本兼容性。
大模型(LLMs)训练集面
数据格式
SFT 数据通常为 JSONL(instruction, input, output)。RM 数据为对比对(chosen, rejected)。PPO 数据包含 prompt, response, reward。数据集来源包括 HuggingFace Datasets, Common Crawl 及私有数据。微调数据量视任务而定,千级至万级不等。
大模型(LLMs)显存问题面
显存估算
模型文件大小约为参数量 * 字节数(如 FP16 为 2 字节)。65B 模型需数百 GB 显存。4*V100 32G 难以训练 Vicuna 65B,需更多卡或量化。显存不足可使用 ZeRO 或 CPU Offload。查看显卡型号用 nvidia-smi,NVLink 拓扑可用 nvidia-smi topo -m,通信开销可用 torch profiler。
大模型(LLMs)分布式训练面
理论篇
点对点通信指 GPU 间直接传输,集体通信指集合操作(AllReduce)。数据并行复制模型,流水线并行分割层,张量并行分割算子。3D 并行结合三者。单卡训练要求高显存,多卡加速需考虑通信瓶颈。显存不够装模型需用模型并行。PP 推理串行问题可通过微批次重叠优化。
实践篇
超大规模节点需选择合适框架(DeepSpeed/Megatron)。并行策略选择需根据硬件拓扑。多机训练效率不如单机主要受网络带宽影响。DeepSpeed 配置需检查主机名解析和网络连通性。
图解分布式训练
Pipeline Parallelism 优化目标是隐藏通信时间。nn.DataParallel 默认同步梯度,DDP 更高效。AMP 混合精度训练利用 FP16 加速并节省显存,需配合 Loss Scaling。DeepSpeed 提供 ZeRO 优化。Accelerate 简化多卡启动。
ZeRO 学习
ZeRO 通过分片优化器状态、梯度和参数来减少显存。Offload 可将部分数据移至 CPU。
大模型(LLMs)Agent 面
领域知识与体验
给 LLM 注入领域知识主要通过 RAG 或微调。快速体验模型可使用 HuggingFace Hub 或本地部署轻量级模型。
Token 及模型参数准备篇
Token 重复与数量
Token 重复影响模型性能,需去重。SFT 需要训练 Token 数通常在数十亿级别以保证收敛。
LLMs 位置编码篇
位置编码
绝对位置编码固定位置向量,相对位置编码关注相对距离。RoPE(旋转位置编码)通过旋转矩阵实现相对位置感知,被 LLaMA 等广泛应用。长度外推问题指模型在训练长度外表现下降,解决方法包括 ALiBi、NTK-aware scaling 等。
LLMs Tokenizer 篇
分词方式
BPE 通过合并高频子词构建词典,WordPiece 类似但用于 BERT,SentencePiece 无空格依赖。英文模型支持中文需构建中文词表并合并,进行继续预训练和指令微调。
Layer Normalization 篇
归一化方法
Layer Norm 标准化每层激活值,RMS Norm 去除均值只保留均方根,Deep Norm 通过残差缩放稳定深层网络。LN 在 LLM 中位置影响收敛速度和稳定性。
LLMs 激活函数篇
激活函数
FFN 块计算公式涉及线性变换和非线性激活。GeLU 和 Swish 是常见激活函数。GLU 单元引入门控机制。各 LLM 多用 GeLU 或 SwiGLU。
大模型(LLMs)加速篇
优化手段
推理加速框架包括 vLLM, Text Generation Inference, LightLLM。vLLM 使用 PagedAttention 优化显存,支持离线批量推理。LightLLM 是纯 Python 轻量框架。FasterTransformer 是 NVIDIA 优化库。
PagedAttention
PagedAttention 将 KV Cache 分页存储,实现安全共享和连续存储,解决显存碎片问题。
Attention 升级面
优化方向
传统 Attention 计算量大。Multi-Query Attention 共享 Query Key Value 头以减少显存。Grouped-query Attention 折中方案。FlashAttention 通过 IO 感知算法加速计算。并行 transformer block 提升吞吐。
大模型幻觉面
幻觉成因与缓解
幻觉指模型生成虚假事实。原因包括训练数据噪声、概率预测特性。度量方法包括 FactScore。缓解手段包括外部知识验证、SelfCheckGPT、事实核心采样。幻觉在不确定性问题中最易产生。
LLMs 对比篇
数据与模型对比
不同模型训练数据和量级差异巨大。Baichuan 系列在中文场景有优势,53B 相比 7B/13B 在复杂推理上有显著提升。搜索增强可提升知识时效性。
思维链 Chain-of-Thought 篇
COT 原理
思维链提示引导模型展示推理步骤,提升复杂推理能力。变体包括 Tree of Thoughts(树状探索)、Graph of Thoughts(图结构规划)、Algorithm of Thoughts(算法执行)。未来方向在于自动化推理路径生成。
Graph RAG 篇
图检索增强
Graph RAG 利用知识图谱增强检索,解决传统向量检索语义割裂问题。排序优化涉及实体关联度计算。