当前位置: 首页 > article >正文

大模型推理全链路拆解

从 token 调度到采样输出追踪每一步张量维度的变化搞懂 LLM 推理到底在算什么01为什么需要 Continuous Batching批处理能提升 GPU 利用率——复用权重来均摊显存访问开销。但生成式任务的输出序列长度不可预测且差异巨大传统齐步走的批处理玩不转。在 vLLM 调度器的视角里没有 Prefill 和 Decode 的区分。它只盯着两个数字num_computed_tokens已经算过的和num_tokens当前应该有的。每一步的目标就是让前者追上后者。差多少就调度多少直到 token 预算用完。调度受四个硬约束限制→最大并发请求数max_num_seqs→Token budget — 单步所有请求的 token 总量上限控制 GPU 计算量→模型最大序列长度max_model_len→是否还有空闲的 KV Cache blocks调度的核心洞察把调度粒度从 request 级下沉到 token 级请求完成后槽位立刻释放新请求无缝补入。这就是 continuous batching。不是什么高深的发明是问题逼出来的自然选择。02Paged Attention显存的虚拟内存KV Cache 不能一次性申请所有显存——你不知道生成会多长。Paged Attention 借鉴操作系统的虚拟内存思想按 block 分配、按需增长。vLLM 启动时预分配 KV Cacheshape 为[num_layers, 2, num_blocks, block_size, num_kv_heads, head_dim]。block_table 没有num_layers维度——同一个 token 在所有层的 KV 值都存在同一个物理块位置。推理过程中slot_mapping告诉 kernel 把新产生的 KV 写到哪个 slotblock_table告诉 kernel 去哪些物理 block 读取已有的 KV Cache。一套映射管读写。与操作系统的类比虚拟地址 → 逻辑块号页表 → block_table物理页帧 → 物理块 ID。操作系统的虚拟内存解决内存不够用的问题Paged Attention 解决 KV Cache 显存碎片化的问题。同一个思路。03从文本到向量Embedding用户输入的 prompt 先经过 BPE 分词变成数字 ID再通过查表变成向量。Embedding 本质是索引取值不是矩阵乘法。BPE 的训练方式很直觉从字符级开始反复把出现频率最高的相邻 token 对合并成新 token直到词表达到目标大小。Llama 3 的词表有 128256 个 token。vLLM 把 batch 中所有请求的有效 token 拼成一维长向量彻底消除 padding。所以 Embedding 的输入不是[batch_size, seq_len]而是[num_sched_tokens]——所有 token 打平后直接查表。04Attention推理最复杂的环节Attention 的数学不复杂但工程实现极其精巧。FlashAttention 用 kernel 融合和分块计算绕开内存墙而 Prefill 和 Decode 的计算特征差异巨大。整个 Attention 流程在理论层面只有六步GQA 共享 → Q-K 点积 → Scale → Mask → Softmax → 乘 V。但每一步的工程实现都有讲究。GQA 让 1 个 KV Head 对应 4 个 Q Head物理上不复制数据通过索引映射kv_head_idx q_head_idx / (num_heads / num_kv_heads)实现。Llama 3-8B 有 32 个 Q Head 和 8 个 KV HeadKV Cache 体积压缩到原来的 1/4。FlashAttention 把从 Q-K 点积到乘 V 的 5 步融合成一个 CUDA kernel中间矩阵 S 和 P 不写回 HBM。O(N²) 的中间结果留在 SRAM只把最终输出写回显存。这是绕开内存墙的办法。Flattened 到请求维度的切换进入 Attention kernel 之前需要从全局 Flattened 视角[num_sched_tokens, ...]切换到请求维度。Attention 计算本质上是请求内部的操作——不同请求的 KV Cache 不能交叉。vLLM 通过cu_seqlens累积序列长度数组实现变长序列的请求级隔离无需真正 reshape 为规整张量。Prefill 与 Decode 的本质差异阶段query_lensseq_lens计算特征瓶颈Prefillnum_prompt_tokensnum_prompt_tokens稠密矩阵乘法 GEMM计算量Decode1历史 token 总数矩阵向量乘法 GEMV显存带宽Decode 阶段每次只处理 1 个 token计算量很小但需要把整个 KV Cache 从 HBM 搬到 SRAM。随着序列变长搬运的数据量持续增长——这就是为什么 Decode 阶段是访存密集型。Prefill 则相反计算量大但比例合理属于计算密集型。残差连接的物理意义不要推翻重来在原有基础上学修正值。ResNet 让网络堆到 100 层以上还不梯度消失后来的 BERT24 层和 GPT96 层才敢设计得那么深。Scaling Law 要能跑起来底层得有残差连接撑着。05FFN参数和计算量的大头Llama 3-8B 的 MLP 层参数占比约 70%FLOPs 占比也约 70%。三个线性层 SwiGLU 激活是模型计算最重的部分。FFN 的计算逻辑很直白Gate 和 Up 两条并行线性变换Gate 经过 SiLU 激活后和 Up 逐元素相乘最后 Down Proj 投影回原维度。这就是 SwiGLU。vLLM 的工程优化点把W_gate和W_up按列拼接两次中等规模的矩阵乘法变成一次宽矩阵 GEMM。Activation 用silu_and_mulkernel 在 SRAM 上直接输出点乘结果不写回 HBM。Residual Add 和下一步的 RMSNorm 也融合成一个 CUDA kernel。每一步都在省一次显存读写。06Sampling从 logits 到下一个 tokenTransformer Block 的输出经过 LM Head 映射到整个词表空间得到 128256 维的 logits。然后经过一系列后处理和采样最终选出一个 token。LM Head 只需要每个请求序列最后一个 token 的特征来预测下一个词所以进入 LM Head 前会做一次 Gather 操作Speculative Decoding 等场景除外。权重矩阵[4096, 128256]极其庞大vLLM 通常用张量并行按列切分来加速。采样流程有几个实用的设计点。Greedy 先行——在 temperature 缩放之前先做 argmax避免精度损失。整个 batch 都是 greedy 的话后续步骤全部跳过。min_p是唯一的 argmax-invariant 处理器阈值自适应模型确定时砍得多不确定时砍得少但 argmax 结果永远不变。Top-K 和 Top-P 做硬截断最后 Gumbel-Max 保证随机性。结构化输出的工程实现白名单过滤配合 grammar bitmask每一步动态计算当前合法的 token 集合。比如情感分类只允许输出 “positive” “negative” “neutral” 对应的 token多选题只允许 A B C D。这比在 prompt 里要求输出格式靠谱得多。07推理之外这些基础如何延伸理解了推理流程中每一步的张量维度变化很多高级概念就变得自然。MoE、张量并行、长上下文优化本质上都是在不同维度上拆分同样的计算。理解了推理中每一步张量维度的变化很多高级概念就没什么神秘的了。张量并行就是在不同轴上切分Fused QKV 和 Fused Gate/Up 按列切分O_Proj 和 Down_Proj 按行切分后 AllReduce。MoE 就是在 FFN 层加路由每次只激活部分参数。长上下文的 chunked prefill、Flash-Decoding、Sequence Parallelism 是在不同维度拆分 prompt解决的问题不同但都用 Log-Sum-Exp 做重新归一化。推理的原理说到底就那些。工程优化的核心思路也一致减少显存读写提升计算强度按需分配资源。搞清楚每一步 shape 怎么变剩下的就是工程取舍。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

