1、引言

1.1 什么是大模型

大模型(Large-Scale Model),并非简单的“大号”神经网络,而是一种通过在海量数据上进行预训练,能够学习出通用表示和涌现能力的深度神经网络。其核心特征体现在三个维度:参数规模的量变引起质变、数据依赖的范式转移(规模定律(Scaling Law))、架构的统一与变革(RNN–Transformer);

1.2 技术演进路径与关键突破:数据驱动-架构优化-能力涌现

数据驱动阶段(2018-2020):预训练-微调范式的确立
BERT:通过掩码语言模型(MLM)任务,证明了双向上下文建模在自然语言理解任务上的强大能力。
GPT系列:验证了自回归(Autoregressive)模型在文本生成上的无限潜力,奠定了“下一代预测”作为通用接口的基础。

架构优化阶段(2021-2022):效率革命与MoE的崛起
随着模型规模增长,稠密(Dense)模型的计算成本变得难以承受。混合专家(MoE,Mixture-of-Experts)架构成为破局关键。
MoE的核心思想:通过“分而治之”,将模型中的前馈网络层(FFN)替换为多个并行的“专家”网络,并由一个门控网络(Router)根据输入动态地激活其中一小部分专家(如Top-2)。这样,即使模型总参数量达到万亿级,每次前向传播的计算量却只相当于一个稍大的稠密模型。

能力涌现阶段(2023至今):通用性与多模态

ChatGPT的出现展示了通过指令微调(Instruction Tuning) 和基于人类反馈的强化学习(RLHF),可以将基座模型的能力与人类意图对齐,实现复杂的指令跟随和推理。

模型开始从单一文本向多模态演进,如GPT-4V、Gemini等,能够同时理解和生成文本、图像、音频乃至视频。

1.3 核心挑战:训练大模型的“不可能三角”

训练一个千亿甚至万亿参数的大模型,面临着工程与算法的系统性挑战,主要体现在以下四个方面:

1.3.1 显存瓶颈与分布式协同的极限

物理极限:以训练一个万亿参数的MoE模型为例,仅模型参数在32位精度下就需要数TB的显存,远超单张GPU(如H100的80GB)的承载能力。

并行策略的复杂度:为了突破单卡限制,必须采用复杂的分布式并行策略,但这又引入了新的难题:通信开销、负载均衡

通信开销:数据并行中的梯度同步(All-Reduce)、张量并行中的矩阵分片汇总、MoE架构中专家并行的数据分发,都会产生巨大的通信量。当集群规模扩展到万卡时,网络带宽会成为最致命的瓶颈。

负载均衡:在流水线并行中,不同GPU的计算时间难以完全匹配,导致部分GPU空转等待(即“通信气泡”)。在MoE训练中,某些热门专家可能收到远超其处理能力的token,造成计算热点和不平衡。

1.3.2 训练成本与稳定性

经济成本:训练一次千亿级模型,电力、硬件折旧和网络费用高达数百万甚至上千万美元,这对绝大多数研究团队和企业构成了极高的准入门槛。

训练稳定性:超大规模的训练过程极易发散。梯度消失或爆炸、损失突刺(Loss Spike)等问题在大规模并行训练中更加频发。因此,需要依赖混合精度训练(如FP16/BF16配合Loss Scaling)、梯度裁剪、学习率预热等一系列技巧来保证训练的平稳进行。

1.3.3 数据质量与规模

数据是燃料,也是毒药:大模型需要海量(TB级甚至PB级)、高质量、多样化的数据。Common Crawl等原始网页数据包含大量噪声、重复内容和有害信息。

数据处理挑战:如何高效地进行数据清洗、去重(如MinHash)、过滤和采样,构建一个能够支撑模型收敛的高质量数据集,本身就是一项巨大的工程。

1.3.4 模型评估与对齐

评估的复杂性:传统指标如困惑度(Perplexity)已不足以衡量大模型在复杂任务上的表现。需要构建如MMLU(大规模多任务理解)、HumanEval(代码生成)等综合性、生成式的评测基准。

对齐与安全:如何让模型的行为符合人类价值观(有用、诚实、无害),避免生成有害、偏见或虚假信息(幻觉),是模型能否从研究走向应用的关键挑战

2. 基础概念

深度学习回顾:神经网络、前向传播、反向传播、梯度下降、损失函数;

语言模型:根据上文预测下文概率的模型;自回归(GPT)与自编码(BERT)两类;

预训练与微调:先在无标注数据上自监督学习,再在下游任务上监督微调;

3. 模型架构

Transformer核心组件

自注意力机制:计算序列内部关联

多头注意力:并行捕捉不同子空间信息

位置编码:注入序列位置信息(绝对/相对位置编码)

