InfraTech README

The project's README from github.com/CalvinXKY/InfraTech. As one markdown file: README.md.

InfraTech

本仓库主要介绍AI Infra领域相关知识,内容涵盖:**训练/推理框架🧩、性能加速🚀、深度学习🧠、基础硬件🔧**等。

相关练习代码采用Python语言,以notebook形式呈现,帮助读者快速了解或掌握相关内容。

内容介绍

🔍主要文件

📜 文件名 📖 知识分类 说明 难度
MLA_diff_mode_mfu_calculation.ipynb Attention 超细图解MLA计算流&吸收矩阵对比分析 ⚡️⚡️⚡️
rope_principle.ipynb Attention 彻底搞懂RoPE计算原理:从1D到3D ⚡️⚡️⚡️
collective_operations.ipynb 分布式基础 分布式训练/推理基础:集合通信原理与实践 ⚡️
chunked_prefill_and_flash_decoding.ipynb 推理基础 ChunkedPrefill&FlashDecoding原理详解 ⚡️⚡️
attention_mla_flops_with_prefix_cache.ipynb 推理基础 prefix cache为何零开销 ⚡️⚡️
parallel_strategies.ipynb 并行推理 大模型推理并行策略(DP/TP/PP/SP/EP)原理简介 ⚡️
ulysses_mha_demo.ipynb 并行推理 推理Ulysses并行优化 ⚡️
LLM_sampling.ipynb 推理基础 LLM推理采样(Sampling) ⚡️
speculative_decoding.ipynb 推理基础 投机推理的原理与常见方案 ⚡️
dflash_dspark_principle.ipynb 推理基础 快速理解并行投机解码(DFlash/DSpark) ⚡️⚡️
zmq_practice.ipynb 推理基础 - ⚡️
nondeterministic_reduction.ipynb 推理基础 推理的非确定性运算 ⚡️
kv_cache_transfer_vs_recomputation.ipynb 推理基础 KV cache用池化的数据会比重算更快吗? ⚡️⚡️
linear_attention_kv_cache_size.ipynb 推理基础 LinearAttention在KV cache的存储上有多大优势? ⚡️
quantization.ipynb 推理基础 大模型推理量化(Quantization)基础速览 ⚡️
nano_vllm.ipynb Nano-vLLM 推理框架极简入门:用Nano-vLLM搭建知识体系 ⚡️
vllm_basic_scheduler.ipynb vLLM 手搓一个基础调度器 ⚡️⚡️
sglang_radix_attention.ipynb SGLang 手撕RadixAttention ⚡️⚡️
sglang_profiling_from_scratch.ipynb SGLang SGLang Profiling数据采集与分析入门 ⚡️
vllm_mem_snapshot.ipynb vLLM vLLM显存可视化与管理详解 ⚡️
switch_role_update_weights.ipynb SGLang/vLLM 降低RL训推共卡开销:SGLang/vLLM的无缝切换实现与分析 ⚡️
cuda_graph.ipynb 扩展知识 vLLM为什么没在prefill阶段支持cuda graph? ⚡️
LoRA_to_Multi_LoRA.ipynb 训推基础 从LoRA到Multi-LoRA ⚡️⚡️
mini_dl_framework.ipynb 训练框架 从零实现MLP训练全流程 ⚡️⚡️
pytorch_vista_deepseekV3.ipynb PyTorch PyTorch结构可视化 ⚡️
torch_process_share_tensor.ipynb PyTorch PyTorch中基于CUDA IPC的进程间Tensor共享简介 ⚡️
training_infer_colocate.ipynb RL基础 RL训推调度与切换(Megatron⇄SGLang)机制解析 ⚡️

🤖 推理基础知识与框架

📚 文章 📖 知识分类 📜 备注
入门知识:大模型推理核心概念与术语总结 推理基础 🔥🔥🔥
入门知识:大模型推理并行策略(DP/TP/PP/SP/EP)原理简介 推理基础 练习
入门知识:LLM推理并行优化的必备知识 推理基础 🔥🔥🔥
入门知识:从LoRA到Multi-LoRA:原理&代码实践 推理基础 练习
入门知识:ChunkedPrefill&FlashDecoding原理详解 推理基础 练习
入门知识:LLM推理采样(Sampling)常见知识概览 推理基础 🔥
入门知识:Speculative Decoding投机推理的原理与常见方案 推理基础 🔥
入门知识:推理的非确定性运算 推理基础 🔥
入门知识:大模型推理量化(Quantization)基础速览 推理基础 练习
Nano-vLLM架构介绍 Nano-vLLM 🔥🔥
推理框架极简入门:用Nano-vLLM搭建知识体系 Nano-vLLM 练习
vLLM(一):vLLM框架快速入门引导 vLLM 🔥🔥🔥🚀
vLLM(二):vLLM Scheduler逻辑难啃?先手搓一个基础调度器 vLLM 练习
SGLang(一):看不懂SGLang?先试试miniSGLang! SGLang 🔥🔥
SGLang(二):手撕SGLang KV Cache核心逻辑:快速理解RadixAttention SGLang 练习
SGLang(三):Profiling数据采集与分析入门 SGLang 练习
vLLM(三):vLLM显存管理详解 vLLM 🔥代码
vLLM(四):核心模块:vLLM V1 KV cache 管理机制剖析 vLLM 🔥🔥
vLLM(五):vLLM V1 Scheduler的调度逻辑&优先级分析 vLLM 🔥
vLLM(六):vLLM框架V1演进分析 vLLM 🔥🔥🔥
vLLM(七):vLLM的prefix cache为何零开销 vLLM 🔥🔥🔥
vLLM(八):vLLM DP特性与演进方案分析 vLLM 🔥
vLLM(九):LLM推理数据并行负载均衡(DPLB)浅析 vLLM 🔥🔥🔥
PD分离(一):vLLM PD分离方案浅析 特性 🔥🔥🔥 🚀
PD分离(二):vLLM PD分离KV cache传递机制详解与演进分析 特性 🔥🔥🔥
AF分离:Attention与FFN分离(AFD)方案解析 特性 🔥🔥
关键特性EPLB:MoE并行负载均衡,EPLB的深度解析与可视化 特性 🔥🔥
关键特性FlashMLA:深度解析FlashMLA,一文读懂大模型加速新利器 特性 🔥🔥
降低RL训推共卡开销:SGLang/vLLM的无缝切换实现与分析 特性 🔥🔥
推理框架适配Kimi/QwenNext线性注意力:方案&公式&代码 扩展知识 🔥
LinearAttention在KV cache的存储上有多大优势? 扩展知识 🔥🔥
如何评价NVIDIA发布的大模型推理PD分离架构Dynamo? 扩展知识 🔥🔥
KV cache用池化的数据会比重算更快吗? 扩展知识 🔥 练习
vLLM为什么没在prefill阶段支持cuda graph? 扩展知识 🔥 代码

