AI基础设施与传统基础设施的区别:程序员如何将技术栈和方法论迁移至AI系统架构设计(收藏版)

发布时间:2026/6/9 23:55:07

AI基础设施与传统基础设施的区别:程序员如何将技术栈和方法论迁移至AI系统架构设计(收藏版) 随着大模型技术的快速发展AI基础设施已成为基础设施领域的核心战场。本文分享了传统后台工程师积累的技术栈和方法论如何延续并迁移到AI系统并系统性拆解了AI基础设施在硬件、软件、训练和推理方面的挑战。从硬件演进的角度探讨了从CPU为中心到GPU为中心的转变以及AI大型机的出现从软件演进的角度介绍了深度学习框架和GPU编程的重要性同时还详细分析了模型训练和推理过程中所面临的挑战如显存管理、通信计算重叠、降低延时和提高吞吐量等问题。对于想要了解AI基础设施的程序员来说本文提供了一种实用的学习和迁移方法。一、硬件演进经济基础决定上层建筑。软件层面的架构设计无法脱离硬件约束。了解现代 AI 硬件特性非常有必要。一台高性能的GPU服务器可以换一套深圳房子1.1 从CPU为中心到GPU为中心传统基础设施以 CPU 为核心通过多线程和微服务构建分布式系统处理高并发请求如 Web 服务。这些都有成熟的方法论了如海量服务之道。主要工作是逻辑事务的处理瓶颈在网络 I/O 和 CPU 核心数量。发展到今天硬件已经很少是制约 CPU 系统设计的瓶颈。而 AI Infra 以 GPU 为核心其设计目标从逻辑事务处理转向高吞吐浮点计算。此时CPU 多线程被 GPU 并行计算替代内存被显存替代。如下图所示H20单卡96GB显存可以提供44TFlops的单精度浮点运算算力和访存带宽是主流CPU数十倍甚至数百倍。每台机器安装8卡768GB显存另外还有 CPU 192核384线程 2.3TB 内存。为什么 GPU 会成为核心是因为 LLM 大模型每次生成一个 token都需要读取全量的模型参数。传统的 CPU 内存的算力和带宽无法满足如此恐怖的计算密度计算和通信都必须转移offload到 GPU 内完成。CPU 成为数据搬运工和“辅助处理器”。为了更直观地理解这个计算密度我们做一个简单的计算。不考虑计算的延时LLM 大模型生成一个 token 的耗时公式计算为以 DeepSeek-R1-671B-A37B-FP8 模型为例计算一个 token 耗时H20 为 37B × 1byte ÷ 4000GB/s 9ms如果是 CPU 则为 37B × 1byte ÷ 64GB/s 578ms1.2 从去IOE到AI大型机显而易见我们的现在身处新的一轮烈火烹油的硬件革命的历史进程中各种专用硬件、专用网络层出不穷。DeepSeek-R1 和 QWen3-235B 千亿级参数训练需千卡 GPU 集群协同通过专用网络互联构建“AI超算”其设计逻辑与以前的 IBM 大型机惊人相似——以硬件集中化换取极致性能与可靠性。IBM大型机传统 Infra 的分布式理念貌似在 AI 时代失效了。传统 Infra 追求横向扩展而 AI Infra 呈现 “AI 大型机”特性是因为传统后台服务的可以容忍毫秒级延迟但 AI 集群不行GPU 的算力是 CPU 的数百倍微秒级的延时等待也会造成很大的算力损耗需要硬件的高度集成。在可预见的1-3年的未来这样的专用硬件网络的集中式架构很难发生比较大的改变。回顾历史我们总是在寻求科技平权。前人推动“去IOE”IBM小型机、Oracle数据库、EMC存储用分布式廉价x86 pc机替代集中式高端硬件本质上是利用软件创新重构一个高可用低成本的互联网基础设施。AI大型机是技术发展必由之路但不是终极形态。长期5年来看必然会出现 “AI 去 NVIDIA 化”重演“去 IOE”的历史。二、软件演进说完硬件体系的革命接下来再关注下软件层面的变化。相比传统后台应用的增删查改AI 应用的新范式是模型训练和推理。模型训练是指通过海量数据拟合出一个复杂的神经网络模型推理就是利用训练好的神经网络模型进行运算输入的新数据来获得新的结论。举个例子训练就是根据 年龄, 身高 的分布使用最小二乘法拟合模型 y ax b推理就是利用这个模型 y ax b输入一个新的年龄预测身高。2.1 深度学习框架工欲善其事必先利其器。传统后台应用依赖 tRPC 或 Spring 等微服务框架帮助我们屏蔽负载均衡、网络通信等底层细节我们可以把精力放在业务实现上。与之相似AI 应用则依赖深度学习框架。如果没有深度学习框架我们就可能陷入在茫茫的数学深渊中挣扎于痛苦的 GPU 编程泥潭里。有了深度学习框架我们才可以把所有精力花在设计模型和创新本身上而不用关注底层的实现细节极大降低了 AI 应用的门槛。大家可能听说过不同的深度学习框架——TensorflowPyTorch。现在是2025年不用纠结选哪个因为 PyTorch 就是 AI 模型训练、推理的深度学习框架的事实标准。开源模型和代码都是 PyTorch 一边倒。得益于动态计算图、自动微分和丰富的 Tensor 操作算子PyTorch 能帮助我们快速实现模型设计。如下图所示只需要描述模型结构待学习的网络参数不需要关心数学计算和 GPU 编程的细节。2.2 GPU 编程绝大部分的 AI 应用的确不需要我们手写数学计算的 GPU 代码。但为了满足模型创新的需求有必要学习 GPU 编程。例如 Meta 发布的 HSTU 生成式推荐模型核心的 hstu_attn 计算如果直接用 PyTorch 框架算子组合实现则时间复杂度为 O(M * N²) 其中 M 和 N 是一个数量级相当于O(N³) 。但是通过自定义内核可以优化到 O(N²)。在 GPU 核心上运行的代码片段称为内核kernel。编写高性能的 CUDA 内核需要丰富的经验并且学习曲线陡峭。因为我们习惯于传统 CPU 编程处理串行的计算任务通过多线程提高并发度。而 GPU 采用 SIMT 架构有大量计算单元CUDA Cores和数万个线程但是被分组后的线程同一时刻只能执行相同的指令。这与传统CPU的串行思维、不同线程处理不同任务存在根本性冲突导致 GPU 编程学习难度大。现实生活中的SIMT架构现在推荐使用 Triton 编程语言完成 GPU kernel 的开发它提供类似 Python 的语法无需深入理解 GPU 硬件细节如线程调度、共享内存管理而且和 PyTorch 深度学习框架的生态结合更好。推荐这个 Triton-Puzzles-Lite 项目用作 Triton 的入门学习。2.3 Python 编程正如客户端开发离不开Kotlin/Objective-CAI Infra 的编程第一公民就是 Python。PyTorch 深度学习框架的设计哲学强调 Python 优先 。以前大部分模型还可以轻松导出 ONNX、TorchScript 等用 C 部署现在随着对模型的细粒度优化和控制越来越多比如 KV Cache、MoE/模型并行、复杂的if/for控制流、自定义 Triton 算子等模型越来越难以脱离 Python 的控制部署。笔者也从“C Boy”变成“Python Boy”。笔者git提交的语言统计变化三、模型训练的挑战我们一直追求更大的模型DeepSeek-R1 有数千亿参数使用了数十万亿 token 的训练数据涉及算力、存储、通信等多维度的工程挑战。有了 PyTorch 深度学习框架只是 AI 应用落地的万里长征第一步。接下来我们将讨论深度学习框架之上的模型训练的挑战。3.1 存得下DeepSeek-R1 模型大小670GB而一台 GPU 服务器有8张H20卡提供768GB显存足够存下一个完整的 DeepSeek 模型。那整个行业为什么还投入大量的人力物力顶着通信延时造成的算力损耗也要建设分布式 GPU 集群核心原因是单台 GPU 服务器“存不下”。3.1.1 显存刺客中间激活如下图所示的模型x1/x2/x3/x4 这些中间变量就是中间激活。它们是神经网络前向传播Forward的“堆栈帧Stack Frame”——记录每一层处理后的数据快照确保反向传播Backward可回溯梯度根据预测误差调整模型权重最小化损失函数。这些中间激活为什么会成为显存刺客是因为中间激活的空间复杂度是和输入数据长度正相关的特别的对于 LLM 来说是ON²正比于输入数据长度的平方这是一个指数爆炸式增长的数字。类似函数递归不断增长的“堆栈帧”导致的内存溢出我们遇到了 AI Infra 的 OOMOut of Memory挑战。借助 PyTorch 的 profiler 工具我们可以直观地看到这个OOM。下图是训练过程中不同阶段的显存分配包括模型参数Parameter、优化器状态Optimizer state、中间激活Activation、梯度Gradient。在前向传播结束后出现一个显存占用中间激活的尖峰远大于模型参数本身。3.1.2 模型并行传统后台服务使用分片Sharding策略解决单机存不下的问题。与之相似AI Infra 提出“模型并行”就是将单个大模型拆分为多个子模块并分布到不同 GPU 上协同工作通过通信来共享数据。有不同的“拆分模型”策略例如按模型模块划分按张量Tensor划分的也可以将多种拆分方法结合起来一起使用。PyTorch 深度学习框架和开源方案 Megatron 都能帮助我们高效地实现模型并行。不同的模型并行策略3.2 算得快建设分布式 GPU 集群的原因一个是因为“单机存不下”另外一个是提升训练速度。但简单的机器堆叠算力不一定有线性的增长。因为分布式训练并不是简单地把原来一个 GPU 做的事情分给多个 GPU 各自做。需要协调多个 GPU 机器计算任务分配GPU 机器之间的数据传输会引入网络IO和通信开销降低训练速度。3.2.1 通信计算重叠如下图所示的常规训练时序是串联式的存在许多网络 IOGPU 利用率低训练速度慢。我们希望 GPU 大部分时间都在计算而不是花在数据传输或等待其他 GPU 的工作上。传统后台服务我们通过多线程或异步 IO 避免阻塞 CPU 主线程与之相似AI Infra 提出通信计算重叠的方法论。GPU 编程模型中有流stream的概念一个流表示一个 GPU 操作队列该队列中的操作将以添加到流中的先后顺序而依次执行。不同流之间可以并行执行。那么通过令计算和通信操作加入不同的流中可以做到二者的执行在时间上重叠。例如 TorchRec 的 训练流水线 能帮助我们实现高效的通信计算重叠。四、模型推理的挑战AI 模型训练成本很高优秀如 DeepSeek 也要烧掉500万美金但再贵也只是一次性的。而模型推理的成本更高因为用户越多AI 模型推理次数越多总成本越高。模型推理面对的挑战和传统 Infra 非常相似主要是2个挑战高吞吐降本低延时增效。4.1 降低延时现在的 AI 模型越来越多地直面终端用户需要和用户进行实时的交互例如文本对话和语音合成。模型推理耗时过高会直接造成用户体验受损用户流失与转化率下降。传统后台服务我们使用链接复用、缓存、柔性等技术降低系统响应时间。AI Infra 也有相似的做法。4.1.1 CUDA Graph在 GPU 编程模型中CPU 和 GPU 是异构的CPU 通过 API例如 CUDA API 向 GPU 提交任务然后异步等待 GPU 的计算结果返回。GPU 收到任务后会执行内核启动、内存拷贝、计算等操作。这个过程中涉及到 CPU 与 GPU 之间的通信、驱动程序的处理以及 GPU 任务的调度等环节会产生一定的延迟。模型推理需要执行大量重复的 GPU 操作每个的 GPU 操作都要重复执行上诉环节这些非核心的 GPU 开销会成倍数地放大影响最终响应时间。CPU 和 GPU 通信在传统后台服务我们使用 Redis 的 Lua 脚本封装多个 Redis 操作和计算逻辑一次提交减少网络开销。与之相似AI Infra 利用 CUDA Graph 技术将多个 GPU 操作转化为一个有向无环图DAG然后一次性提交整个 DAG 提交到 GPU 执行由GPU自身来管理这些操作的依赖关系和执行顺序从而减少 CPU 与 GPU 之间的交互开销。多个 GPU 内核启动转化为 CUDA Graph4.1.2 KV Cache空间换时间LLM 大模型推理存在大量矩阵乘法运算且高度依赖上下文信息。每次推理都需要将之前生成过的词重新输入模型进行计算。这种计算方式使得复杂度达到了 ON²其中必然存在大量的重复计算。例如给定“天气”模型会逐个预测剩下的字假设接下来预测的两个字为“真好“。将”真“拼接到”天气“的后面即新的输入为”天气真“再预测”好“观察到经过多次预测后X W_K和X W_V的结果上半部分都是相同的。这是由于 LLM 模型结构的特殊设计导致的。这些重复计算的结果可以缓存即 KV Cache下来空间换时间减少计算量。几乎所有的 LLM 推理框架都支持了 KV Cache例如vLLM 。4.1.3 流式响应有时候模型推理延时实在避免不了可以从工程交互上想办法。传统后台服务的 RPC 通信是一问一答方式这种方式不太适合语音合成或者文本对话的场景。因为大模型推理需要几秒-几十秒如果等待模型推理结束才展示结果用户会等待较长的时间体验很差。流式响应就是当模型推理计算得到第一个token或者第一个音频帧的时候立马展示或者播放给用户同时后续的模型推理结果在已经建立的 TCP 流上继续顺序传输。工程上从关注模型推理的整体耗时改为关注首token或首个音频帧的耗时。几乎所有的 LLM 推理框架都支持了流式响应。4.2 提高吞吐量提高吞吐量是程序员在传统 Infra 领域孜孜不倦的追求因为更高的吞吐量意味着更低的机器成本。实现 AI 应用的高吞吐本质上就是提高昂贵的 GPU 的利用率让 GPU 单位时间能完成更多的任务。尽管模型推理需要执行万亿次浮点运算但 GPU 有大量的计算单元CUDA Cores单个请求的模型推理很难令 GPU 利用率达到饱和。提高 GPU 利用率有2个方法传统批处理和连续批处理。这里的“传统批处理”是相对于“连续批处理”这样的新型批处理方式而言的。4.2.1 传统批处理其实传统后台服务也大量使用了批处理例如 Redis 的 MGet 命令单次请求就完成所有 key 的获取将 N 次网络往返RTT压缩为1次。与之相似模型推理的批处理就是将多个输入样本打包batch将原本串行的 N 次轻量的推理计算合并为 1 次重量的计算实现单位时间内处理更多的请求提高了 GPU 利用率。“打包输入样本”是一个共性需求大部分推理框架都提供该功能例如 Triton Inference Server 的 Batcher 。模型批量推理流程图最后如果说程序员已经是高薪职业那么干AI的程序员就是高薪中的高薪。现在的市场已经用数据给程序员指明了方向学AI大模型就是冲刺高薪的最优解看着身边越来越多的同行转型大模型、拿到高薪offer很多人心里都动了心但真正的难题来了零基础小白不知道从哪入门有基础的程序员找不到系统学习路径实战项目练手无门面试不知道考什么别慌今天就给大家整理了一份【2026年最新版】AI大模型免费学习资源包覆盖从入门到实战、从理论到面试、从基础到进阶的全流程所有资料均已整理归档无冗余、无套路免费分享给每一位想抓住AI风口的程序员和小白扫码免费领取全部内容1、大模型系统化学习路线2、大模型学习书籍文档3、AI大模型最新行业报告4、大模型项目实战配套源码5、大模型大厂面试真题四阶段精细化学习规划附时间节点可直接照做结合上述资源给大家整理了一份可直接落地的四阶段学习规划总时长约2个月小白可循序渐进程序员可根据自身基础调整节奏高效掌握大模型核心能力快速实现从“入门”到“能落地、能面试”的跨越。第一阶段10天初阶应用该阶段让大家对大模型 AI有一个最前沿的认识对大模型 AI 的理解超过 95% 的人可以在相关讨论时发表高级、不跟风、又接地气的见解别人只会和 AI 聊天而你能调教 AI并能用代码将大模型和业务衔接。大模型 AI 能干什么大模型是怎样获得「智能」的用好 AI 的核心心法大模型应用业务架构大模型应用技术架构代码示例向 GPT-3.5 灌入新知识提示工程的意义和核心思想Prompt 典型构成指令调优方法论思维链和思维树Prompt 攻击和防范…第二阶段30天高阶应用该阶段我们正式进入大模型 AI 进阶实战学习学会构造私有知识库扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架抓住最新的技术进展适合 Python 和 JavaScript 程序员。为什么要做 RAG搭建一个简单的 ChatPDF检索的基础概念什么是向量表示Embeddings向量数据库与向量检索基于向量检索的 RAG搭建 RAG 系统的扩展知识混合检索与 RAG-Fusion 简介向量模型本地部署…第三阶段30天模型训练恭喜你如果学到这里你基本可以找到一份大模型 AI相关的工作自己也能训练 GPT 了通过微调训练自己的垂直大模型能独立训练开源多模态大模型掌握更多技术方案。到此为止大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗为什么要做 RAG什么是模型什么是模型训练求解器 损失函数简介小实验2手写一个简单的神经网络并训练它什么是训练/预训练/微调/轻量化微调Transformer结构简介轻量化微调实验数据集的构建…第四阶段20天商业闭环对全球大模型从性能、吞吐量、成本等方面有一定的认知可以在云端和本地等多种环境下部署大模型找到适合自己的项目/创业方向做一名被 AI 武装的产品经理。硬件选型带你了解全球大模型使用国产大模型服务搭建 OpenAI 代理热身基于阿里云 PAI 部署 Stable Diffusion在本地计算机运行大模型大模型的私有化部署基于 vLLM 部署大模型案例如何优雅地在阿里云私有部署开源大模型部署一套开源 LLM 项目内容安全互联网信息服务算法备案…扫码免费领取全部内容6、这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

相关新闻