首页  

大模型基础笔记     所属分类 AI 浏览量 17
主要内容
1. Transformer结构
2. 主流大模型
3. 预训练Pre-train过程
4. 后训练Post-train过程
5. 模型压缩与量化
6. 专家模型MoE
7. RAG&Agent
8. 部署&分布式训练&推理加速
9. 模型评估


1. Transformer 结构​ Transformer 是现代大模型的核心架构, 于 2017 年在《Attention Is All You Need》中被提出,彻底改变了自然语言处理(NLP)领域的格局 ; 它摒弃了传统 RNN、LSTM 的序列依赖处理方式,采用自注意力机制实现并行计算,大幅提升了模型训练效率和性能 ;​ Transformer 整体由Encoder(编码器) 和Decoder(解码器) 两部分组成 ;​ Encoder:由 N 个相同的层堆叠而成,每层包含两个子层 ; 第一个子层是Multi-Head Attention(多头注意力),通过将输入分成多个头并行计算注意力,能捕捉不同维度的语义关联; 第二个子层是Feed-Forward Network(前馈神经网络),对每个位置的特征进行独立的线性变换和非线性激活(通常用 ReLU) ; 两个子层都配有残差连接(输入与子层输出相加)和层归一化(稳定训练过程,加速收敛) ;​ Decoder: 同样由 N 个相同的层组成,除了包含与 Encoder 相同的两个子层外, 还在多头注意力层前增加了一个Masked Multi-Head Attention(掩码多头注意力),确保生成序列时只能关注当前及之前的位置,避免信息泄露 ; 此外,Decoder 的多头注意力层会以 Encoder 的输出作为 “键” 和 “值”,实现对输入序列的关注 ;​ 自注意力计算是 Transformer 的核心,其通过计算输入序列中每个元素与其他元素的关联权重(注意力分数),生成加权求和的特征向量 ; 具体公式为: 注意力分数 = softmax ((QK^T)/√d_k) V,其中 Q(查询)、K(键)、V(值)由输入通过线性变换得到, d_k 是 Q 和 K 的维度,√d_k 用于缩放注意力分数,防止梯度消失 ;​ 位置编码是 Transformer 处理序列顺序的关键,由于自注意力机制本身不具备时序感知能力,需要在输入嵌入中加入位置信息 ; 常用的位置编码有正弦余弦编码,通过不同频率的正弦和余弦函数生成位置特征,确保模型能捕捉到序列的相对位置关系 ;​ 2. 主流大模型​ 随着 Transformer 结构的发展,一系列性能优异的大模型应运而生,按结构和功能可分为以下几类:​ GPT 系列(Generative Pre-trained Transformer): 由 OpenAI 推出,采用Decoder-only架构,基于自回归生成模式(从左到右生成文本) ; 从 GPT-1 到 GPT-4,模型参数量从 1.17 亿增长到千亿级,训练数据规模也不断扩大 ; 其核心特点是擅长长文本生成、对话交互等任务,广泛应用于内容创作、聊天机器人等场景 ;​ BERT 系列(Bidirectional Encoder Representations from Transformers): 谷歌提出的Encoder-only模型,采用双向编码方式,通过 Masked Language Modeling(MLM)任务学习上下文语义 ; BERT 能有效捕捉文本的双向依赖关系,在文本分类、命名实体识别、问答等自然语言理解(NLU)任务中表现突出,衍生出 RoBERTa、ALBERT 等优化版本 ;​ T5(Text-to-Text Transfer Transformer): 谷歌提出的Encoder-Decoder结构模型,创新性地采用 “Text-to-Text” 框架,将所有 NLP 任务统一转化为文本生成任务(输入和输出均为文本) ; 例如,翻译任务输入 “translate English to French: Hello”,输出 “Bonjour” ; T5 通过这种统一范式提升了模型的通用性 ;​ LLaMA 系列: Meta 推出的开源 Decoder-only 模型,参数量从 7B 到 65B 不等 ; 其特点是训练数据质量高,在开源社区中被广泛微调,衍生出 Alpaca、Vicuna 等优秀模型,推动了大模型的民主化发展 ;​ PaLM(Pathways Language Model): 谷歌的大模型,采用 Decoder-only 架构,参数量达 5400 亿,通过 Pathways 系统实现多任务学习,在多语言理解、逻辑推理等任务中展现出强大能力 ;​ 3. 预训练 Pre-train 过程​ 预训练是大模型获取通用知识的关键阶段,目的是让模型从海量无标注数据中学习语言规律、世界知识和推理能力,为后续任务适配奠定基础 ;​ 数据来源: 预训练数据通常包括大规模文本语料,如书籍(BooksCorpus)、网页文本(Common Crawl)、维基百科(Wikipedia)、论文、小说等 ; 为保证数据质量,会进行去重、过滤低质量内容(如广告、乱码)、多语言数据平衡等处理 ;​ 预训练任务:不同模型采用的预训练任务不同,常见的有:​ Masked Language Modeling(MLM): BERT 等 Encoder 模型采用,随机掩盖输入文本中的部分 token(如 15% 的词),让模型预测被掩盖的 token,促使模型学习上下文语义关联 ;​ Causal Language Modeling(CLM): GPT 等 Decoder 模型采用,给定前序文本,让模型预测下一个 token,属于自回归任务,能有效训练模型的生成能力 ;​ Next Sentence Prediction(NSP): BERT 辅助任务,判断两个句子是否为连续的上下文,帮助模型学习句子级别的语义关系 ;​ Span Prediction: T5 等模型采用,随机选择文本片段进行掩盖,让模型预测整个片段,更贴近实际生成场景 ;​ 训练过程: 预训练通常在大规模 GPU/TPU 集群上进行,采用分布式训练策略 ; 关键参数包括 batch size(通常很大,如百万级 token)、学习率(采用线性预热后衰减的调度策略)、训练步数(以亿为单位)等 ; 训练目标是最小化预测损失,通过反向传播更新模型参数 ; ​ 4. 后训练 Post-train 过程​ 后训练是在预训练基础上,针对具体场景或任务对模型进行适配的过程,目的是让模型在特定任务上表现更优, 主要包括微调(Fine-tuning)和提示学习(Prompt Tuning)等方法 ;​ 微调(Fine-tuning):​ 原理:使用有标注的任务数据(如分类、问答数据),在预训练模型的基础上更新全部或部分参数,使模型适应任务分布 ;​ 流程:冻结预训练模型部分底层参数(保留通用知识),微调上层参数;或采用较小的学习率微调所有参数 ;适用于数据量较充足的场景(如几千到几万样本) ;​ 优势:在特定任务上性能优异;劣势:不同任务需要单独微调模型,参数存储成本高 ;​ 提示学习(Prompt Tuning):​ 原理:通过设计 “提示词(Prompt)” 将任务转化为预训练任务形式(如 CLM),仅微调少量参数(如提示词相关的嵌入层),保持预训练模型主体参数不变 ;​ 例如,文本分类任务 “判断句子情感” 可转化为 “句子:‘今天天气很好’ ;情感:__”,让模型补全 “积极” ;​ 优势:参数效率高(多任务可共享基础模型),在小样本场景表现好;劣势:提示词设计对性能影响大,需要领域知识 ;​ 此外,还有领域自适应微调(Domain Adaptation),在特定领域语料(如医疗、法律)上进行二次预训练, 让模型学习领域专属知识,再进行任务微调,进一步提升领域任务性能 ;​ 5. 模型压缩与量化​ 大模型参数量通常达数十亿甚至万亿级,计算和存储成本极高,模型压缩与量化是解决其部署难题的关键技术, 旨在降低模型大小、减少计算量和内存占用,同时尽可能保留模型性能 ;​ 模型压缩:​ 知识蒸馏(Knowledge Distillation): 训练一个小模型(学生模型)模仿大模型(教师模型)的输出(如 logits),使小模型继承大模型的知识 ; 通过最小化学生模型与教师模型输出的差异(如 KL 散度)进行训练,适用于各种模型结构 ;​ 剪枝(Pruning): 移除模型中不重要的参数(如权重接近 0 的连接、贡献小的神经元),分为结构化剪枝(移除整个层或通道)和非结构化剪枝(移除单个权重) ; 结构化剪枝更利于硬件加速,但性能损失可能更大 ;​ 低秩分解(Low-Rank Factorization): 将模型中的高维权重矩阵分解为低维矩阵的乘积,减少参数数量,例如将一个 d×d 的矩阵分解为 d×k 和 k×d 的矩阵(k < < d) ;​ 量化(Quantization):​ 原理:将模型参数和激活值从高精度(如 FP32,32 位浮点数)转为低精度(如 FP16、BF16、INT8、INT4,甚至 INT1),降低存储和计算开销 ;​ 分类:​ 权重量化:仅量化模型权重,激活值保持高精度 ;​ 激活量化:同时量化权重和激活值,压缩效果更显著,但需处理量化误差累积 ;​ 挑战:低精度量化可能导致模型性能下降,需要采用量化感知训练(QAT)或后量化校准(如 KL 散度校准)等方法减少精度损失 ;​ 6. 专家模型 MoE​ 混合专家模型(Mixture of Experts,MoE) 是提升模型容量同时控制计算成本的高效架构,核心思想是 “稀疏激活”—— 每个输入仅由部分 “专家” 处理,而非所有参数参与计算 ;​ 结构组成:​ 专家网络(Experts):多个并行的子网络(如 Transformer 层),每个专家负责处理特定类型的输入(如不同语义、不同领域的文本) ;​ 路由器(Router): 对于每个输入 token,路由器通过注意力或线性层计算其与各专家的匹配分数, 选择 Top-K 个专家(通常 K=1 或 2)处理该 token,未被选中的专家不参与计算 ;​ 门控机制(Gating):根据路由器输出的分数,对选中专家的输出进行加权求和,得到最终结果 ;​ 优势:​ 模型容量可通过增加专家数量大幅提升(参数量与专家数成正比),但计算量仅与 K 和专家数相关(通常 K 远小于专家数),训练和推理成本可控 ;​ 不同专家可学习不同知识,提升模型对复杂任务的适应能力 ;​ 典型模型:​ GLaM:谷歌提出的 MoE 模型,包含 1.2 万亿参数(1370 亿激活参数),采用 64 个专家,在多个 NLP 任务上超越同规模 dense 模型 ;​ Switch Transformer:谷歌后续模型,将 K 设为 1(每个输入只由一个专家处理),进一步降低计算量,参数量达 1.6 万亿 ;​ MoE 的挑战在于负载均衡(避免部分专家被过度使用)和通信成本(专家分布在不同设备时的数据传输开销) ;​ 7. RAG&Agent​ RAG 和 Agent 是大模型应用的重要扩展技术,分别解决大模型知识局限和自主决策问题 ;​ RAG(Retrieval-Augmented Generation,检索增强生成):​ 问题背景:大模型存在知识过时(训练数据截止到特定时间)、幻觉(生成错误信息)等问题 ;​ 原理:在生成回答前,先检索与问题相关的外部知识(如文档、数据库、网页),将检索到的信息作为上下文输入模型,辅助生成更准确、可靠的回答 ;​ 流程:问题解析→检索(如用向量数据库 FAISS、Milvus,通过语义相似度匹配)→信息整合→生成回答 ;适用于需要最新知识、专业领域知识的场景(如客服、医疗咨询) ;​ Agent(智能体):​ 定义:具备自主规划、记忆、工具使用能力的系统,能在复杂环境中完成目标任务 ;​ 核心组件:​ 规划(Planning):将复杂任务分解为子任务,确定执行步骤(如 Chain of Thought 思维链) ;​ 记忆(Memory):短期记忆(当前对话信息)和长期记忆(可存储的知识) ;​ 工具调用(Tool Use):调用外部工具(如搜索引擎、计算器、API)获取信息或执行操作 ;​ 典型应用:AutoGPT(自主完成目标的 AI 助手)、LangChain(构建 Agent 的框架),可用于自动报告生成、代码开发、学术研究等场景 ;​ 8. 部署 & 分布式训练 & 推理加速​ 大模型的高效训练和部署需要解决算力、内存、速度等挑战,涉及分布式技术和优化策略 ;​ 部署:​ 硬件:主流采用 GPU(如 NVIDIA A100、H100)、TPU(谷歌张量处理器),边缘设备可采用 FPGA、ASIC(如华为昇腾芯片) ;​ 框架:模型部署框架如 TensorFlow Serving、TorchServe、Triton Inference Server,支持模型加载、请求处理、动态批处理等功能 ;​ 形态:可部署为 API 服务(如 OpenAI API)、本地化应用(如 ChatGPT 客户端),或嵌入到其他系统(如智能音箱、办公软件) ;​ 分布式训练:​ 数据并行(Data Parallelism):将训练数据分成多份,每个设备存储完整模型副本,处理不同数据,通过梯度同步(如 AllReduce)更新参数,适用于数据量大的场景 ;​ 模型并行(Model Parallelism):将模型拆分到多个设备(如不同层分配给不同设备),解决单设备内存不足问题 ;细分包括:​ 张量并行(Tensor Parallelism):将单个层的张量(如权重矩阵)拆分到多个设备,并行计算 ;​ 管道并行(Pipeline Parallelism):将模型层按顺序分配给不同设备,像流水线一样处理批次数据,提升效率 ;​ 混合并行:结合数据并行、张量并行和管道并行,适用于超大规模模型(如万亿参数模型),如 Megatron-LM、DeepSpeed 框架支持的混合并行策略 ;​ 推理加速:​ KV 缓存(KV Cache):在生成式模型推理时,缓存之前计算的键(K)和值(V),避免重复计算,大幅降低每步生成的计算量 ;​ 量化推理:采用 INT8、INT4 等低精度量化,减少内存占用和计算时间,如 GPTQ、AWQ 等量化方法在精度和速度间取得较好平衡 ;​ 批处理(Batching):动态批处理多个推理请求,提高 GPU 利用率(如 Triton 的 Dynamic Batching) ;​ 模型剪枝与蒸馏:部署压缩后的小模型,直接提升推理速度 ;​ 推理优化框架:如 FasterTransformer、vLLM,通过优化 CUDA 内核、KV 缓存管理等加速推理 ;​ 9. 模型评估​ 模型评估是衡量大模型性能的关键,需要从多个维度全面评估,确保模型的有效性、可靠性和安全性 ;​ 评估维度:​ 性能指标:​ 自然语言理解:GLUE、SuperGLUE 等基准的准确率(Accuracy)、F1 分数 ;​ 生成任务:BLEU(机器翻译)、ROUGE(文本摘要)、CIDEr(图像描述),衡量生成文本与参考文本的相似度 ;​ 语言模型能力:Perplexity(困惑度,越低越好),衡量模型对文本序列的预测能力 ;​ 推理能力:MMLU(多任务语言理解)、GSM8K(数学推理)、HumanEval(代码生成)等基准的通过率 ;​ 安全性与偏见:评估模型是否生成有害内容(如暴力、歧视)、是否存在性别 / 种族偏见,采用人工标注或特定检测数据集(如 RealToxicityPrompts) ;​ 效率:训练 / 推理速度(tokens per second)、内存占用、能耗,评估模型的资源消耗 ;​ 鲁棒性:测试模型在对抗性输入(如微小文本修改)、噪声数据下的表现,避免模型脆弱性 ;​ 评估方法:​ 自动评估:利用基准数据集和指标自动计算,效率高但可能无法完全反映实际效果 ;​ 人工评估:由人类评委对模型输出的相关性、流畅性、逻辑性等打分,更贴近实际应用场景,但成本高、耗时 ;​ 用户反馈:通过实际应用中的用户评价、点击率、留存率等数据,评估模型的实用价值 ;​ 评估基准: 除上述提到的 GLUE、MMLU 等, 还有 HELM(Holistic Evaluation of Language Models)提供全面的评估框架,涵盖多维度、多场景的测试,为模型优化提供方向 ;​

上一篇     下一篇
向量数据库在 RAG 检索增强生成中的应用

向量数据库相关的核心概念和术语

向量数据库选型

java后端程序员转大模型应用开发

Elasticsearch与向量数据库比较

langchain 和 llamaindex