从"算子"到"AI Infra":大模型背后看不见的那群人在忙什么

从"算子"到"AI Infra":大模型背后看不见的那群人在忙什么

你在手机上问 AI 一个问题,几秒钟后,答案一个字一个字地"流"了出来。这件事看起来很轻松,但在你看不见的地方,可能有成百上千块显卡在机房里嗡嗡作响,有无数行精心打磨过的代码在毫秒之间完成了上万亿次计算。

我们平时聊 AI,聊的多是模型有多聪明、能写诗能编程。但很少有人聊:这些模型到底是怎么"跑"起来的? 这就要说到两个在圈内很常见、圈外却很陌生的词:算子 和 AI Infra。

这篇文章就用大白话,把这两件事讲清楚。


一、先打个比方:一家超大型餐厅

想象有一家餐厅,每天要接待几亿位客人,每位客人点的菜都不一样。

  • 菜谱 :告诉厨师这道菜怎么做。在 AI 里,这就是模型。
  • 切、炒、煮、蒸这些基本动作 :任何菜谱都是由这些基本动作组合出来的。在 AI 里,这就是算子。
  • 厨房、灶台、冰箱、传菜员、排班表、采购供应链 :让成千上万道菜又快又稳地做出来、端上桌。在 AI 里,这就是 AI Infra(AI 基础设施)。

研究员负责设计菜谱,而算子工程师和 Infra 工程师负责让厨房高效运转。菜谱再好,厨房一团糟,客人也只能饿着肚子等。

记住这个比喻,下面我们一层一层展开。


二、算子:AI 计算的"基本动作"

1. 算子到底是什么

用一句话说:算子就是神经网络里的一个基本计算步骤。 它接收一些数据,做一种特定的运算,再输出结果。

AI 里的数据通常是一堆排列整齐的数字,叫张量(Tensor)。可以简单理解为:

  • 一个数字,是 0 维张量;
  • 一排数字,是 1 维张量(向量);
  • 一张表格,是 2 维张量(矩阵);
  • 一叠表格,是 3 维张量......以此类推。

而算子,就是"把一些张量变成另一些张量"的那个动作。

2. 常见的算子有哪些

算子 干什么 生活化理解
Add(加法) 两组数字逐个相加 两张成绩单的分数对应相加
MatMul(矩阵乘法) 两个矩阵相乘 AI 里最核心、最耗算力的动作,好比"炒"这个主力工序
Conv(卷积) 用一个小窗口在图片上滑动计算 拿放大镜一块一块扫描图片找特征
ReLU(激活函数) 负数变 0,正数不变 只留下"有用"的信号
Softmax 把一组数字变成加起来等于 1 的概率 把各候选答案的得分换算成"可能性百分比"
LayerNorm(归一化) 把一组数字调整到统一的尺度 把不同单位的数据换算成同一标准
Attention(注意力) 计算每个词该"关注"其他哪些词 读句子时判断"它"指的是前面哪个词

一个大语言模型,拆到最底层,其实就是这些算子按照一定顺序反复堆叠。一个有几百亿参数的模型,听起来神秘,但它运行时做的事,不过是成千上万次矩阵乘法、加法、Softmax......的组合。

3. 看一段代码就明白了

用 PyTorch 写一个最简单的神经网络层:

python 复制代码
import torch

x = torch.randn(32, 1024)       # 输入:32 个样本,每个 1024 维
w = torch.randn(1024, 4096)     # 权重
b = torch.randn(4096)           # 偏置

y = x @ w        # 算子 1:矩阵乘法 MatMul
y = y + b        # 算子 2:加法 Add
y = torch.relu(y)  # 算子 3:激活 ReLU

短短三行,就调用了三个算子。框架会把模型里所有的算子连成一张图,叫计算图:数据从一头流进去,经过一个个算子"加工",从另一头流出来。

4. 关键问题:同一个算子,写法不同,速度能差几十倍

你可能会想:矩阵乘法不就是小学学过的"行乘列再相加"吗?写个三重循环不就完了?

数学上确实如此。但在显卡上把它跑得飞快,是一门硬功夫。 同样一个矩阵乘法,随手写的版本和高手优化过的版本,速度差个几十倍甚至上百倍都很正常。

为什么?这要先了解一下显卡(GPU)的脾气。

GPU 的特点:厨师超多,但门很窄

GPU 里有成千上万个计算核心,就像厨房里站着几千个厨师,动手能力极强。但问题是,食材放在外面的大仓库(显存)里,从仓库搬运食材到灶台的通道是有限的。

