简介:本文围绕AI基础设施领域两类核心开发路径——基于C++/CUDA从零构建深度学习框架(方案A)与依赖成熟框架进行上层应用开发(方案B)展开对比,深入分析两者在技术架构、性能控制、人才需求、适用场景等维度的差异,帮助技术负责人和开发者在选型与团队建设中做出更理性的决策。
随着大模型训练与推理需求的爆发,AI 基础设施(AI Infra)成为整个技术栈中最受关注的领域之一。在这一领域中,”GPU Kernel Engineer”——即专注于 GPU 底层算子开发、CUDA 编程与高性能计算优化的工程师——持续处于招聘热区。与此同时,业界也存在另一种主流路径:基于成熟的深度学习框架和预封装的算子库完成上层业务开发,而无需深入 GPU 底层。
本文的核心对比对象为:
两者的根本差异在于:前者需要深入硬件与底层计算,后者则站在更高抽象层次上工作。理解这一差异,是理解 AI Infra 岗位需求、技术选型与团队建设的关键。
以 C++/CUDA 为基础,从底层开始实现矩阵乘法、卷积等基础算子,再在之上构建计算图、自动微分、优化器等框架层能力。典型实现路径包括:
开发者使用业界已有的深度学习框架提供的高层次 API,直接定义网络结构、加载预训练权重、调用训练与推理接口,而无需关心底层 GPU 算子如何实现。
两者的目标一致——让 AI 模型高效运行在 GPU 上——但实现路径与对开发者的能力要求截然不同。
尽管路径不同,方案 A 与方案 B 在以下方面具有共性:
| 维度 | 方案 A(自研框架) | 方案 B(成熟框架应用) |
|---|---|---|
| 系统边界 | 覆盖从硬件驱动到应用层的完整技术栈 | 仅覆盖应用层与模型定义层 |
| 核心依赖 | CUDA 运行时、自研算子库、自建调度系统 | 成熟框架的运行时、预封装算子库 |
| 抽象层次 | 低抽象,接近硬件 | 高抽象,远离硬件 |
| 代码规模 | 数十万行起步,涵盖计算、调度、内存、框架 | 数百至数千行,聚焦业务逻辑 |
方案 A 需要团队自行处理内存池设计、算子融合、多卡通信、异步调度等基础设施问题;方案 B 则将这些交给框架内部处理,开发者只需关注模型结构与训练策略。
方案 A 的最大优势在于对性能的极致掌控。当开发者能够直接编写 CUDA Kernel 时,可以针对特定硬件特性进行优化,例如:
方案 B 虽然也能通过框架提供的优化接口(如混合精度训练、图优化等)获得不错的性能,但其优化空间受限于框架本身的设计。如果框架未对某类新型算子或特定硬件做适配,开发者几乎无法在框架层面进行突破。
这也是”为什么 AI Infra 还在大量招聘 GPU Kernel Engineer”这一问题的核心答案:
在百度智能云等主流云平台的 AI Infra 实践中,底层算子优化、推理引擎加速、分布式训练通信优化等环节,都需要大量 GPU Kernel 工程师参与。而上层的模型训练平台、自动调参工具等,则更多依赖应用层开发者。
| 场景 | 更适合方案 A | 更适合方案 B |
|---|---|---|
| 标准化模型快速验证 | ✗ | ✓ |
| 新型硬件或非标准算子适配 | ✓ | ✗ |
| 大模型分布式训练优化 | ✓(通信与调度层) | 部分适用 |
| 业务快速上线、MVP 验证 | ✗ | ✓ |
| 对推理延迟有极致要求的场景 | ✓ | 部分适用 |
| 团队规模小、资源有限 | ✗ | ✓ |
如果目标是在短时间内完成模型原型训练与效果验证,方案 B 是更务实的选择。直接调用成熟框架的高层 API,配合预训练权重,可以在数小时内跑通从数据加载到推理输出的完整流程。
当业务涉及自定义算子(如某些特殊的注意力机制变体),或者需要适配最新的 GPU 架构特性时,方案 A 的自研能力就变得不可替代。此时,GPU Kernel 工程师的价值体现在:能够从底层为业务”量身定制”高性能实现。
在高并发推理服务中,即使使用方案 B,也往往需要在推理引擎层做深度优化(如算子融合、量化、缓存策略等)。这类工作虽然不一定需要从零写框架,但仍然需要具备 CUDA 编程能力的工程师参与——这也是 GPU Kernel Engineer 岗位在 AI Infra 中长期存在的重要原因。
如果团队当前以方案 B 为主,未来考虑向方案 A 迁移或部分自研,需要注意:
反之,从方案 A 向方案 B 迁移(如将自研算子封装为独立库供上层调用),则相对顺畅,但需要做好接口标准化与文档化工作。
AI Infra 领域持续招聘 GPU Kernel Engineer 的根本原因在于:底层算子与计算框架的自主可控能力,是高性能 AI 系统的核心竞争力之一。方案 A(从零自研)与方案 B(基于成熟框架)并非简单的优劣关系,而是面向不同目标、不同资源条件下的技术选择。
对于技术负责人而言,关键不在于”选哪个”,而在于评估团队当前阶段的核心瓶颈是什么——是缺底层优化能力,还是缺上层业务交付速度——从而做出有针对性的技术投入与人才配置决策。