🚀 推理提速经验分享

📚 文章 📖 知识分类
推理性能优化:GPU/NPU Profiling阅读引导 基础知识
推理性能优化:分布式推理优化思路 基础知识
1.5x提升:PD分离KV cache传输的实践经验 vLLM
1.3x提升:LLM推理优化:MLA算力均衡实践 vLLM
3.0x提升:推理Ulysses并行优化与DeepSeekV3/V3.2实践 vLLM
1.3x提升:vLLM推理的Swap特性实践 vLLM
PD分离+弹性伸缩/角色切换的实践笔记 vLLM

RL框架

📚 文章 📖 知识分类 📜 备注
vime:融合slime与vLLM的RL框架 vime 🔥🔥
vime×Ascend:共卡模式适配与实践 vime 🔥
MoE-RL训推一致性:R3原理与性能验证 vime 🔥🔥
vime+MemAgent:记忆智能体的RL后训练 vime 🔥
教你训一个会调用工具的Agent:RL τ-bench vime 🔥
[Slime适配vLLM后端的实践笔记](https://zhuanlan.zhihu.com/p/20331323300642

InfraTech (CalvinXKY/InfraTech)

Searching Database…

Что это?InfraTech — коллекция Jupyter-ноутбуков и статей со знаниями об AI Infra: фреймворки обучения/инференса (PyTorch, vLLM/SGLang, slime/vime), ускорение производительности, основы глубокого обучения и базовые сведения об ИИ-железе и софте.
Это серия туториалов или готовый фреймворк?Это обучающий репозиторий из самостоятельных Jupyter-ноутбуков и материалов, сгруппированных по темам (инференс, PyTorch, vLLM, SGLang, RL), а не устанавливаемый фреймворк или библиотека для импорта в свой проект.
С чего начать изучение материалов?Склонируйте репозиторий и откройте в Jupyter ноутбуки из папок вроде ./llminfer (упражнения по инференсу), ./models (обзоры моделей) или ./docs (материалы по AI Infra), затем запускайте ячейки с кодом.
Нужны ли установленные PyTorch и vLLM/SGLang для запуска ноутбуков?Да, упражнения написаны на Python в виде ноутбуков, а отдельные ноутбуки дополнительно требуют PyTorch, vLLM или SGLang в зависимости от темы (например, ноутбуки по управлению памятью vLLM или RadixAttention в SGLang).
Это последовательный курс или свободный набор тем?Это свободная коллекция, сгруппированная по темам, а не строгая пошаговая программа; у каждого ноутбука своя оценка сложности, показанная значками молний (от 1 до 3).
Для кого это?Для инженеров и исследователей, которые уже знакомы с глубоким обучением и хотят углубиться во внутренности инференса LLM, стратегии параллелизма и фреймворки вроде vLLM/SGLang, а не для полных новичков.
Что такое vime из раздела про RL?vime — RL-фреймворк, объединяющий slime и vLLM; здесь он раскрыт в ноутбуках про co-location на Ascend, согласованность обучения MoE-RL (R3) и обучение агента, вызывающего инструменты, через RL (tau-bench).
Для чего в этом репозитории используется Nano-vLLM?Nano-vLLM используется как минимальный фреймворк инференса, чтобы объяснить ключевые концепции построения движка инференса LLM с нуля, прежде чем погружаться в полные кодовые базы vLLM/SGLang.
Какие темы инференса он раскрывает помимо базового обслуживания?Он охватывает chunked prefill, flash decoding, спекулятивное декодирование, стратегии KV-кэша (включая prefix cache и линейное внимание), квантизацию, PD disaffinity/disaggregation и балансировку нагрузки MoE по экспертам (EPLB).
Можно ли запускать эти ноутбуки без GPU?Прямо не сказано, но многие ноутбуки затрагивают CUDA-специфичные темы вроде CUDA graphs, профилирования GPU/NPU и memory snapshot в vLLM, так что для воспроизведения практических примеров фактически нужен GPU.
Creator
CalvinXKY
Size
186.8 MB
Stars
4.2K
Updated
CommitSep 20
Age
11mo
Commits · 90 Days