于是会出现两种情况:

  • 算力瓶颈(Compute-bound):食材早就到位了,厨师们忙不过来。矩阵乘法通常属于这种,每搬来一份数据要做大量计算。
  • 带宽瓶颈(Memory-bound):厨师们闲着,都在等食材送进来。像加法、ReLU 这种"搬一个数、算一下、送回去"的算子,基本都属于这种。

现实情况是,GPU 的计算速度增长远远快于数据搬运速度的增长。很多时候,真正拖后腿的不是"算得慢",而是"搬得慢"。

优化的核心思路:少跑腿

举个例子,前面代码里的三个算子,最朴素的执行方式是:

  1. 从显存读 x 和 w,算矩阵乘法,结果写回显存;
  2. 再从显存读出结果,加上 b,写回显存;
  3. 再读出来,做 ReLU,再写回显存。

这就好比厨师切完菜放回冰箱,再从冰箱拿出来炒,炒完又放回冰箱,再拿出来装盘。纯属折腾。

聪明的做法叫算子融合(Operator Fusion):把三步合成一步,数据读进来之后,乘、加、激活一口气做完,只写回一次。跑腿次数少了,速度自然就上去了。

业内一个非常有名的例子是 FlashAttention。它并没有改变注意力机制的数学结果,只是重新安排了计算顺序:把数据切成小块,尽量在 GPU 内部高速的"小仓库"里算完,避免反复读写大显存。仅凭这一招,就让注意力计算快了好几倍,还大幅省下了显存,成了如今大模型的标配。

这就是算子优化的魅力:算的东西一样,算法结果一样,但"怎么安排干活"不一样,效率天差地别。

5. 谁来写算子

  • 硬件厂商:比如英伟达提供了 cuBLAS(矩阵运算)、cuDNN(深度学习常用算子)这样的官方算子库。
  • 框架开发者:PyTorch 等框架内置了数千个算子,底层会调用各种硬件的实现。
  • 算子工程师:用 CUDA、Triton 等工具,为特定模型、特定硬件手写或调优高性能算子。
  • AI 编译器 :比如 torch.compile、XLA、TVM 等,试图让机器自动完成算子融合和优化,减少人工手写的工作量。

在国内,还有一项非常重要的工作叫算子适配 。国产 AI 芯片想要跑起主流模型,就得把模型用到的成百上千个算子,在自家芯片上一个个实现好、调快。芯片硬件参数再漂亮,算子库不全、不快,模型也跑不起来或跑不快。可以说,算子生态,是一块 AI 芯片能否真正"能用、好用"的关键。


三、AI Infra:让 AI 跑得起、跑得快、跑得省

1. 它是什么

如果说算子是"基本动作",那 AI Infra(AI 基础设施) 就是从芯片到上线服务之间的一整套系统工程。它要解决的问题可以概括为三个字:

  • 跑得起:几千亿参数的模型,一块显卡根本装不下,怎么办?
  • 跑得快:训练要几个月?能不能缩短到几周?用户等回复要十秒?能不能压到一秒内?
  • 跑得省:显卡非常昂贵,电费也不便宜,怎么用更少的卡干更多的活?

2. AI Infra 的"楼层图"

可以把 AI Infra 想象成一栋楼,从下往上分好几层:

复制代码
┌──────────────────────────────────┐
│  应用层:聊天机器人、代码助手、AI 搜索......  │
├──────────────────────────────────┤
│  推理服务:让模型高效响应海量用户请求       │
├──────────────────────────────────┤
│  训练系统:分布式训练、容错、断点续训       │
├──────────────────────────────────┤
│  框架与编译器:PyTorch、AI 编译器          │
├──────────────────────────────────┤
│  算子库与通信库:cuBLAS、NCCL......           │
├──────────────────────────────────┤
│  集群调度:管理成千上万张卡,谁用、用多久   │
├──────────────────────────────────┤
│  硬件:GPU/AI 芯片、高速网络、存储、机房    │
└──────────────────────────────────┘

算子位于这栋楼的偏底层,是地基里的"砖块"。AI Infra 则覆盖了从砖块到整栋楼的方方面面。

下面挑几个最核心的部分说说。

3. 训练:一万个人怎么合写一本书

训练一个大模型,往往需要成千上万张显卡同时工作几周甚至几个月。问题来了:一个模型怎么拆给这么多张卡一起算?