相关文章:

大模型推理全链路拆解

从 token 调度到采样输出,追踪每一步张量维度的变化,搞懂 LLM 推理到底在算什么 01 为什么需要 Continuous Batching 批处理能提升 GPU 利用率——复用权重来均摊显存访问开销。但生成式任务的输出序列长度不可预测且差异巨大,传统"齐…...

别再死磕公式了!用Python动手实现Turbo码的Max-Log-MAP译码(附完整代码)

用Python实战Turbo码:Max-Log-MAP译码的工程实现指南 在通信系统的纠错编码领域,Turbo码因其接近香农极限的性能而闻名。但对于大多数工程师和开发者而言,Turbo码译码算法中复杂的概率公式和递推关系往往成为理解障碍。本文将带你绕过数学推导…...

解密猫抓:当浏览器成为你的私人视频档案管理员

解密猫抓:当浏览器成为你的私人视频档案管理员 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否曾盯着浏览器中那个精彩的在线讲座…...

实景复刻:动态目标实时映射与轨迹溯源平台

实景复刻:动态目标实时映射与轨迹溯源平台技术定位:实景动态复刻体系构建者 时空轨迹全链路溯源范式开创者执行摘要在数字孪生、视频孪生从静态可视化向动态可计算演进的关键阶段,物理世界与数字世界时空不同步、虚实不精准、动态不连续、轨…...

Qt程序图标设置全攻略:从.ico文件到任务栏显示,一个坑都不踩

Qt程序图标设置全攻略:从资源文件到系统缓存的完整解决方案 第一次用Qt打包发布程序时,我盯着任务栏上那个丑陋的默认图标发呆了十分钟——明明在代码里设置了图标,为什么还是显示不出来?相信很多Qt开发者都遇到过类似问题。图标…...

