大模型推理理解

函数表达世界,function describe the world

1.概览

大模型分为训练和推理的两个阶段,训练就是大模型进行学习,推理就是大模型进行输出。

简单的图:

大模型系统 / AI Infra

│

┌───────────┴───────────┐

│ │

训练 Infra 推理 Infra

│ │

Distributed Training LLM Serving

Data Parallel vLLM / SGLang

Tensor Parallel KV Cache

Pipeline Parallel Scheduler

NCCL CUDA / Triton

ZeRO / FSDP Quantization

Megatron TensorRT-LLM

大模型的推理阶段。

大模型推理目的,高吞吐,低延迟

学习推理,要学习Transformer推理,PyTorch推理执行,GPU 架构和 CUDA,学 Triton,vllm

其中,transformer 会同时在训练和推理阶段都用到。transformer本身是一个模型计算过程,姑且先这么理解吧。

模型训练完整的生命周期如下:

数据

↓

预训练 Pre-training

↓

后训练 Post-training

(SFT / RL 等)

↓

得到最终模型参数

↓

部署到推理系统

↓

用户请求

↓

Transformer 前向计算

↓

输出 Token

在我看来,每一步都很重要,数据是一切的开始,但是网络上的数据很多,很杂,据我所知,就有一些岗位是专门来处理数据,为模型训练提供一个基石,可能是脚本,可能是流水线,都有可能。

预训练,以我现在认识,预训练就是在调参,一般的来说,数学是固定的,确定的,比如f=ma,G=mg,这些公式,固定的输入输出,得到一定准确的结果,但是如果是什么是猫,什么是狗,这种抽象的输入,程序就比较难以回答是true和false了。y=kx+b,是一个函数,一条线,对吧,但是模型训练就是给定一大堆固定的参数,通过训练,得到一个函数,这个函数可以有许多参数,不一定是直线,也可能弯曲。预训练就是在调参数,让结果尽量接近正确,但不保证正确。

后训练,也是在调残,不过数据是一些人类希望的回答。

最终得到一个模型。我理解最终的模型就是一个有着巨大参数的函数。输入是任何东西,输出也是。函数表达世界

最后训练好的模型部署在推理,用户开始输入,比如,你是谁,推理系统需要把输入给到训练好的模型,模型内部的计算是通过transformer进行的。所以最终得到一个输出。

之所以需要专门需要推理是因为一个模型部署起来,可能同时有很多请求打过来,需要同时处理1w条请求,这个就比较头疼呀,所以需要有推理。

再给一个图,模型训练时的图,这个图我理解就是调参的图:

输入数据

↓

Transformer Forward

↓

得到 Loss

↓

Backward

↓

计算 Gradient

↓

Optimizer 更新参数

↓

重复很多次

模型通过大量的训练,得到了一个训练好的模型。

到了推理阶段,这个阶段就是需要模型输出答案了:

用户输入

↓

加载训练好的参数

↓

Transformer Forward

↓

算出下一个 token 的概率

↓

选择 token

↓

再执行 Transformer Forward

↓

再生成一个 token

↓

...

所以模型训练的整个流程我们讲清楚之后, 需要知道就是模型有训练和推理两个部分。从而衍生出对应的需求。

训练关注:

如何把模型参数学好?

推理关注:

参数已经学好了,

如何让大量请求

更快、更便宜、更稳定地跑完 Transformer?

所以有vllm这个推理架构,帮助我们来处理大量的请求。和数据库是类似的,磁盘IO是缓慢的,一方面是需要从用户到内核的开销,一方面是磁盘本身寻址就是慢的,所以我们尽可能堆batch,然后统一的去请求,这样可以加快速度。

用户请求

↓

┌────────────────────┐

│ vLLM │

│ │

│ Scheduler │

│ Continuous Batch │

│ KV Cache Manager │

│ PagedAttention │

│ Prefix Cache │

│ Model Runner │

└─────────┬──────────┘

↓

┌────────────────────┐

│ Transformer │

│ │

│ Attention │

│ RMSNorm │

│ MLP │

│ RoPE │

└─────────┬──────────┘

↓

CUDA

↓

GPU

简单的理解,

Transformer 告诉你"一个请求怎么算";vLLM 告诉你"一万个请求怎么高效地一起算"。

一生一,二胜二,三生万物。

2.学习路线

复制代码
Transformer 推理 + PyTorch + KV Cache

CUDA + GPU 架构 + Nsight

Triton + Attention Kernel + Benchmark

vLLM 源码 + Scheduler + KV Cache Manager

Mini Inference Engine

3.transfomer理解

B站的讲解视频

https://www.bilibili.com/video/BV1NCgVzoEG9/?spm_id_from=333.788.videopod.sections&vd_source=f2c6f95328c7aaa4322be5f8263e73e5&p=2

如果说f=ma可以表达成确定的函数,牛二也可以,G=mg也可以,传统编程几乎就是让计算机器执行重复的事情,但是如果问题转变,我们想要让机器识别一只猫,这种输入不固定,就变得异常困难,那怎么办呢,猜,找不到一组数据的规律就利用大量的计算来接近真实的数据。

神经网络就是非常复杂的一个非线性函数

相关推荐
秦先生在广东1 分钟前
开源权重的质变时刻:技术超越、政策博弈与商业模式重构
人工智能
旺仔Sec25 分钟前
2026年江西省职业院校技能大赛(中职组)人工智能应用技术样题
人工智能
筑梦之路1 小时前
os-pilot-ai 项目分析:把“一句话装系统“塞进一个 52MB 的 mini-ISO——筑梦之路
人工智能
IT_陈寒1 小时前
SpringBoot启动慢得像蜗牛?原来是这个配置在捣鬼
前端·人工智能·后端
Zootopia6261 小时前
多架 eVTOL集群排班调度方案思考
人工智能·算法·数学建模·matlab·动态规划·无人机·evtol
代码方舟1 小时前
零信任架构实战:基于天远学历信息高级版构建自动化智库入驻审查网关
运维·人工智能·架构·自动化
lank_M1 小时前
浏览器端为什么导不出渐进式JPEG
图像处理·人工智能·计算机视觉
指针向南1 小时前
Chrome读不了HEIC怎么办:原生解码和WASM两条路
前端·图像处理·人工智能·chrome·计算机视觉·wasm
林伽一1 小时前
100 万输出词元与窄开放,前沿模型发布范式正在改写|2026年10月02日
人工智能·科技·安全·ai
和裕2 小时前
年度框架直供 vs 零散按需采购:定制纸箱采购成本、交付与服务核心区别全对比
大数据·运维·网络·人工智能·算法