Goal
English version: Getting Started with AI: A Four-Layer Technology Map
面向初学者,以大模型为中心建立应用与产品、模型、推理与基础设施、CUDA 与 GPU 四层概要知识框架。突出核心概念及其关系,按从模型应用到训练原理、推理运行、底层计算的视角组织,并提供原理、源码与项目资料入口,便于按需查阅和深入。
| Layer | 主要问题 | 核心模块 |
|---|---|---|
| Application and Product | 如何用模型完成业务任务? | Agents and Workflows;Data and Knowledge Integration;Tools and External Systems |
| Model | 模型如何工作、能力如何形成? | Transformer Architecture and Tokenizers、Pretraining、Post-Training、Model Evaluation |
| Inference and Infrastructure | 如何支撑模型训练与推理? | Training Systems、Runtime Infrastructure、Inference Systems(本文重点) |
| CUDA and GPU | 模型计算如何落到设备? | GPU Execution、Memory and Performance |
领域知识框架
图中按从应用到模型、推理和底层计算的学习顺序排列。下方通过回答生成与模型训练两条流程串联各层关系,再按岗位方向说明学习重点与掌握程度;各模块的资料入口见后续章节。
1 | 应用与产品 / Application and Product |
一个 Prompt 如何生成回答?
1 | 用户输入 Prompt |
模型如何训练出来?
1 | 模型层 / Transformer 与 Tokenizer:确定模型结构和文本编码方式 |
岗位能力与学习重点
参考 DeepSeek、字节 Seed 与 Anthropic 的招聘岗位,按职责归纳为以下四个大方向,并对应四层知识框架列出学习顺序与掌握程度。厂商的岗位名称与职责边界不同,实际岗位可能覆盖多个方向;AI 底层计算与性能优化也可能归入 AI 系统与基础设施团队。
掌握程度:了解=知道用途与边界;理解=能解释机制与权衡;掌握=能独立实现和排障。
| 岗位方向 | 相关岗位 | 工作内容 | 学习顺序和程度 |
|---|---|---|---|
| AI 应用研发 | AI 产品开发工程师 Agent 工程师 |
围绕业务任务 组织模型、知识与工具 开发和交付 AI 应用 |
→ 应用(掌握) → 模型(理解) → 推理与基础设施(理解) → 底层计算(了解) |
| 模型算法研发 | 预训练算法工程师 后训练算法工程师 多模态算法工程师 |
研究模型结构、数据与训练方法 通过实验和评测提升模型能力 |
→ 模型(掌握) → 推理与基础设施(理解) → 底层计算(理解) → 应用(了解) |
| AI 系统与基础设施 | 训练框架工程师 推理系统工程师 |
建设训练、推理与数据平台 保障模型运行的效率、规模与稳定性 |
→ 模型(理解) → 底层计算(理解) → 推理与基础设施(掌握) → 应用(了解) |
| AI 底层计算与性能优化 | GPU Kernel 工程师 AI 编译器工程师 |
开发和优化算子、通信与编译组件 提升模型在硬件上的计算效率 |
→ 模型(理解) → 底层计算(掌握) → 推理与基础设施(理解) → 应用(了解) |
Application and Product Layer
通过任务方法复用、执行编排和外部能力接入完成业务任务。
1 | Data and Knowledge Integration → Agents and Workflows ↔ Tools and External Systems |
Agents and Workflows
解决的问题:如何把用户任务组织成能维持上下文、调用工具、更新状态并判断何时结束的执行过程。
1 | Agent:由模型动态决定步骤和工具使用,以完成任务 |
| 主题 | 概念与原理 | 代码与示例 | 工程案例 |
|---|---|---|---|
| 上下文组织与更新 | Context engineering:信息选择、压缩与记忆 | 现有 SDK 架构:Context、Memory、Transcript | Anthropic Research:上下文隔离与信息汇总(生产经验) |
| 执行控制 | Building effective agents:执行模式与工具循环 | deepseek-harness:运行时与插件;sdlc:业务 Workflow |
Anthropic Research:任务分解与执行可靠性(生产经验) |
Skills
解决的问题:如何把任务方法和领域经验保存为可复用的能力,并在任务需要时交给通用 Agent 使用。
1 | Skills:将任务方法、指令与资源封装为可复用能力 |
| 主题 | 概念与原理 | 代码与示例 | 工程案例 |
|---|---|---|---|
| 任务封装 | 官方说明:目录、元数据与资源结构 | anthropics/skills:指令、脚本与模板 | Claude 文档 Skills:PDF 能力的资源拆分(产品实现经验) |
| 按需加载与执行 | 官方说明:发现与加载机制 | 文档 Skill 实现:查看资源引用和脚本调用 | 渐进加载设计:按任务装配所需内容(产品实现经验) |
Data and Knowledge Integration
解决的问题:如何建设可持续更新的信息资产,让模型或 Agent 获得任务所需的相关知识。
1 | Data and Knowledge Integration:建设信息资产,为模型提供相关知识 |
| 主题 | 概念与原理 | 代码与示例 | 工程案例 |
|---|---|---|---|
| 数据接入与检索 | Contextual Retrieval:分块、索引、上下文补充与重排 | RAG Cookbook:资料处理、检索与对比实验 | — |
Tools and External Systems
解决的问题:如何让模型或 Agent 调用外部系统的能力,并将执行结果用于后续任务。
1 | Tools and External Systems:连接外部能力,执行操作并回传结果 |
| 主题 | 概念与原理 | 代码与示例 | 工程案例 |
|---|---|---|---|
| 工具接入与执行 | MCP 架构:工具、资源与协议边界 | MCP Servers:参考工具与资源实现 | Anthropic MCP 代码执行:按需加载工具、过滤中间数据(工程方案与实验) |
Model Layer
理解文本如何进入模型、模型能力如何通过数据与训练形成,以及如何验证能力边界。
1 | Transformer Architecture and Tokenizers → Pretraining → Post-Training → Model Evaluation |
Transformer Architecture and Tokenizers
解决的问题:模型如何将文本表示为数值,并预测下一 token。
1 | Transformer Architecture and Tokenizers:将文本表示为向量,计算下一 token 的预测分布 |
| 主题 | 概念与原理 | 代码与示例 | 工程案例 |
|---|---|---|---|
| 文本表示 | HF LLM Course:Tokenizer、token 与模型输入 | nanochat:Tokenizer 与 embedding | — |
| Transformer 计算 | Transformer 原始论文:Attention、Positional encoding 与网络结构 | nanochat:Transformer 模型实现 | DeepSeek-V3 §2:MLA、MoE、MTP;MiniMax-01:混合注意力(进阶模型报告) |
| Next-token prediction | HF LLM Course:自回归模型与生成 | nanochat:预测分布、采样与生成循环 | — |
多模态扩展:Qwen2.5-VL介绍视觉与语言模型设计;Qwen2.5-Omni介绍音频、视频与流式语音生成。
Pretraining
解决的问题:如何从大规模数据中学习通用能力,并让训练结果可以比较和追溯。
1 | Pretraining:通过 Next-token prediction 从大规模数据学习通用能力 |
| 主题 | 概念与原理 | 代码与示例 | 工程案例 |
|---|---|---|---|
| 数据准备与管理 | FineWeb:清洗、去重与质量实验 | DataTrove:处理流水线;SmolLM:数据依赖与阶段配置 | Llama 3:数据构造;Qwen3:数据扩展与训练阶段(模型项目报告) |
| 训练目标与优化 | HF 从零训练语言模型:目标、损失与训练过程 | PyTorch Examples:训练循环;SmolLM:训练配方与检查点 | Llama 3:训练设计与规模化经验(模型项目报告) |
训练框架负责数据加载、批次计算与 automatic differentiation;分布式训练作为规模化实现按需深入。
Post-Training
解决的问题:如何让预训练模型更好地遵循指令、满足偏好、进行推理或适配具体业务任务。
1 | Post-Training:通过示范、偏好与奖励反馈调整模型行为 |
| 主题 | 概念与原理 | 代码与示例 | 工程案例 |
|---|---|---|---|
| 任务数据与反馈建设 | HF Smol Course:示范与偏好数据 | TRL:样本格式与数据处理 | DeepSeek-R1:冷启动、数据构造与蒸馏(模型研发经验) |
| 训练方法 | InstructGPT:SFT、奖励模型与 RLHF;HF Smol Course:偏好对齐 | TRL:SFT、DPO 等训练器;verl:强化学习训练配方 | DeepSeek-R1:通过 Reinforcement learning 提升推理能力;DAPO:训练稳定性(模型训练实验) |
| 参数更新与迭代 | HF Smol Course:任务微调入口 | TRL:参数高效微调集成 | MiniMax-M1 技术分享:数值精度、奖励与数据质量的调整经验 |
Model Evaluation
解决的问题:如何判断模型具备哪些能力、训练是否有效,以及评测结论能用于哪些场景。
1 | Model Evaluation:衡量模型能力、训练效果与适用边界 |
| 主题 | 概念与原理 | 代码与示例 | 工程案例 |
|---|---|---|---|
| 评测设计 | HELM:场景、指标与覆盖范围 | lm-evaluation-harness:任务定义 | OpenAI SimpleQA:事实性问题构建与评分(评测项目经验) |
| 评测执行与结果分析 | HELM:多维比较与结论限制 | lm-evaluation-harness:模型接入与运行;simple-evals:评分实现 | OpenAI SimpleQA:拒答与校准;结论限定于短答案事实性 |
Inference and Infrastructure Layer
包含 Training Systems、Runtime Infrastructure 与 Inference Systems。Runtime Infrastructure 为训练和推理提供资源与运行支撑。
1 | Training Systems(训练框架、分布式训练) |
本文只关注推理,介绍生成流程、Cache Management 及 Scheduling and Compute Optimization 如何影响延迟、吞吐和显存占用。
DeepInfer 是支撑 DeepSeek 生产推理的框架,整合模型运行时、采样、异步调度与优化 kernel。
Inference Pipeline
解决的问题:一次模型调用如何处理完整输入,再逐步生成输出并结束。
1 | Inference Pipeline:处理输入并逐 token 生成输出 |
| 主题 | 概念与原理 | 代码与示例 | 工程案例 |
|---|---|---|---|
| Prefill | TVM LLM 教程:输入处理与首个预测 | vLLM、SGLang:通用执行路径;DeepInfer:模型运行时与离线推理 | DeepSeek inference system:Prefill/decode disaggregation 与并行配置(线上经验) |
| Decode 与生成控制 | HF 推理教程:自回归生成、采样与缓存 | SGLang:生成循环;DeepInfer:采样、Speculative decoding 与输出控制 | DeepSeek inference system:阶段性能与延迟目标(线上经验) |
Cache Management
解决的问题:如何复用已计算的 Key 和 Value,避免每生成一个 token 都重新处理全部输入,同时控制 KV cache 的显存开销。
1 | Cache Management:复用已缓存的 Key 和 Value,管理显存开销 |
| 主题 | 概念与原理 | 代码与示例 | 工程案例 |
|---|---|---|---|
| 缓存复用 | Transformers Cache:缓存建立、更新与复用 | Cache 代码示例:观察不同策略下的生成 | DeepInfer 部署 Q&A:跨请求缓存复用、存储与保留周期(线上设计经验,完整缓存系统未开源) |
| 显存管理 | PagedAttention:分页、共享与碎片问题 | vLLM 设计说明与代码:缓存块与读取实现 | DeepSeek inference system:Decode Load Balancer、KV cache 占用与线上缓存命中(线上经验) |
Scheduling and Compute Optimization
解决的问题:如何在显存和计算资源约束下提高吞吐、控制延迟,并验证优化对输出效果的影响。
1 | Scheduling and Compute Optimization:在资源约束下平衡吞吐、延迟与输出效果 |
| 主题 | 概念与原理 | 代码与示例 | 工程案例 |
|---|---|---|---|
| Continuous batching | HF Continuous Batching:动态加入与退出 | SGLang:批次组织;DeepInfer:CPU 批调度与设备执行重叠的异步调度 | DeepSeek inference system:批次拆分与计算通信重叠(线上经验);DeepInfer 部署 Q&A:按负载分配请求与计算预算;SGLang MTP:解码优化实验 |
| 低精度计算 | vLLM Quantization:格式、精度与硬件支持 | vLLM:量化配置与推理对比 | — |
CUDA and GPU Layer
上层训练框架与推理运行时以 tensor 运算组织模型计算;本层关注其 GPU 执行与内存性能。
1 | GPU Execution ↔ Memory and Performance |
GPU Execution
解决的问题:训练框架或推理运行时组织的 tensor 运算,如何通过 GPU kernel 并行执行。
1 | GPU Execution:通过 GPU kernel 执行 tensor 运算 |
| 主题 | 概念与原理 | 代码与示例 | 工程案例 |
|---|---|---|---|
| 算子实现 | cuBLAS:矩阵计算库与 CUDA 的关系 | Triton:基础 kernel;FlashMLA:Attention kernel | DeepInfer:将 FlashMLA、DeepGEMM 等 kernel 组件整合到模型运行时(生产框架说明) |
| 设备执行 | CUDA Programming Guide:kernel、线程组织与执行模型 | CUDA Samples:线程、同步与异步执行 | DeepSeek-V3 §3.2.2:Warp 分工、PTX 与通信计算重叠(进阶实现经验) |
Memory and Performance
解决的问题:数据放在哪里、如何搬运和复用,才能减少模型计算中的内存开销与等待。
1 | Memory and Performance:通过存储组织和数据复用提高计算效率 |
| 主题 | 概念与原理 | 代码与示例 | 工程案例 |
|---|---|---|---|
| Memory hierarchy | CUDA Programming Guide:内存层次与访问方式 | DeepGEMM:低精度矩阵计算及性能测试 | DeepSeek-V3 §3.3:低精度存储与累加精度(进阶实现经验) |
| 数据搬运与复用 | FlashAttention:分块与减少内存访问 | FlashAttention 代码:Attention 数据复用 | DeepSeek-V3 §3.2.3:激活重计算与内存开销权衡(进阶实现经验) |