从校赛到区域赛:ACM-ICPC竞赛中的经典算法与实战策略解析

1. ACM-ICPC竞赛与算法能力培养 ACM国际大学生程序设计竞赛(ACM-ICPC)是全球最具影响力的大学生计算机赛事,被誉为"计算机界的奥林匹克"。这项赛事不仅考验选手的编程能力,更注重算法设计、团队协作和心理素质的综合表现…...

DLSS Swapper终极指南:一键切换游戏超采样版本,免费提升帧率30%+

DLSS Swapper终极指南:一键切换游戏超采样版本,免费提升帧率30% 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 你是否曾羡慕别人在《赛博朋克2077》里享受丝滑流畅的画面,而你的游戏…...

告别Xilinx思维:用Microsemi Libero为SmartFusion FPGA创建你的第一个工程(附资源清单)

告别Xilinx思维:用Microsemi Libero为SmartFusion FPGA创建你的第一个工程(附资源清单) 当习惯了Xilinx Vivado或Intel Quartus的工程师第一次打开Microsemi Libero时,那种感觉就像突然被扔进了一个陌生的城市——所有的路标都似…...

同花顺高级玩法:用Python自动计算并更新‘历史换手衰减系数’,解放双手

同花顺量化实战:Python自动化计算历史换手衰减系数的完整方案 在量化交易领域,筹码分布分析一直是技术派投资者的重要工具。而同花顺软件中的"历史换手衰减系数"参数设置,直接影响着筹码峰分析的准确性。传统的手工计算方式不仅效率…...

CoaXPress 2.0多输入高速图像采集卡:应对机器视觉数据洪流的架构核心

1. 项目概述:当视觉系统遇上数据洪流在工业检测、半导体AOI、生命科学成像这些对速度和精度要求近乎苛刻的领域,图像采集卡扮演着“数据咽喉”的角色。它决定了视觉系统能从相机“吞下”多少数据,以及“消化”的速度有多快。最近,…...

微信数据库解密全攻略:3步解锁你的数字记忆宝库

微信数据库解密全攻略:3步解锁你的数字记忆宝库 【免费下载链接】WechatDecrypt 微信消息解密工具 项目地址: https://gitcode.com/gh_mirrors/we/WechatDecrypt 微信数据库解密工具WechatDecrypt让你重新掌控被加密的聊天记录,实现个人数据的自主…...

基于Wasp全栈框架的SaaS启动模板:快速构建多租户应用

1. 项目概述:一个为独立开发者量身定制的开源SaaS蓝图 如果你是一名独立开发者,或者是一个小团队的创始人,心里揣着一个SaaS产品的想法,却总在技术选型、架构设计和持续交付的迷宫里打转,那么 wasp-lang/open-saas …...

卫星通信安全认证技术解析与应用指南

1. 卫星通信安全认证技术概述 卫星通信作为现代信息基础设施的重要组成部分,其安全性直接关系到国家安全和经济发展。在近地轨道卫星数量激增、天地一体化网络快速发展的背景下,传统地面网络的安全认证方案已无法满足卫星通信的特殊需求。卫星信道具有长…...

Defender Control:Windows Defender 终极控制指南 - 如何永久禁用Windows安全防护

Defender Control:Windows Defender 终极控制指南 - 如何永久禁用Windows安全防护 【免费下载链接】defender-control An open-source windows defender manager. Now you can disable windows defender permanently. 项目地址: https://gitcode.com/gh_mirrors/…...

如何通过DLSS版本管理工具提升30%游戏性能:实战指南

如何通过DLSS版本管理工具提升30%游戏性能:实战指南 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper DLSS Swapper是一款开源游戏性能优化工具,专门用于管理DLSS、FSR和XeSS动态库版本。你是否曾…...

别再只盯着永恒之蓝打靶了!用Metasploit实战MS17-010的5个高阶后渗透技巧

实战MS17-010后渗透:5个提升内网横向移动效率的专业技巧 当Meterpreter会话成功建立后,真正的挑战才刚刚开始。许多安全研究员在渗透测试中往往止步于初始入侵,却忽略了后渗透阶段才是红队演练的核心战场。本文将分享五个经过实战检验的高阶…...

ARM DCC通信机制与RealMonitor协议栈解析

1. ARM DCC通信机制深度解析 调试通信通道(Debug Communications Channel, DCC)是ARM架构中用于主机调试器与目标设备通信的基础设施。不同于常规的串口或USB调试接口,DCC直接利用ARM核心的调试组件实现,具有以下显著特点: 寄存器级通信 &a…...