想象一万个人要合作翻译一部超级巨著,常见的分工方法有这么几种:

  • 数据并行:每个人手里都有一本完整的词典(完整模型),各自翻译不同的章节(不同的数据),定期碰头统一一下翻译风格(同步参数)。这是最常见、最简单的方式。
  • 张量并行:某一页内容太长,一个人翻不过来,就把这一页拆成几段,几个人同时翻,最后拼起来。对应的是把一个超大的矩阵乘法拆到多张卡上。
  • 流水线并行:像工厂流水线,第一个人负责前 10 层,翻完交给第二个人处理第 11 到 20 层......大家各管一段,接力完成。
  • 专家并行:对于"混合专家(MoE)"结构的模型,不同的"专家"放在不同的卡上,每份数据只找相关的几位专家处理。

实际的大模型训练,往往是这几种方法混合使用。怎么组合最高效,本身就是一门学问。

通信:碰头开会的成本

这么多卡一起干活,免不了频繁"开会对答案"。卡与卡之间传输数据的速度,往往成为整个训练的瓶颈。所以 AI Infra 里专门有人研究:

  • 用 NVLink、InfiniBand 等高速连接,把卡和卡、机器和机器连起来;
  • 用 NCCL 等通信库,高效地完成 AllReduce(大家把结果汇总再分发)等操作;
  • 让"计算"和"通信"同时进行,算这一块的时候顺便把上一块的结果传出去,别让卡闲着。
容错:一万张卡,总有一张会坏

这是外行很难想象的问题。一张显卡出故障的概率不高,但一万张卡放在一起,几乎每天都可能有某张卡、某根网线、某台机器出问题。只要一张卡掉线,整个训练就可能卡住。

所以训练系统必须能:

  • 定期保存进度(Checkpoint,就像游戏存档);
  • 快速发现故障节点并把它踢出去;
  • 换上备用机器,从最近的存档继续训练。

存档本身也要讲究效率:几千亿参数的模型,存一次档的数据量非常可观,如果每次存档都要停下来等很久,那也是巨大的浪费。

衡量标准:显卡到底有没有在"干活"

业内常用一个指标叫 MFU(模型算力利用率),意思是显卡的理论算力有多少真正用在了模型计算上。由于通信、等待、故障等各种损耗,这个数字能做到一半左右,就已经算相当不错了。Infra 工程师的很多工作,就是一点一点把这个数字往上抠。在动辄上万张卡的规模下,利用率提升几个百分点,省下的就是一大笔钱。

4. 推理:一个模型怎么同时服务千万人

模型训好了,要拿出来给用户用,这个过程叫推理(Inference)。训练是"一次性的大工程",推理则是"天天营业的流水账",用户越多,推理的总花费就越大。很多公司在推理上的长期成本,甚至会超过训练。

推理优化里有几个特别有代表性的技术:

(1)KV Cache:别从头再读一遍

大模型生成回答是一个字一个字(准确说是一个 token 一个 token)往外蹦的。每生成一个新字,都需要参考前面所有的内容。

如果每次都把前文从头计算一遍,就像写小说续篇时,每写一个字都要把前面几十万字重读一遍,显然太傻了。KV Cache 的做法是:把前文计算过的中间结果存起来,下次直接用。这样就省掉了大量重复计算。

但这又带来新问题:缓存很占显存,对话越长、用户越多,占得越凶。

(2)PagedAttention:像操作系统一样管理显存

vLLM 这个推理框架提出了 PagedAttention 技术,借鉴了操作系统管理内存的"分页"思路,把 KV Cache 切成一小块一小块灵活分配,大大减少了显存浪费,让同一张卡能同时服务更多用户。

(3)连续批处理:电梯别等满员才走

把多个用户的请求凑成一批一起算,效率更高。但不同用户的回答长短不一,如果非要等一批人全部结束才开始下一批,就像电梯必须等最后一个人下了才能上新人。连续批处理(Continuous Batching) 让已经结束的请求随时离开、新请求随时加入,显卡始终保持满负荷。

(4)量化:把数字"写短一点"

模型里的参数原本常用 16 位来存储一个数字,量化就是把它压缩到 8 位甚至 4 位。就像把"3.14159265"简化成"3.14",精度略有损失,但模型体积小了好几倍、算得也更快,很多场景下效果几乎不受影响。

(5)投机解码:让小弟先猜,大哥来批改

让一个小而快的模型先猜接下来几个字,再让大模型一次性检查这几个字对不对。猜对了就直接采用,一次前进好几步;猜错了就从出错处纠正。对用户来说,回复速度明显变快,结果却和大模型自己一个字一个字写完全一样。

此外,推理系统还要考虑:怎么把"理解问题"和"生成回答"两个阶段拆到不同机器上各自优化,怎么在流量高峰时自动扩容,怎么让多个模型共享一批显卡,等等。这些都是 AI Infra 的日常。

