切换至深色主题
AI大模型
注意事项
LLM不会理解,只能是建模文本序列的条件概率分布,它不是理解文字含义,而是学到海量文本里词与词之间的统计模式、逻辑关联。
基本概况
大语言模型(LLM,Large Language Model),是基于深度学习、在海量文本数据上预训练得到的概率生成式模型,属于自监督学习的 Transformer 架构模型。核心能力是匹配、生成人类语言,属于生成式 AI 的一类,主流架构是 Transformer(自注意力机制)。它的本质是概率预测器,通过学习人类语言的统计规律、语义、逻辑、知识,给定一段文本,根据上文,预测下一个词元(token)出现的概率(也就是下一个最合理 token),然后自回归地逐词生成完整内容。
数据准备 → 预训练 → 监督微调(SFT) → 对齐(RLHF/DPO) → 推理部署 → 持续迭代
预训练(Pre-training):在海量无标注文本上做 "下一词预测",习得通用语言能力与世界知识。 微调(Fine-tuning):在特定任务或指令数据上继续训练,让模型学会 "听话" 和 "按格式回答"。
Transformer(自注意力机制)
LLM 使用的是 Decoder-only Transformer,核心模块是 Masked Multi-Head Self-Attention(掩码多头自注意力)。
2017 年 6 月,由 Vaswani 等 8 人(Google Brain / Google Research)共同发表了一篇题为《Attention Is All You Need》的论文。
《Transformer: A Novel Neural Network Architecture for Language Understanding》
自注意力:让每个词都能 "看到" 句子中所有其他词,并根据相关性加权,从而理解上下文关系。 多头注意力:多组注意力头并行工作,分别捕捉不同维度的语义关系(语法、指代、因果等)。 前馈网络(FFN):对每个位置独立做非线性变换,增强表达能力。 层归一化与残差连接:保证深层网络可训练。
Tokenization(分词):将文本切分为模型可处理的最小单元(词 / 子词) Embedding(嵌入):将 token 映射为高维向量(如 4096 维) 位置编码:注入词序信息(注意力本身无序) KV Cache:缓存已计算的 Key/Value,加速推理 Softmax:将输出 logits 转为概率分布
流程一:数据准备
- 数据采集:爬取网页、书籍、代码、论文、对话等多源文本。
- 数据清洗:去重、过滤低质 / 有害内容、去除个人隐私信息。
- 数据混合:按比例混合不同来源数据,平衡通用能力与专业能力。
- 分词器训练:基于语料训练 BPE/SentencePiece 等 tokenizer,确定词表大小(如 32k/128k)。
- 数据分桶:按长度分桶,提高训练时 GPU 利用率。
流程二:预训练
- 模型配置:确定层数(如 32/80/128 层)、隐藏维度、头数、参数量。
- 初始化:权重随机初始化(或从已有模型初始化做继续预训练)。
- 前向传播:输入 token 序列,经 Embedding → 多层 Transformer → 输出 logits。
- 计算损失:用交叉熵损失衡量 "预测下一词" 与真实词的差距。
- 反向传播:链式法则计算梯度。
- 优化器更新:AdamW 优化器更新权重,配合学习率预热(warmup)+ 余弦衰减。
- 分布式训练:使用张量并行、流水线并行、数据并行(如 ZeRO)在数千张 GPU 上训练。
- 检查点保存:定期保存模型权重,便于恢复和评估。
流程三:监督微调(SFT)
- 构建指令数据集:收集 / 人工编写 "指令 — 回答" 对(如 10 万~百万条)。
- 格式统一:将数据转为对话模板(system + user + assistant)。
- 小学习率继续训练:在预训练模型基础上微调,使其学会遵循指令、输出指定格式。
- 评估:在基准测试集上验证指令遵循能力和回答质量。
流程四:人类对齐(Alignment)
目的:让模型输出更安全、更有帮助、更符合人类偏好。
方法一:RLHF(基于人类反馈的强化学习)
- 收集人类对模型多个回答的排序数据。
- 训练奖励模型(Reward Model),学习人类偏好。
- 用 PPO 算法,以奖励模型为信号,强化学习优化 SFT 模型。
方法二:DPO(直接偏好优化)
- 跳过奖励模型和强化学习,直接用偏好数据做对比学习,更简单稳定。
流程五:推理部署
- 模型量化:将 FP16/BF16 权重压缩为 INT8/INT4,降低显存占用。
- 推理引擎:使用 vLLM、TensorRT-LLM 等框架,配合 KV Cache、连续批处理(continuous batching)提升吞吐。
- 服务化:封装为 API 接口,支持流式输出(SSE)。
- 安全护栏:输入 / 输出过滤,防止有害内容生成。
流程六:持续迭代
- 收集线上用户反馈与 bad case。
- 针对性补充训练数据。
- 周期性微调或继续预训练。
- 版本灰度发布与 A/B 测试。