摘要本文是《LLM技术全景》系列的第二篇。我们将系统性地拆解大语言模型LLM从原始文本到线上服务的完整技术链路。无论你是AI初学者还是希望深入理解LLM工程实现的开发者这篇文章都将帮助你建立对LLM技术栈的全景式认知。全文涵盖Tokenization分词、Embedding词嵌入、模型架构、预训练、微调、对齐、推理优化、服务部署八大环节。一、引言为什么你需要了解LLM技术栈想象你要建造一座摩天大楼。你不会只关心楼有多高、“外观好不好看”——你更需要了解地基怎么打数据准备钢筋怎么排模型架构混凝土怎么浇训练流程电梯怎么装推理服务消防怎么过安全对齐大语言模型也是一样。很多文章只告诉你ChatGPT很强大、“GPT-4很厉害”但很少系统性地告诉你它是怎么做出来的怎么跑起来的怎么服务数亿用户的这篇文章就是来回答这些问题的。读完本文你将掌握LLM从数据到部署的八大技术环节每个环节的核心任务、技术选型和工程挑战如何根据业务需求选择合适的技术栈LLM技术栈的未来演进方向二、LLM技术栈总览八大环节全景图我们用一张图展示LLM从原始文本到线上服务的完整技术链路。2.1 技术栈全景图下图展示了LLM从原始文本到线上服务的完整技术链路涵盖八大环节。2.2 八大环节速览环节核心任务关键技术在本文中的章节1. 数据准备收集、清洗、去重、格式化文本数据第三节2. Tokenization把文本切分成Token序列第四节3. Embedding把Token映射为连续向量空间第五节4. 模型架构Transformer及其变种GPT、BERT、LLaMA第六节5. 预训练在海量无标注数据上训练基础模型第七节6. 微调在特定任务上进一步训练第八节7. 对齐让模型输出符合人类偏好第九节8. 推理与部署高效服务用户请求第十节三、第一环节数据准备——大模型的食材3.1 为什么数据如此重要Garbage In, Garbage Out垃圾进垃圾出大语言模型的能力上限由数据决定。GPT-3 训练用了3000亿词约300万本书LLaMA 2 训练用了2万亿词约2000万本书GPT-4 训练数据规模估计超过10万亿词数据质量直接影响模型的知识覆盖面模型的推理能力模型的偏见和安全性模型的多语言能力3.2 数据准备的全流程原始数据源 ↓ ① 数据采集Common Crawl、书籍、维基百科、代码仓库... ↓ ② 数据清洗去重、去低质量、去个人信息 ↓ ③ 数据过滤质量分类器、去毒、去偏见 ↓ ④ 数据混合不同来源按比例混合 ↓ ⑤ 格式化与序列化转成训练需要的格式 ↓ ⑥ 数据版本管理DVC、数据卡片 ↓ 预训练数据集最终产物3.3 主要数据源对比数据源规模词数质量用途Common Crawl~4100亿低~中通用知识、网页文本Books书籍~190亿高叙事能力、长程依赖Wikipedia~30亿极高事实性知识GitHub代码~180亿高代码生成、逻辑推理Reddit/论坛~90亿中对话能力、口语化关键洞察数据不是越多越好而是越优质越好。低质量数据会稀释模型性能。数据混合比例是门艺术Too much web data → 模型肤浅Too much books → 模型书呆子。去重至关重要重复数据会导致模型死记硬背而非真正理解。四、第二环节Tokenization——把文本切成积木4.1 什么是TokenToken是大语言模型的基本处理单元。可以理解为英文大致是词或词的片段比如unhappy → [“un”, “happy”]中文大致是字或词比如大模型 → [“大”, “模型”] 或 [“大模型”]为什么不直接用字或词方案优点缺点按字简单词表小丢失语义信息序列太长按词语义完整词表爆炸百万级OOV问题按子词BPE/WordPiece⭐ 平衡词表大小和语义需要学习分词器4.2 主流Tokenization算法BPEByte Pair Encoding核心思想从字符开始反复合并最频繁出现的字符对。初始[l, o, w, e, r, s] Step 1合并 e r → er最高频 Step 2合并 l o → lo次高频 ... 最终词表[low, ers, est, ...]代表模型GPT系列、GPT-2、GPT-3WordPiece核心思想类似BPE但合并依据是似然增益而非简单频率。代表模型BERT、LLaMASentencePiece核心思想把空格也当成普通字符统一处理多种语言。代表模型T5、LLaMA 2、Multilingual模型4.3 Tokenization实战演示# 使用Hugging Face Tokenizers库fromtransformersimportAutoTokenizer tokenizerAutoTokenizer.from_pretrained(meta-llama/Llama-2-7b-hf)text大语言模型真的很强大tokenstokenizer(text)[input_ids]print(f文本{text})print(fToken数{len(tokens)})print(fToken ID{tokens})print(f解码验证{tokenizer.decode(tokens)})输出示例LLaMA Tokenizer文本大语言模型真的很强大 Token数15 Token ID[29962, 24391, 24401, ...] 解码验证大语言模型真的很强大关键洞察不同模型的Tokenization不同LLaMA的中文分词效率低1个中文字≈2-3个TokenQwen的中文分词效率高1个中文字≈1个Token。Token数 钱API按Token计费Tokenization效率直接影响成本。上下文长度限制的是Token数不是字符数。五、第三环节Embedding——把Token变成可计算的对象5.1 为什么需要Embedding神经网络只能处理数字不能直接理解文字。Embedding的任务把离散的Token ID比如 29962映射为连续的向量比如[0.23, -0.45, ..., 0.78]维度通常是 4096 或 5120。好的Embedding应该具备语义相似性意思相近的词向量距离近“猫” vs “猫咪”语法结构性语法角色相似的词向量结构相似“跑” vs “跳”多义性处理同一个词在不同语境下有不同的向量苹果手机 vs 苹果水果5.2 Embedding的三种层次层次说明代表技术Token Embedding每个Token有一个固定向量查表Lookup TablePosition Embedding注入位置信息Transformer需要正弦编码、RoPE、AlibiSegment Embedding区分不同句子/段落BERT用可学习向量5.3 Position Embedding深度解析Transformer是并行计算的它不知道我是第几个词。解决办法给每个位置一个位置向量加到Token Embedding上。正弦位置编码原始TransformerPE(pos, 2i) sin(pos / 10000^(2i/d)) PE(pos, 2i1) cos(pos / 10000^(2i/d))优点无需训练泛化到任意长度。缺点长度外推能力有限。RoPERotary Position EmbeddingLLaMA采用核心思想用旋转矩阵编码相对位置信息。优点优秀的长度外推能力训练2048推理8192相对位置信息编码更自然代表模型LLaMA、LLaMA 2、ChatGLM、QwenAlibiBLOOM、MT-NLG采用核心思想在Attention的Softmax之前加一个位置偏置矩阵。优点极致的长度外推训练2048推理可到100k缺点性能略逊于RoPE5.4 Embedding可视化想象一个三维空间“猫”、“狗”、“动物” 聚在一起“跑步”、“跳跃”、“运动” 聚在一起“猫” 和 “猫咪” 几乎重合“苹果手机” 和 “苹果水果” 在不同区域这就是Embedding的魔力语义相似的词在向量空间中彼此靠近。下图展示了从原始文本到Embedding向量的完整转换流程以及Embedding向量空间的语义聚类效果。六、第四环节模型架构——Transformer及其变种6.1 Transformer回顾2017年Google在论文《Attention is All You Need》中提出Transformer架构。两大核心机制Self-Attention自注意力让每个词看到所有其他词Feed-Forward Network前馈网络对每个词进行非线性变换两大变种Encoder-only如BERT擅长理解Decoder-only如GPT擅长生成Encoder-Decoder如T5擅长转换6.2 GPT架构详解Decoder-only输入文本今天天气 ↓ Tokenization: [今天, 天气] ↓ Embedding: [向量1, 向量2] ↓ ┌─────────────────────────────────────────┐ │ GPT 主体数十层Decoder │ │ │ │ Layer 1: │ │ ├─ Masked Self-Attention │ │ ├─ LayerNorm │ │ ├─ Feed-Forward Network │ │ └─ LayerNorm │ │ │ │ Layer 2: │ │ ├─ Masked Self-Attention │ │ ├─ LayerNorm │ │ ├─ Feed-Forward Network │ │ └─ LayerNorm │ │ │ │ ...重复数十层... │ │ │ │ Layer N: │ │ ├─ Masked Self-Attention │ │ ├─ LayerNorm │ │ ├─ Feed-Forward Network │ │ └─ LayerNorm │ └─────────────────────────────────────────┘ ↓ Linear Softmax ↓ 输出概率分布下一个Token的概率 ↓ 采样选取概率最高的Token或随机采样 ↓ 很生成结果关键设计Masked Self-Attention每个位置只能看到它之前的词不能偷看未来。残差连接 LayerNorm让梯度能够顺畅地流动支持训练超深网络。Feed-Forward Network通常是扩维 → 激活 → 降维比如 4096 → 16384 → 4096。6.3 LLaMA架构创新GPT的改进版改进点GPT-3LLaMA归一化LayerNormRMSNorm更稳定激活函数GeLUSwiGLU性能更好位置编码可学习位置编码RoPE长度外推更好注意力优化标准Multi-HeadGrouped-Query Attention推理更快七、第五环节预训练——大模型的基础教育7.1 预训练的任务核心任务预测下一个词Next Token Prediction。输入 今天天气很 标签 好 输入 今天天气很好适合 标签 出 输入 今天天气很好适合出 标签 门就这么简单是的但规模改变一切。当模型足够大70B、数据足够多万亿词、训练足够久数千GPU小时时这个简单的任务竟然让模型学会了语法规则事实知识推理能力代码能力多语言能力7.2 预训练的工程挑战挑战一算力需求巨大模型参数量训练FLOPs所需A100小时估计GPT-3 125M1.25亿5.6e18~8小时单卡GPT-3 1.3B13亿2.7e20~4天8卡GPT-3 13B130亿1.8e22~30天64卡GPT-3 175B1750亿3.1e23~34天1024卡LLaMA 2 70B700亿1.7e24~21天2048卡关键洞察训练大模型不是有钱就能训而是有钱有工程能力有数据才能训。挑战二分布式训练三大并行策略数据并行Data Parallelism 把数据切成多份每张卡跑一份梯度同步。 模型并行Model Parallelism 把模型切成多份每张卡放一份激活值传递。 流水线并行Pipeline Parallelism 把模型按层切分形成流水线提高GPU利用率。实战组合70B模型8卡数据并行 2卡模型并行 16卡175B模型64卡数据并行 8卡模型并行 2卡流水线 1024卡挑战三训练稳定性大模型的训练随时可能崩。常见不稳定因素梯度爆炸/消失梯度范数突然变大/变小Loss Spike训练过程中Loss突然飙升注意力熵崩塌Attention分布突然变得极度集中应对措施Warmup Cosine Decay学习率调度Gradient Clipping梯度裁剪Mixed Precision Training混合精度训练Z-Loss稳定Logit分布八、第六环节微调——让模型学以致用8.1 为什么需要微调预训练模型就像一个博览群书的通才——什么都知道一点但什么都不精。微调Fine-tuning的任务在特定任务上进一步训练让模型专精。8.2 微调的三种层次层次方法所需数据计算成本效果Full Fine-tuning更新所有参数大量万级高需完整训练⭐⭐⭐⭐⭐LoRA只更新低秩矩阵中等千级低只训练0.1%参数⭐⭐⭐⭐Prompt Tuning只更新Prompt向量少量百级极低⭐⭐⭐8.3 LoRA深度解析核心思想预训练模型的权重矩阵W是好的我们不需要改变它。我们只学习一个低秩分解W W ΔW W BA 其中 W: 原始权重形状 (d, d)冻结不训练 B: 可学习矩阵形状 (d, r) A: 可学习矩阵形状 (r, d) r: 秩Rank通常 r d比如 r8, d4096 参数量d×d → d×r r×d 2dr 比如4096×4096 → 4096×8 8×4096 65536仅为原参数量的0.39%LoRA的优势训练成本低只训练0.1%~1%的参数多任务切换快每个任务一个LoRA权重切换只需插拔推理几乎无损耗部署时可以把BA合并到W里8.4 微调实战代码示例# 使用Hugging Face PEFT库进行LoRA微调frompeftimportLoraConfig,get_peft_modelfromtransformersimportAutoModelForCausalLM# 加载基础模型modelAutoModelForCausalLM.from_pretrained(meta-llama/Llama-2-7b-hf)# 配置LoRAlora_configLoraConfig(r8,# 秩lora_alpha32,# 缩放因子target_modules[# 对哪些层应用LoRAq_proj,k_proj,v_proj,o_proj,gate_proj,up_proj,down_proj],lora_dropout0.05,biasnone,task_typeCAUSAL_LM)# 应用LoRAmodelget_peft_model(model,lora_config)# 查看参数量model.print_trainable_parameters()# 输出trainable params: 4,194,304 || all params: 6,742,609,920 || trainable%: 0.06%九、第七环节对齐——让模型懂礼貌9.1 为什么需要对齐预训练模型有个问题它只是预测下一个词不在乎输出的内容是否有害、是否有帮助。对齐Alignment的目标让模型的输出符合人类偏好有帮助、诚实、无害。9.2 RLHF全流程RLHFReinforcement Learning from Human Feedback是对齐的主流方法。Step 1: 监督微调SFT 用高质量问答对微调模型 ↓ Step 2: 奖励模型训练Reward Modeling 让人工标注员对模型输出打分/排序 训练一个奖励模型输入回答输出分数 ↓ Step 3: 强化学习优化PPO 用奖励模型作为环境用PPO算法优化模型 目标最大化奖励模型的打分9.3 DPORLHF的简化版DPODirect Preference Optimization是2023年提出的无需强化学习的对齐方法。核心思想直接优化策略模型让偏好的回答概率 不偏好的回答概率。优势不需要训练独立的奖励模型不需要复杂的PPO算法训练更稳定、更快公式Loss -log σ(β * log πθ(y_w|x) - β * log πθ(y_l|x))其中y_w偏好的回答winnery_l不偏好的回答loserβ温度参数十、第八环节推理与部署——让模型上岗工作10.1 推理优化的核心挑战Challenge #1延迟Latency用户不想等5秒才看到第一个词。Challenge #2吞吐量Throughput服务商希望同一张GPU能同时服务多少用户。Challenge #3成本CostA100/H100很贵如何用最少的卡服务最多的用户10.2 KV Cache推理加速的核心技术问题生成每个新Token时都需要重新计算所有之前Token的Key/Value向量——这是巨大的浪费。解决办法缓存起来生成第1个Token 计算 K₁, V₁ → 存入KV Cache ↓ 生成第2个Token 直接读取 K₁, V₁不用重算 计算 K₂, V₂ → 存入KV Cache ↓ 生成第3个Token 直接读取 K₁, V₁, K₂, V₂不用重算 计算 K₃, V₃ → 存入KV Cache ↓ ...效果推理速度提升10倍。代价显存占用增加KV Cache可能占到显存的50%。10.3 量化用更少的bit表示权重核心思想模型权重通常是FP1616位浮点。我们可以把它们压缩成INT8或INT4大幅减少显存占用和推理延迟。量化方案权重精度显存占用性能损失适用场景FP1616-bit100%0%高性能要求INT88-bit50%~1%平衡性能与成本INT44-bit25%~3%极致成本优化NF4QLoRA4-bit正态25%~1%微调推理一体化10.4 vLLM推理框架的性能之王vLLM是伯克利大学提出的高吞吐量LLM推理框架。核心创新PagedAttention传统KV Cache管理 为每个请求预分配一块连续显存 问题显存碎片 浪费 vLLM的PagedAttention 把KV Cache分成固定大小的页 动态分配、按需增长 效果吞吐量提升24倍vLLM的核心特性连续批处理Continuous Batching动态地把多个请求打包在一起推理PagedAttention显存利用率从 ~60% 提升到 ~90%张量并行Tensor Parallelism多卡推理支持流式输出Streaming第一个Token出来就开始返回下图展示了从预训练到线上部署的完整流水线涵盖四大关键环节及其工程挑战。十一、技术选型决策框架11.1 按业务场景选择技术栈业务场景推荐技术栈原因聊天机器人GPT-4o API / Claude API快速上线效果最好私有化部署数据安全LLaMA 2/3 vLLM INT4量化数据不出域成本可控代码助手Code LLaMA / DeepSeek-Coder FIM代码专用模型填空模式支持垂直领域医疗/法律通用大模型 LoRA微调保留通用能力注入领域知识边缘设备手机/IoTQwen-7B GGUF Ollama模型小量化后能在端侧运行11.2 按团队规模选择技术栈团队规模推荐路径说明1-3人直接使用商用APIGPT-4o/Claude最快上线按量付费5-10人开源模型 vLLM部署成本可控有一定定制能力10人预训练自己的模型70B完全自主技术壁垒十二、总结与展望12.1 本文回顾在这篇文章中我们系统性地拆解了LLM从数据到部署的八大技术环节数据准备Garbage In, Garbage Out——数据质量决定模型上限Tokenization把文本切成TokenBPE/WordPiece是主流算法Embedding把Token映射为向量位置编码是关键创新模型架构Transformer是基石GPTDecoder-only是主流预训练预测下一个词规模带来涌现能力微调Full Fine-tuning / LoRA / Prompt Tuning按需求选择对齐RLHF和DPO让模型输出符合人类偏好推理与部署KV Cache、量化、vLLM让模型高效服务用户12.2 技术栈演进趋势趋势一更小的模型更强的性能70B模型 推理时计算o1系列≈ 175B模型的性能MoE混合专家架构激活参数少总参数多趋势二端到端优化从训练用PyTorch推理用TensorRT → “训练推理一体化Torch Compile”从通用GPU → “AI专用芯片TPU、Ascend NPU”趋势三对齐技术简化从RLHF复杂 → “DPO简单” → “RLAIF无人工”对齐将成为标配而非高门槛技术12.3 下期预告下期文章6月1日周二《Transformer架构深度解析Encoder-Decoder全理解》在这篇文章中我们将深入剖析Self-Attention的数学原理理解位置编码的演进正弦 → RoPE → Alibi掌握Encoder、Decoder、Encoder-Decoder的架构差异动手实现一个简化的TransformerPyTorch代码十三、参考资料论文Attention is All You NeedTransformer原论文2017Vaswani et al., NeurIPS 2017arXiv:1706.03762BERT: Pre-training of Deep Bidirectional Transformers2018Devlin et al., NAACL 2019arXiv:1810.04805Language Models are Few-Shot LearnersGPT-32020Brown et al., NeurIPS 2020arXiv:2005.14165LLaMA: Open and Efficient Foundation Language Models2023Touvron et al., Meta AIarXiv:2302.13971LoRA: Low-Rank Adaptation of Large Language Models2021Hu et al., ICLR 2022arXiv:2106.09685Training language models to follow instructions with human feedbackInstructGPT2022Ouyang et al., OpenAIarXiv:2203.02155Direct Preference Optimization: Your Language Model is Secretly a Reward Model2023Rafailov et al., NeurIPS 2023arXiv:2305.18290Efficient Memory Management for Large Language Model Serving with PagedAttentionvLLM2023Kwon et al., SOSP 2023arXiv:2309.06180开源项目Hugging Face Transformersgithub.com/huggingface/transformersHugging Face PEFTLoRA实现github.com/huggingface/peftvLLMgithub.com/vllm-project/vllmLLaMA 3github.com/meta-llama/llama3Tokenizersgithub.com/huggingface/tokenizers推荐阅读Andrej Karpathy 的 Let’s Build GPTyoutube.com/karpathy李沐的《动手学深度学习》Transformer章节zh.d2l.aiThe Illustrated TransformerJay Alammarjalammar.github.io/illustrated-transformer/vLLM官方文档docs.vllm.ai十四、延伸讨论思考题为什么GPTDecoder-only比BERTEncoder-only更适合作为对话模型LoRA的秩Rank应该如何选择越大越好吗如果让你设计下一代推理框架你会从哪些方面优化实践作业可选体验不同的Tokenization用Hugging Face Tokenizers库对比GPT-2、LLaMA、Qwen的Tokenization效率中英文对比。动手实现BPE算法写一个简单的BPE分词器100行代码以内。部署一个本地LLM用Ollama部署LLaMA 3 8B测试推理速度Tokens/秒。读者互动欢迎在评论区留下你的疑问我会定期整理并回答建议你想在后续文章中看到什么内容实践作业的实现欢迎分享代码链接作者简介Andrew商业航天公司AI CTO。致力于用通俗易懂的语言系统讲解大模型技术。博客主页Andrew浮游会GitHubAndrew’s repo如果这篇文章对你有帮助请点赞、收藏、关注三连⭐你的支持是我持续创作的动力系列文章目录持续更新中✅ 什么是大语言模型LLM从零认识AI新范式5月26日✅大模型技术栈全景从Token到部署的完整链路本文5月28日 Transformer架构深度解析Encoder-Decoder全理解6月1日最后更新时间2026年5月28日字数约12000字阅读时间约25分钟
【LLM技术全景】大模型技术栈全景:从Token到部署的完整链路
摘要本文是《LLM技术全景》系列的第二篇。我们将系统性地拆解大语言模型LLM从原始文本到线上服务的完整技术链路。无论你是AI初学者还是希望深入理解LLM工程实现的开发者这篇文章都将帮助你建立对LLM技术栈的全景式认知。全文涵盖Tokenization分词、Embedding词嵌入、模型架构、预训练、微调、对齐、推理优化、服务部署八大环节。一、引言为什么你需要了解LLM技术栈想象你要建造一座摩天大楼。你不会只关心楼有多高、“外观好不好看”——你更需要了解地基怎么打数据准备钢筋怎么排模型架构混凝土怎么浇训练流程电梯怎么装推理服务消防怎么过安全对齐大语言模型也是一样。很多文章只告诉你ChatGPT很强大、“GPT-4很厉害”但很少系统性地告诉你它是怎么做出来的怎么跑起来的怎么服务数亿用户的这篇文章就是来回答这些问题的。读完本文你将掌握LLM从数据到部署的八大技术环节每个环节的核心任务、技术选型和工程挑战如何根据业务需求选择合适的技术栈LLM技术栈的未来演进方向二、LLM技术栈总览八大环节全景图我们用一张图展示LLM从原始文本到线上服务的完整技术链路。2.1 技术栈全景图下图展示了LLM从原始文本到线上服务的完整技术链路涵盖八大环节。2.2 八大环节速览环节核心任务关键技术在本文中的章节1. 数据准备收集、清洗、去重、格式化文本数据第三节2. Tokenization把文本切分成Token序列第四节3. Embedding把Token映射为连续向量空间第五节4. 模型架构Transformer及其变种GPT、BERT、LLaMA第六节5. 预训练在海量无标注数据上训练基础模型第七节6. 微调在特定任务上进一步训练第八节7. 对齐让模型输出符合人类偏好第九节8. 推理与部署高效服务用户请求第十节三、第一环节数据准备——大模型的食材3.1 为什么数据如此重要Garbage In, Garbage Out垃圾进垃圾出大语言模型的能力上限由数据决定。GPT-3 训练用了3000亿词约300万本书LLaMA 2 训练用了2万亿词约2000万本书GPT-4 训练数据规模估计超过10万亿词数据质量直接影响模型的知识覆盖面模型的推理能力模型的偏见和安全性模型的多语言能力3.2 数据准备的全流程原始数据源 ↓ ① 数据采集Common Crawl、书籍、维基百科、代码仓库... ↓ ② 数据清洗去重、去低质量、去个人信息 ↓ ③ 数据过滤质量分类器、去毒、去偏见 ↓ ④ 数据混合不同来源按比例混合 ↓ ⑤ 格式化与序列化转成训练需要的格式 ↓ ⑥ 数据版本管理DVC、数据卡片 ↓ 预训练数据集最终产物3.3 主要数据源对比数据源规模词数质量用途Common Crawl~4100亿低~中通用知识、网页文本Books书籍~190亿高叙事能力、长程依赖Wikipedia~30亿极高事实性知识GitHub代码~180亿高代码生成、逻辑推理Reddit/论坛~90亿中对话能力、口语化关键洞察数据不是越多越好而是越优质越好。低质量数据会稀释模型性能。数据混合比例是门艺术Too much web data → 模型肤浅Too much books → 模型书呆子。去重至关重要重复数据会导致模型死记硬背而非真正理解。四、第二环节Tokenization——把文本切成积木4.1 什么是TokenToken是大语言模型的基本处理单元。可以理解为英文大致是词或词的片段比如unhappy → [“un”, “happy”]中文大致是字或词比如大模型 → [“大”, “模型”] 或 [“大模型”]为什么不直接用字或词方案优点缺点按字简单词表小丢失语义信息序列太长按词语义完整词表爆炸百万级OOV问题按子词BPE/WordPiece⭐ 平衡词表大小和语义需要学习分词器4.2 主流Tokenization算法BPEByte Pair Encoding核心思想从字符开始反复合并最频繁出现的字符对。初始[l, o, w, e, r, s] Step 1合并 e r → er最高频 Step 2合并 l o → lo次高频 ... 最终词表[low, ers, est, ...]代表模型GPT系列、GPT-2、GPT-3WordPiece核心思想类似BPE但合并依据是似然增益而非简单频率。代表模型BERT、LLaMASentencePiece核心思想把空格也当成普通字符统一处理多种语言。代表模型T5、LLaMA 2、Multilingual模型4.3 Tokenization实战演示# 使用Hugging Face Tokenizers库fromtransformersimportAutoTokenizer tokenizerAutoTokenizer.from_pretrained(meta-llama/Llama-2-7b-hf)text大语言模型真的很强大tokenstokenizer(text)[input_ids]print(f文本{text})print(fToken数{len(tokens)})print(fToken ID{tokens})print(f解码验证{tokenizer.decode(tokens)})输出示例LLaMA Tokenizer文本大语言模型真的很强大 Token数15 Token ID[29962, 24391, 24401, ...] 解码验证大语言模型真的很强大关键洞察不同模型的Tokenization不同LLaMA的中文分词效率低1个中文字≈2-3个TokenQwen的中文分词效率高1个中文字≈1个Token。Token数 钱API按Token计费Tokenization效率直接影响成本。上下文长度限制的是Token数不是字符数。五、第三环节Embedding——把Token变成可计算的对象5.1 为什么需要Embedding神经网络只能处理数字不能直接理解文字。Embedding的任务把离散的Token ID比如 29962映射为连续的向量比如[0.23, -0.45, ..., 0.78]维度通常是 4096 或 5120。好的Embedding应该具备语义相似性意思相近的词向量距离近“猫” vs “猫咪”语法结构性语法角色相似的词向量结构相似“跑” vs “跳”多义性处理同一个词在不同语境下有不同的向量苹果手机 vs 苹果水果5.2 Embedding的三种层次层次说明代表技术Token Embedding每个Token有一个固定向量查表Lookup TablePosition Embedding注入位置信息Transformer需要正弦编码、RoPE、AlibiSegment Embedding区分不同句子/段落BERT用可学习向量5.3 Position Embedding深度解析Transformer是并行计算的它不知道我是第几个词。解决办法给每个位置一个位置向量加到Token Embedding上。正弦位置编码原始TransformerPE(pos, 2i) sin(pos / 10000^(2i/d)) PE(pos, 2i1) cos(pos / 10000^(2i/d))优点无需训练泛化到任意长度。缺点长度外推能力有限。RoPERotary Position EmbeddingLLaMA采用核心思想用旋转矩阵编码相对位置信息。优点优秀的长度外推能力训练2048推理8192相对位置信息编码更自然代表模型LLaMA、LLaMA 2、ChatGLM、QwenAlibiBLOOM、MT-NLG采用核心思想在Attention的Softmax之前加一个位置偏置矩阵。优点极致的长度外推训练2048推理可到100k缺点性能略逊于RoPE5.4 Embedding可视化想象一个三维空间“猫”、“狗”、“动物” 聚在一起“跑步”、“跳跃”、“运动” 聚在一起“猫” 和 “猫咪” 几乎重合“苹果手机” 和 “苹果水果” 在不同区域这就是Embedding的魔力语义相似的词在向量空间中彼此靠近。下图展示了从原始文本到Embedding向量的完整转换流程以及Embedding向量空间的语义聚类效果。六、第四环节模型架构——Transformer及其变种6.1 Transformer回顾2017年Google在论文《Attention is All You Need》中提出Transformer架构。两大核心机制Self-Attention自注意力让每个词看到所有其他词Feed-Forward Network前馈网络对每个词进行非线性变换两大变种Encoder-only如BERT擅长理解Decoder-only如GPT擅长生成Encoder-Decoder如T5擅长转换6.2 GPT架构详解Decoder-only输入文本今天天气 ↓ Tokenization: [今天, 天气] ↓ Embedding: [向量1, 向量2] ↓ ┌─────────────────────────────────────────┐ │ GPT 主体数十层Decoder │ │ │ │ Layer 1: │ │ ├─ Masked Self-Attention │ │ ├─ LayerNorm │ │ ├─ Feed-Forward Network │ │ └─ LayerNorm │ │ │ │ Layer 2: │ │ ├─ Masked Self-Attention │ │ ├─ LayerNorm │ │ ├─ Feed-Forward Network │ │ └─ LayerNorm │ │ │ │ ...重复数十层... │ │ │ │ Layer N: │ │ ├─ Masked Self-Attention │ │ ├─ LayerNorm │ │ ├─ Feed-Forward Network │ │ └─ LayerNorm │ └─────────────────────────────────────────┘ ↓ Linear Softmax ↓ 输出概率分布下一个Token的概率 ↓ 采样选取概率最高的Token或随机采样 ↓ 很生成结果关键设计Masked Self-Attention每个位置只能看到它之前的词不能偷看未来。残差连接 LayerNorm让梯度能够顺畅地流动支持训练超深网络。Feed-Forward Network通常是扩维 → 激活 → 降维比如 4096 → 16384 → 4096。6.3 LLaMA架构创新GPT的改进版改进点GPT-3LLaMA归一化LayerNormRMSNorm更稳定激活函数GeLUSwiGLU性能更好位置编码可学习位置编码RoPE长度外推更好注意力优化标准Multi-HeadGrouped-Query Attention推理更快七、第五环节预训练——大模型的基础教育7.1 预训练的任务核心任务预测下一个词Next Token Prediction。输入 今天天气很 标签 好 输入 今天天气很好适合 标签 出 输入 今天天气很好适合出 标签 门就这么简单是的但规模改变一切。当模型足够大70B、数据足够多万亿词、训练足够久数千GPU小时时这个简单的任务竟然让模型学会了语法规则事实知识推理能力代码能力多语言能力7.2 预训练的工程挑战挑战一算力需求巨大模型参数量训练FLOPs所需A100小时估计GPT-3 125M1.25亿5.6e18~8小时单卡GPT-3 1.3B13亿2.7e20~4天8卡GPT-3 13B130亿1.8e22~30天64卡GPT-3 175B1750亿3.1e23~34天1024卡LLaMA 2 70B700亿1.7e24~21天2048卡关键洞察训练大模型不是有钱就能训而是有钱有工程能力有数据才能训。挑战二分布式训练三大并行策略数据并行Data Parallelism 把数据切成多份每张卡跑一份梯度同步。 模型并行Model Parallelism 把模型切成多份每张卡放一份激活值传递。 流水线并行Pipeline Parallelism 把模型按层切分形成流水线提高GPU利用率。实战组合70B模型8卡数据并行 2卡模型并行 16卡175B模型64卡数据并行 8卡模型并行 2卡流水线 1024卡挑战三训练稳定性大模型的训练随时可能崩。常见不稳定因素梯度爆炸/消失梯度范数突然变大/变小Loss Spike训练过程中Loss突然飙升注意力熵崩塌Attention分布突然变得极度集中应对措施Warmup Cosine Decay学习率调度Gradient Clipping梯度裁剪Mixed Precision Training混合精度训练Z-Loss稳定Logit分布八、第六环节微调——让模型学以致用8.1 为什么需要微调预训练模型就像一个博览群书的通才——什么都知道一点但什么都不精。微调Fine-tuning的任务在特定任务上进一步训练让模型专精。8.2 微调的三种层次层次方法所需数据计算成本效果Full Fine-tuning更新所有参数大量万级高需完整训练⭐⭐⭐⭐⭐LoRA只更新低秩矩阵中等千级低只训练0.1%参数⭐⭐⭐⭐Prompt Tuning只更新Prompt向量少量百级极低⭐⭐⭐8.3 LoRA深度解析核心思想预训练模型的权重矩阵W是好的我们不需要改变它。我们只学习一个低秩分解W W ΔW W BA 其中 W: 原始权重形状 (d, d)冻结不训练 B: 可学习矩阵形状 (d, r) A: 可学习矩阵形状 (r, d) r: 秩Rank通常 r d比如 r8, d4096 参数量d×d → d×r r×d 2dr 比如4096×4096 → 4096×8 8×4096 65536仅为原参数量的0.39%LoRA的优势训练成本低只训练0.1%~1%的参数多任务切换快每个任务一个LoRA权重切换只需插拔推理几乎无损耗部署时可以把BA合并到W里8.4 微调实战代码示例# 使用Hugging Face PEFT库进行LoRA微调frompeftimportLoraConfig,get_peft_modelfromtransformersimportAutoModelForCausalLM# 加载基础模型modelAutoModelForCausalLM.from_pretrained(meta-llama/Llama-2-7b-hf)# 配置LoRAlora_configLoraConfig(r8,# 秩lora_alpha32,# 缩放因子target_modules[# 对哪些层应用LoRAq_proj,k_proj,v_proj,o_proj,gate_proj,up_proj,down_proj],lora_dropout0.05,biasnone,task_typeCAUSAL_LM)# 应用LoRAmodelget_peft_model(model,lora_config)# 查看参数量model.print_trainable_parameters()# 输出trainable params: 4,194,304 || all params: 6,742,609,920 || trainable%: 0.06%九、第七环节对齐——让模型懂礼貌9.1 为什么需要对齐预训练模型有个问题它只是预测下一个词不在乎输出的内容是否有害、是否有帮助。对齐Alignment的目标让模型的输出符合人类偏好有帮助、诚实、无害。9.2 RLHF全流程RLHFReinforcement Learning from Human Feedback是对齐的主流方法。Step 1: 监督微调SFT 用高质量问答对微调模型 ↓ Step 2: 奖励模型训练Reward Modeling 让人工标注员对模型输出打分/排序 训练一个奖励模型输入回答输出分数 ↓ Step 3: 强化学习优化PPO 用奖励模型作为环境用PPO算法优化模型 目标最大化奖励模型的打分9.3 DPORLHF的简化版DPODirect Preference Optimization是2023年提出的无需强化学习的对齐方法。核心思想直接优化策略模型让偏好的回答概率 不偏好的回答概率。优势不需要训练独立的奖励模型不需要复杂的PPO算法训练更稳定、更快公式Loss -log σ(β * log πθ(y_w|x) - β * log πθ(y_l|x))其中y_w偏好的回答winnery_l不偏好的回答loserβ温度参数十、第八环节推理与部署——让模型上岗工作10.1 推理优化的核心挑战Challenge #1延迟Latency用户不想等5秒才看到第一个词。Challenge #2吞吐量Throughput服务商希望同一张GPU能同时服务多少用户。Challenge #3成本CostA100/H100很贵如何用最少的卡服务最多的用户10.2 KV Cache推理加速的核心技术问题生成每个新Token时都需要重新计算所有之前Token的Key/Value向量——这是巨大的浪费。解决办法缓存起来生成第1个Token 计算 K₁, V₁ → 存入KV Cache ↓ 生成第2个Token 直接读取 K₁, V₁不用重算 计算 K₂, V₂ → 存入KV Cache ↓ 生成第3个Token 直接读取 K₁, V₁, K₂, V₂不用重算 计算 K₃, V₃ → 存入KV Cache ↓ ...效果推理速度提升10倍。代价显存占用增加KV Cache可能占到显存的50%。10.3 量化用更少的bit表示权重核心思想模型权重通常是FP1616位浮点。我们可以把它们压缩成INT8或INT4大幅减少显存占用和推理延迟。量化方案权重精度显存占用性能损失适用场景FP1616-bit100%0%高性能要求INT88-bit50%~1%平衡性能与成本INT44-bit25%~3%极致成本优化NF4QLoRA4-bit正态25%~1%微调推理一体化10.4 vLLM推理框架的性能之王vLLM是伯克利大学提出的高吞吐量LLM推理框架。核心创新PagedAttention传统KV Cache管理 为每个请求预分配一块连续显存 问题显存碎片 浪费 vLLM的PagedAttention 把KV Cache分成固定大小的页 动态分配、按需增长 效果吞吐量提升24倍vLLM的核心特性连续批处理Continuous Batching动态地把多个请求打包在一起推理PagedAttention显存利用率从 ~60% 提升到 ~90%张量并行Tensor Parallelism多卡推理支持流式输出Streaming第一个Token出来就开始返回下图展示了从预训练到线上部署的完整流水线涵盖四大关键环节及其工程挑战。十一、技术选型决策框架11.1 按业务场景选择技术栈业务场景推荐技术栈原因聊天机器人GPT-4o API / Claude API快速上线效果最好私有化部署数据安全LLaMA 2/3 vLLM INT4量化数据不出域成本可控代码助手Code LLaMA / DeepSeek-Coder FIM代码专用模型填空模式支持垂直领域医疗/法律通用大模型 LoRA微调保留通用能力注入领域知识边缘设备手机/IoTQwen-7B GGUF Ollama模型小量化后能在端侧运行11.2 按团队规模选择技术栈团队规模推荐路径说明1-3人直接使用商用APIGPT-4o/Claude最快上线按量付费5-10人开源模型 vLLM部署成本可控有一定定制能力10人预训练自己的模型70B完全自主技术壁垒十二、总结与展望12.1 本文回顾在这篇文章中我们系统性地拆解了LLM从数据到部署的八大技术环节数据准备Garbage In, Garbage Out——数据质量决定模型上限Tokenization把文本切成TokenBPE/WordPiece是主流算法Embedding把Token映射为向量位置编码是关键创新模型架构Transformer是基石GPTDecoder-only是主流预训练预测下一个词规模带来涌现能力微调Full Fine-tuning / LoRA / Prompt Tuning按需求选择对齐RLHF和DPO让模型输出符合人类偏好推理与部署KV Cache、量化、vLLM让模型高效服务用户12.2 技术栈演进趋势趋势一更小的模型更强的性能70B模型 推理时计算o1系列≈ 175B模型的性能MoE混合专家架构激活参数少总参数多趋势二端到端优化从训练用PyTorch推理用TensorRT → “训练推理一体化Torch Compile”从通用GPU → “AI专用芯片TPU、Ascend NPU”趋势三对齐技术简化从RLHF复杂 → “DPO简单” → “RLAIF无人工”对齐将成为标配而非高门槛技术12.3 下期预告下期文章6月1日周二《Transformer架构深度解析Encoder-Decoder全理解》在这篇文章中我们将深入剖析Self-Attention的数学原理理解位置编码的演进正弦 → RoPE → Alibi掌握Encoder、Decoder、Encoder-Decoder的架构差异动手实现一个简化的TransformerPyTorch代码十三、参考资料论文Attention is All You NeedTransformer原论文2017Vaswani et al., NeurIPS 2017arXiv:1706.03762BERT: Pre-training of Deep Bidirectional Transformers2018Devlin et al., NAACL 2019arXiv:1810.04805Language Models are Few-Shot LearnersGPT-32020Brown et al., NeurIPS 2020arXiv:2005.14165LLaMA: Open and Efficient Foundation Language Models2023Touvron et al., Meta AIarXiv:2302.13971LoRA: Low-Rank Adaptation of Large Language Models2021Hu et al., ICLR 2022arXiv:2106.09685Training language models to follow instructions with human feedbackInstructGPT2022Ouyang et al., OpenAIarXiv:2203.02155Direct Preference Optimization: Your Language Model is Secretly a Reward Model2023Rafailov et al., NeurIPS 2023arXiv:2305.18290Efficient Memory Management for Large Language Model Serving with PagedAttentionvLLM2023Kwon et al., SOSP 2023arXiv:2309.06180开源项目Hugging Face Transformersgithub.com/huggingface/transformersHugging Face PEFTLoRA实现github.com/huggingface/peftvLLMgithub.com/vllm-project/vllmLLaMA 3github.com/meta-llama/llama3Tokenizersgithub.com/huggingface/tokenizers推荐阅读Andrej Karpathy 的 Let’s Build GPTyoutube.com/karpathy李沐的《动手学深度学习》Transformer章节zh.d2l.aiThe Illustrated TransformerJay Alammarjalammar.github.io/illustrated-transformer/vLLM官方文档docs.vllm.ai十四、延伸讨论思考题为什么GPTDecoder-only比BERTEncoder-only更适合作为对话模型LoRA的秩Rank应该如何选择越大越好吗如果让你设计下一代推理框架你会从哪些方面优化实践作业可选体验不同的Tokenization用Hugging Face Tokenizers库对比GPT-2、LLaMA、Qwen的Tokenization效率中英文对比。动手实现BPE算法写一个简单的BPE分词器100行代码以内。部署一个本地LLM用Ollama部署LLaMA 3 8B测试推理速度Tokens/秒。读者互动欢迎在评论区留下你的疑问我会定期整理并回答建议你想在后续文章中看到什么内容实践作业的实现欢迎分享代码链接作者简介Andrew商业航天公司AI CTO。致力于用通俗易懂的语言系统讲解大模型技术。博客主页Andrew浮游会GitHubAndrew’s repo如果这篇文章对你有帮助请点赞、收藏、关注三连⭐你的支持是我持续创作的动力系列文章目录持续更新中✅ 什么是大语言模型LLM从零认识AI新范式5月26日✅大模型技术栈全景从Token到部署的完整链路本文5月28日 Transformer架构深度解析Encoder-Decoder全理解6月1日最后更新时间2026年5月28日字数约12000字阅读时间约25分钟