本文从一个程序员的视角来了解下大模型概念。虽然有很多不够严谨的地方,但是可以快速建立起一个概念。
来源:工科男孙老师@bilibili
传统软件 VS AI 应用
| AI 系统环节 | AI 中的角色作用 | 传统软件环节 | 对比说明 |
|---|---|---|---|
| 模型框架(PyTorch、TF) | 搭建和训练 AI 模型的开发工具 | 编程语言 + 标准库(Python + Lib) | 都是开发和组织逻辑的工具 |
| 模型(GPT、ResNet) | 已训练好的网络结构和权重 | 可执行程序(EXE) | 都是可直接运行的成品 |
| 数据集(ImageNet) | 模型训练/推理的输入数据 | 输入文件 / 数据 | 都是运行所需的外部数据 |
| 推理(Inference) | 模型运行处理输入 | 程序运行过程 | 一个过程,都是执行逻辑获得输出 |
| 推理引擎(TensorRT/MNN) | 优化和执行模型推理的底层库 | JIT 编译器 / 虚拟机 | 都是将高层逻辑转为高效机器指令的执行层 |
| 计算架构(CUDA、CANN) | 定义 GPU/NPU 如何执行指令 | 指令集架构(ISA) | 都规定了硬件的基本执行规则 |
| GPU / NPU / TPU | 实际执行计算的硬件 | CPU | 都是最终执行运算的物理单元 |
概念说明
(1) 模型框架(Model Framework)
- 是什么:深度学习开发的工具库和运行环境,比如 PyTorch、TensorFlow、JAX。
- 作用:帮助你用高层 API 搭建、训练、保存、加载模型,并在不同硬件上运行。
- 类比:像传统软件开发中的 编程语言 + 标准库(甚至部分编译功能)。
(2) 模型(Model)
- 是什么:已经训练好的权重 + 网络结构,比如 GPT-4、ResNet、Stable Diffusion。
- 作用:承载知识和能力,输入数据 → 输出结果。
- 类比:像编译出来的 可执行程序(exe) 。
(3) 数据集(Dataset)
- 是什么:训练或推理所需的数据集合,比如 ImageNet、COCO、Common Crawl。
- 作用:训练模型时提供样本,推理时作为输入。
- 类比:像传统程序运行时的 输入文件 / 测试数据。
(4) 推理(Inference)
- 是什么:用训练好的模型处理新输入,得到结果的过程。
- 作用:模型在实际任务中发挥作用的阶段。
- 类比:程序的 运行(runtime execution) 。
(5) 推理引擎(Inference Engine)
- 是什么:针对已训练模型进行高效推理的底层运行库,比如 TensorRT、ONNX Runtime、OpenVINO。
- 作用:优化计算图、减少延迟、利用硬件特性。
- 类比:像 运行时解释器/虚拟机 或 JIT 编译器。
(6) 计算架构(Compute Architecture)
- 是什么:硬件执行指令的架构,比如 NVIDIA CUDA 架构、华为 CANN 架构。
- 作用:定义硬件如何执行并行计算。
- 类比:传统计算机中的 指令集架构(ISA) 。
(7) GPU(或 NPU、TPU)
- 是什么:执行 AI 模型计算的硬件,GPU 是最常见的。
- 作用:并行计算加速矩阵运算。
- 类比:传统计算机的 CPU。