前馈网络:每个位置的MLP

层归一化与残差连接:稳定训练、缓解梯度消失

主流架构变体

仅编码器:BERT、RoBERTa(适合理解任务)

仅解码器:GPT系列、Llama(适合生成任务)

编码器-解码器:T5、BART(适合序列到序列任务)

混合专家(MoE)在架构中的融入

4. 训练数据准备

数据来源:公开爬虫(Common Crawl)、书籍、论文、代码库等。

预处理:清洗(去HTML、噪声)、去重(MinHash、SimHash)、过滤低质量内容。

分词(Tokenization):BPE(Byte-Pair Encoding)、WordPiece、SentencePiece;构建词表大小(通常3万~5万)。

数据采样:按自然分布或重采样平衡;训练时随机打乱,构建数据加载器。

存储格式:TFRecord、JSONL、内存映射(mmap)以加速读取。

5. 训练流程

超参数设定

批次大小(batch size):受显存限制,常用梯度累积扩大有效批次

序列长度:通常512~2048,可动态调整

学习率:典型值1e-4~1e-5,需配合调度

初始化:Xavier初始化、Kaiming初始化;大模型常用小标准差(如0.02)。

前向与损失:计算logits,交叉熵损失(语言建模),可能包含掩码。

反向传播:自动求导,累积梯度。

优化器

Adam/AdamW:带权重衰减的Adam,广泛使用

学习率调度:预热(warmup)+ 余弦退火/线性衰减

梯度裁剪:防止梯度爆炸,按范数裁剪(如max_norm=1.0)。

正则化:Dropout(通常0.10.2)、权重衰减(0.010.1)。

6. 优化技术

混合精度训练:FP16/BF16计算,FP32主权重;使用损失缩放避免下溢。

梯度累积:多步梯度累加后更新参数,模拟大batch。

激活检查点(重计算):前向时不保存中间激活,反向时重新计算,节省显存。

模型并行

数据并行:每卡一份模型,处理不同数据,同步梯度(DDP)

张量并行:层内切分权重(Megatron-LM)

流水线并行:不同层分配到不同设备,微批次流水(GPipe)

ZeRO优化器(DeepSpeed):

ZeRO-1:优化器状态切分

ZeRO-2:梯度切分

ZeRO-3:参数切分,并配合参数通信

序列并行:沿序列维度切分,处理超长序列。

7. 分布式训练框架

通信后端:NCCL(GPU)、Gloo(CPU);基于Ring All-Reduce。

数据并行实现:PyTorch DistributedDataParallel(DDP)、Horovod。

大规模训练工具:DeepSpeed、Megatron-LM、FairScale,提供上述并行策略集成。

集群调度:SLURM、Kubernetes + 作业管理器。

8. 训练监控与调试

损失曲线:观察收敛趋势,检测异常(如NaN、发散)。

评估指标:困惑度(perplexity)、下游任务准确率(GLUE、SuperGLUE)。

梯度统计:梯度范数、梯度分布,判断是否消失/爆炸。

参数分布:权重直方图,监控参数更新幅度。

工具:TensorBoard、Weights & Biases、MLflow。

常见问题:过拟合(验证损失上升)、欠拟合(训练损失不下降)、损失震荡(学习率过高)。

9. 硬件要求

GPU:推荐A100(80GB)、H100;显存越大越有利于减少并行复杂度。

CPU与内存:足够的内存加载数据,多核处理数据预处理。

存储:高速SSD或分布式文件系统(如Lustre、GPFS),满足高IO需求。

网络:InfiniBand(高带宽、低延迟)或RoCE,保障通信效率。

10. 常见挑战与解决方案

显存不足

使用ZeRO-3、激活重计算、梯度检查点

减小batch size、序列长度

采用模型并行(张量/流水线)

训练不稳定

梯度裁剪、学习率预热、混合精度损失缩放

调整初始化、使用层归一化

收敛缓慢

调整学习率/调度器

增大batch size(需相应调大学习率)

检查数据质量、增加数据量

灾难性遗忘:微调时使用少量预训练数据混合(如EWC、L2正则)

11. 模型评估与部署

评估基准:GLUE、SuperGLUE、SQuAD、MMLU、HumanEval等。

模型压缩:

知识蒸馏(学生模型学习教师输出)

量化(INT8、FP8)

剪枝(去除不重要权重)

部署框架:ONNX Runtime、TensorRT、vLLM(高效推理)、TGI(文本生成推理)。

12. 总结

未来趋势:更大规模、多模态、稀疏激活(MoE)、硬件定制化。

学习资源:推荐论文(Attention Is All You Need、GPT-3、Llama系列)、开源项目(HuggingFace Transformers、DeepSpeed)、在线课程。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