5. 其他看不见的角落

除了训练和推理,AI Infra 还包括很多容易被忽略的工作:

  • 集群调度:几万张卡是公司的宝贵资源,谁的任务先跑、分多少卡、跑多久,需要调度系统来管理。
  • 数据管线:训练需要海量数据,读取速度跟不上,显卡就只能干等。
  • 存储系统:存放训练数据、模型文件、存档,既要容量大,又要读写快。
  • 监控与诊断:几万张卡里哪张变慢了、哪根网线有问题,要能迅速定位。
  • 成本核算:每训练一次、每回答一个问题花了多少钱,需要算得明明白白。

四、算子和 AI Infra 是什么关系

一句话概括:算子是 AI Infra 的一部分,而且是最底层、最"硬核"的那一部分。

对比维度 算子 AI Infra
范围 单个计算步骤 从芯片到服务的整套系统
关注点 一个运算在一块芯片上怎么算得最快 整个系统怎么跑得起、跑得快、跑得省
比喻 厨师切菜炒菜的手艺 整个餐厅的厨房、物流、排班、营业
典型技能 硬件架构、CUDA/Triton、性能调优 分布式系统、网络、调度、推理引擎、算子等
典型成果 FlashAttention、各类高性能算子库 分布式训练框架、推理引擎、大规模集群

两者是互相成就的关系:

  • 算子写得快,整个系统的上限才高。厨师手艺不行,厨房管理再好也上不了菜。
  • 系统设计得好,算子的能力才能发挥出来。厨师手艺再好,食材供应不上、灶台不够,也是白搭。

五、为什么这些年 AI Infra 这么火

原因其实很简单:模型越来越大,用的人越来越多,钱烧得越来越凶。

早些年,一个 AI 模型用几块显卡就能训练,Infra 问题并不突出。而如今,顶尖大模型的训练动辄需要上万张显卡,硬件投入以亿计;面向大众的 AI 服务,每天要处理海量请求。在这种规模下:

  • 训练效率提高 10%,可能意味着省下几周时间和一大笔电费;
  • 推理成本降低一半,可能意味着产品能不能盈利、能不能免费给更多人用;
  • 同样的硬件,Infra 做得好的团队,能训出更大的模型、服务更多的用户。

所以有人说,大模型的竞争,一半是算法的竞争,另一半是 Infra 的竞争。那些看起来"突然变便宜了""突然变快了"的 AI 服务背后,往往都有 Infra 团队在算子、并行策略、推理引擎上一点一点抠出来的功劳。


六、一句话总结

  • 算子 是 AI 计算的基本动作,就像菜谱里的切、炒、煮。动作本身简单,但做得快不快,取决于你多懂手里的"刀"和"灶"(硬件)。
  • AI Infra 是让 AI 跑得起、跑得快、跑得省的整套系统,就像一家超大型餐厅的厨房、供应链和运营体系。

下次当你看到 AI 飞快地回答你的问题时,不妨想一想:这短短几秒钟背后,有算子在显卡里以惊人的速度翻滚计算,有成千上万张卡在机房里协同工作,还有一群很少被人看见的工程师,正在为了让它再快一点、再省一点而反复打磨。

模型决定了 AI 能有多聪明,而 Infra 决定了这份聪明能以多快的速度、多低的成本,送到每一个人面前。

相关推荐
具身AGI1 小时前
物理AI 空间理解:空间物理 信息的三条注入路线
人工智能·深度学习
AOI小白新手上路1 小时前
anomalib 缺陷检测复现笔记:从跑通库到 EfficientAD 落地
人工智能·笔记·机器学习
ShineWinsu1 小时前
对于Redis:主从复制的解析
linux·数据库·c++·redis·缓存·面试·主从复制
中伟视界1 小时前
危化罐区“双预警“方案解析:AI气体监测布控球+AI布控球,罐区作业怎么管?
人工智能
kaixin_啊啊1 小时前
【零基础学AI】第 3 章课后练习与答案
人工智能
Maynor9961 小时前
Claude Opus 5.5 最强可视化案例合集:114 精选 + 1000+ 完整清单(含提示词)
人工智能·开源·claude
u1301301 小时前
AI 日报(2026年10月6日)
人工智能
夏幻灵2 小时前
每日一题:LeetCode 3:无重复字符的最长子串——滑动窗口思路详解
算法·leetcode·职场和发展
黑妹天下第一乖2 小时前
第 08 讲:阿加犀 AidGenSE 端侧大模型服务化与 OpenAI 兼容接口
人工智能·嵌入式硬件·深度学习·机器人·iot