CLI集成AI:Gemini命令行工具实战指南与工作流优化

1. 项目概述:当命令行遇上AI,一个高效工作流的诞生如果你和我一样,每天有大量时间泡在终端里,那么“如何让命令行更智能”可能是一个持续困扰你的问题。传统的CLI工具虽然高效,但面对复杂查询、代码解释、文档生成或数…...

告别模组冲突:用Nexus Mods App打造稳定游戏体验的智能解决方案

告别模组冲突:用Nexus Mods App打造稳定游戏体验的智能解决方案 【免费下载链接】NexusMods.App Home of the development of the Nexus Mods App 项目地址: https://gitcode.com/gh_mirrors/ne/NexusMods.App 还在为游戏模组冲突而烦恼吗?每次安…...

如何用OpenCore Legacy Patcher让老旧Mac焕发新生:5分钟快速上手指南

如何用OpenCore Legacy Patcher让老旧Mac焕发新生:5分钟快速上手指南 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 还在为你的老旧Mac无法升级到…...

开发团队如何通过 Taotoken 实现 API 密钥的统一管理与审计

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 开发团队如何通过 Taotoken 实现 API 密钥的统一管理与审计 对于开发团队而言,安全、高效地管理大模型 API 密钥是一项…...

HttpOnly Cookie 深度解析

一、什么是 HttpOnly Cookie HttpOnly 是一个可以附加在 Set-Cookie 响应头上的标志位(flag)。当一个 Cookie 被标记为 HttpOnly 后,客户端脚本(如 JavaScript)将无法通过 document.cookie 等 API 访问该 Cookie&…...

告别激活弹窗:KMS_VL_ALL_AIO智能激活工具完全指南

告别激活弹窗:KMS_VL_ALL_AIO智能激活工具完全指南 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows系统激活烦恼吗?每次开机都看到"需要激活"的提…...

微软DebugMCP:可视化调试MCP协议,解决AI与工具通信黑盒问题

1. 项目概述:当你的AI助手开始“自言自语”,你需要一个调试器 最近在折腾AI应用开发的朋友,估计没少跟各种“智能体”打交道。无论是基于OpenAI的GPTs,还是那些能联网、能调用工具的自定义助手,它们背后的核心通信协议…...

GA/T 1400视图库实战:从零部署Easy1400平台到设备级联全流程解析

1. 初识GA/T 1400与Easy1400平台 第一次接触GA/T 1400标准时,我完全被各种专业术语绕晕了。简单来说,这是一套专门针对视频监控领域的行业标准,规定了视频图像信息在采集、传输、存储等环节的技术要求。而Easy1400就是基于这个标准开发的一套…...

OAuth 2.0 and OIDC 三大安全机制对比:State vs Nonce vs PKCE

一、问题背景 OAuth 2.0 和 OpenID Connect 的授权流程依赖浏览器重定向,这天然暴露了多种攻击面: 攻击类型描述CSRF攻击者诱导用户的浏览器携带恶意授权码完成绑定Token 重放窃取的 id_token 被重复提交给客户端授权码劫持恶意应用在同一设备上拦截授…...

163MusicLyrics:一键获取网易云QQ音乐歌词的专业工具

163MusicLyrics:一键获取网易云QQ音乐歌词的专业工具 【免费下载链接】163MusicLyrics 云音乐歌词获取处理工具【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 还在为找不到高质量歌词而烦恼吗?163MusicLy…...

Purpur性能调优实战指南:7大核心优化方案深度解析

Purpur性能调优实战指南:7大核心优化方案深度解析 【免费下载链接】Purpur Purpur is a drop-in replacement for Paper servers designed for configurability, and new fun and exciting gameplay features. 项目地址: https://gitcode.com/gh_mirrors/pu/Purpu…...

告别龟速采样!用DDIM加速你的扩散模型推理(附PyTorch代码)

加速扩散模型推理:DDIM核心原理与实战优化指南 在图像生成领域,扩散模型以其卓越的质量表现迅速成为研究热点,但传统DDPM(Denoising Diffusion Probabilistic Models)的致命缺陷在于其缓慢的采样速度——生成一张图片往…...

ONNXRuntime GPU推理想用BFloat16加速?手把手教你搞定PyTorch + CUDA环境配置与避坑

ONNXRuntime GPU推理想用BFloat16加速?手把手教你搞定PyTorch CUDA环境配置与避坑 在深度学习模型部署领域,BFloat16数据类型正逐渐成为提升推理性能的新宠。这种16位浮点格式保留了与32位浮点相同的指数位,在保持数值范围的同时减少了内存占…...