Tags

keep hungry keep foolish
MLSys

千卡训练的隐形账单:通信不是瓶颈The Hidden Bill of Thousand-GPU Training: Communication Is Not the Bottleneck

MLSys·im 学习笔记(五)——从单节点走到千卡集群:谁在偷走训练时间、Young-Daly 公式该往哪用、选址怎么在 61 倍里改写碳足迹MLSys·im Learning Notes (Part 5) — from one node to a thousand GPUs: who actually steals your training time, where the Young-Daly formula should point, and how site selection rewrites the carbon footprint by 61x


千卡训练的隐形账单:通信不是瓶颈The Hidden Bill of Thousand-GPU Training: Communication Is Not the Bottleneck

MLSys·im 学习笔记(五)——从单节点走到千卡集群:谁在偷走训练时间、Young-Daly 公式该往哪用、选址怎么在 61 倍里改写碳足迹MLSys·im Learning Notes (Part 5) — from one node to a thousand GPUs: who actually steals your training time, where the Young-Daly formula should point, and how site selection rewrites the carbon footprint by 61x


给开源教程修了个 demoFixing a Tutorial Demo: An Open-Source PR Retrospective

给 mlsysim 的 KV-Cache 教程重写了 §5 的 Paged Attention demo 并提了 PRI rewrote the §5 Paged Attention demo in mlsysim's KV-Cache tutorial and opened PR #2135; before merging, the maintainer revised it and shrank my numbers from 314 to 259. A retrospective of that experience.


GPU 为什么会挨饿:数据墙、投机解码与设计空间探索Why Does the GPU Starve: The Data Wall, Speculative Decoding, and Design-Space Exploration

MLSys·im 学习笔记(四)——从单点瓶颈走向全链路优化:CPU 预处理如何让 GPU 饿肚子,投机解码如何以小博大,DSE 如何在数千种配置中自动找最优解MLSys·im Learning Notes (Part 4) — from single-point analysis to whole-pipeline optimization: how CPU preprocessing starves the GPU, how speculative decoding bets small to win big, and how DSE searches thousands of configs automatically


GPU 为什么会挨饿:数据墙、投机解码与设计空间探索Why Does the GPU Starve: The Data Wall, Speculative Decoding, and Design-Space Exploration

MLSys·im 学习笔记(四)——从单点瓶颈走向全链路优化:CPU 预处理如何让 GPU 饿肚子,投机解码如何以小博大,DSE 如何在数千种配置中自动找最优解MLSys·im Learning Notes (Part 4) — from single-point analysis to whole-pipeline optimization: how CPU preprocessing starves the GPU, how speculative decoding bets small to win big, and how DSE searches thousands of configs automatically


给开源教程修了个 demoFixing a Tutorial Demo: An Open-Source PR Retrospective

给 mlsysim 的 KV-Cache 教程重写了 §5 的 Paged Attention demo 并提了 PR #2135;合并前维护者又改了一版,把数字从 314 改小到 259。复盘这次经历。I rewrote the §5 Paged Attention demo in mlsysim's KV-Cache tutorial and opened PR #2135; before merging, the maintainer revised it and shrank my numbers from 314 to 259. A retrospective of that experience.


KV-Cache 的显存账本:长上下文、并发与量化剪枝的取舍The KV-Cache Memory Ledger: Long Context, Concurrency, and the Quantization–Pruning Trade-off

MLSys·im 学习笔记(三)——用公式算清一个请求吃多少显存,序列长度如何决定并发上限,以及为什么"压缩"和"剪枝"在推理提速上完全是两回事MLSys·im Learning Notes (Part 3) — a formula for how much memory one request eats, why sequence length decides your concurrency ceiling, and why 'compression' and 'pruning' are two completely different stories for inference speedup


KV-Cache 的显存账本:长上下文、并发与量化剪枝的取舍The KV-Cache Memory Ledger: Long Context, Concurrency, and the Quantization–Pruning Trade-off

MLSys·im 学习笔记(三)——用公式算清一个请求吃多少显存,序列长度如何决定并发上限,以及为什么"压缩"和"剪枝"在推理提速上完全是两回事MLSys·im Learning Notes (Part 3) — a formula for how much memory one request eats, why sequence length decides your concurrency ceiling, and why 'compression' and 'pruning' are two completely different stories for inference speedup


内存墙与两阶段:为什么 3.2 倍算力只换来 1.6 倍加速The Memory Wall & Two Phases: Why 3.2x More FLOPS Buys Only 1.6x Speedup

MLSys·im 学习笔记(二)——从 Memory Wall 到 Prefill/Decode 双墙,一次 LLM 请求里的两套瓶颈MLSys·im Learning Notes (Part 2) — from the Memory Wall to the Prefill/Decode dual walls: two bottlenecks inside a single LLM request


内存墙与两阶段:为什么 3.2 倍算力只换来 1.6 倍加速The Memory Wall & Two Phases: Why 3.2x More FLOPS Buys Only 1.6x Speedup

MLSys·im 学习笔记(二)——从 Memory Wall 到 Prefill/Decode 双墙,一次 LLM 请求里的两套瓶颈MLSys·im Learning Notes (Part 2) — from the Memory Wall to the Prefill/Decode dual walls: two bottlenecks inside a single LLM request


用 5 行代码预测模型瓶颈:MLSys·im Roofline 教程学习笔记Predicting Model Bottlenecks in 5 Lines of Code: MLSys·im Roofline Tutorial Notes

从 Datawhale 打卡任务开始的性能分析之旅——ResNet-50、Llama-3 在 A100/H100 上的 roofline 实战与踩坑复盘MLSys·im Learning Notes (Part 1) — a performance-analysis journey from a Datawhale assignment: rooflining ResNet-50 and Llama-3 on A100/H100, with a post-mortem of every pitfall


用 5 行代码预测模型瓶颈:MLSys·im Roofline 教程学习笔记Predicting Model Bottlenecks in 5 Lines of Code: MLSys·im Roofline Tutorial Notes

从 Datawhale 打卡任务开始的性能分析之旅——ResNet-50、Llama-3 在 A100/H100 上的 roofline 实战与踩坑复盘A performance-analysis journey starting from a Datawhale assignment — rooflining ResNet-50 and Llama-3 on A100/H100, with a post-mortem of every pitfall


GPU

千卡训练的隐形账单:通信不是瓶颈The Hidden Bill of Thousand-GPU Training: Communication Is Not the Bottleneck

MLSys·im 学习笔记(五)——从单节点走到千卡集群:谁在偷走训练时间、Young-Daly 公式该往哪用、选址怎么在 61 倍里改写碳足迹MLSys·im Learning Notes (Part 5) — from one node to a thousand GPUs: who actually steals your training time, where the Young-Daly formula should point, and how site selection rewrites the carbon footprint by 61x


千卡训练的隐形账单:通信不是瓶颈The Hidden Bill of Thousand-GPU Training: Communication Is Not the Bottleneck

MLSys·im 学习笔记(五)——从单节点走到千卡集群:谁在偷走训练时间、Young-Daly 公式该往哪用、选址怎么在 61 倍里改写碳足迹MLSys·im Learning Notes (Part 5) — from one node to a thousand GPUs: who actually steals your training time, where the Young-Daly formula should point, and how site selection rewrites the carbon footprint by 61x


GPU 为什么会挨饿:数据墙、投机解码与设计空间探索Why Does the GPU Starve: The Data Wall, Speculative Decoding, and Design-Space Exploration

MLSys·im 学习笔记(四)——从单点瓶颈走向全链路优化:CPU 预处理如何让 GPU 饿肚子,投机解码如何以小博大,DSE 如何在数千种配置中自动找最优解MLSys·im Learning Notes (Part 4) — from single-point analysis to whole-pipeline optimization: how CPU preprocessing starves the GPU, how speculative decoding bets small to win big, and how DSE searches thousands of configs automatically


GPU 为什么会挨饿:数据墙、投机解码与设计空间探索Why Does the GPU Starve: The Data Wall, Speculative Decoding, and Design-Space Exploration

MLSys·im 学习笔记(四)——从单点瓶颈走向全链路优化:CPU 预处理如何让 GPU 饿肚子,投机解码如何以小博大,DSE 如何在数千种配置中自动找最优解MLSys·im Learning Notes (Part 4) — from single-point analysis to whole-pipeline optimization: how CPU preprocessing starves the GPU, how speculative decoding bets small to win big, and how DSE searches thousands of configs automatically


内存墙与两阶段:为什么 3.2 倍算力只换来 1.6 倍加速The Memory Wall & Two Phases: Why 3.2x More FLOPS Buys Only 1.6x Speedup

MLSys·im 学习笔记(二)——从 Memory Wall 到 Prefill/Decode 双墙,一次 LLM 请求里的两套瓶颈MLSys·im Learning Notes (Part 2) — from the Memory Wall to the Prefill/Decode dual walls: two bottlenecks inside a single LLM request


内存墙与两阶段:为什么 3.2 倍算力只换来 1.6 倍加速The Memory Wall & Two Phases: Why 3.2x More FLOPS Buys Only 1.6x Speedup

MLSys·im 学习笔记(二)——从 Memory Wall 到 Prefill/Decode 双墙,一次 LLM 请求里的两套瓶颈MLSys·im Learning Notes (Part 2) — from the Memory Wall to the Prefill/Decode dual walls: two bottlenecks inside a single LLM request


用 5 行代码预测模型瓶颈:MLSys·im Roofline 教程学习笔记Predicting Model Bottlenecks in 5 Lines of Code: MLSys·im Roofline Tutorial Notes

从 Datawhale 打卡任务开始的性能分析之旅——ResNet-50、Llama-3 在 A100/H100 上的 roofline 实战与踩坑复盘MLSys·im Learning Notes (Part 1) — a performance-analysis journey from a Datawhale assignment: rooflining ResNet-50 and Llama-3 on A100/H100, with a post-mortem of every pitfall


用 5 行代码预测模型瓶颈:MLSys·im Roofline 教程学习笔记Predicting Model Bottlenecks in 5 Lines of Code: MLSys·im Roofline Tutorial Notes

从 Datawhale 打卡任务开始的性能分析之旅——ResNet-50、Llama-3 在 A100/H100 上的 roofline 实战与踩坑复盘A performance-analysis journey starting from a Datawhale assignment — rooflining ResNet-50 and Llama-3 on A100/H100, with a post-mortem of every pitfall


mlsysim

千卡训练的隐形账单:通信不是瓶颈The Hidden Bill of Thousand-GPU Training: Communication Is Not the Bottleneck

MLSys·im 学习笔记(五)——从单节点走到千卡集群:谁在偷走训练时间、Young-Daly 公式该往哪用、选址怎么在 61 倍里改写碳足迹MLSys·im Learning Notes (Part 5) — from one node to a thousand GPUs: who actually steals your training time, where the Young-Daly formula should point, and how site selection rewrites the carbon footprint by 61x


千卡训练的隐形账单:通信不是瓶颈The Hidden Bill of Thousand-GPU Training: Communication Is Not the Bottleneck

MLSys·im 学习笔记(五)——从单节点走到千卡集群:谁在偷走训练时间、Young-Daly 公式该往哪用、选址怎么在 61 倍里改写碳足迹MLSys·im Learning Notes (Part 5) — from one node to a thousand GPUs: who actually steals your training time, where the Young-Daly formula should point, and how site selection rewrites the carbon footprint by 61x


给开源教程修了个 demoFixing a Tutorial Demo: An Open-Source PR Retrospective

给 mlsysim 的 KV-Cache 教程重写了 §5 的 Paged Attention demo 并提了 PRI rewrote the §5 Paged Attention demo in mlsysim's KV-Cache tutorial and opened PR #2135; before merging, the maintainer revised it and shrank my numbers from 314 to 259. A retrospective of that experience.


GPU 为什么会挨饿:数据墙、投机解码与设计空间探索Why Does the GPU Starve: The Data Wall, Speculative Decoding, and Design-Space Exploration

MLSys·im 学习笔记(四)——从单点瓶颈走向全链路优化:CPU 预处理如何让 GPU 饿肚子,投机解码如何以小博大,DSE 如何在数千种配置中自动找最优解MLSys·im Learning Notes (Part 4) — from single-point analysis to whole-pipeline optimization: how CPU preprocessing starves the GPU, how speculative decoding bets small to win big, and how DSE searches thousands of configs automatically


GPU 为什么会挨饿:数据墙、投机解码与设计空间探索Why Does the GPU Starve: The Data Wall, Speculative Decoding, and Design-Space Exploration

MLSys·im 学习笔记(四)——从单点瓶颈走向全链路优化:CPU 预处理如何让 GPU 饿肚子,投机解码如何以小博大,DSE 如何在数千种配置中自动找最优解MLSys·im Learning Notes (Part 4) — from single-point analysis to whole-pipeline optimization: how CPU preprocessing starves the GPU, how speculative decoding bets small to win big, and how DSE searches thousands of configs automatically


给开源教程修了个 demoFixing a Tutorial Demo: An Open-Source PR Retrospective

给 mlsysim 的 KV-Cache 教程重写了 §5 的 Paged Attention demo 并提了 PR #2135;合并前维护者又改了一版,把数字从 314 改小到 259。复盘这次经历。I rewrote the §5 Paged Attention demo in mlsysim's KV-Cache tutorial and opened PR #2135; before merging, the maintainer revised it and shrank my numbers from 314 to 259. A retrospective of that experience.


KV-Cache 的显存账本:长上下文、并发与量化剪枝的取舍The KV-Cache Memory Ledger: Long Context, Concurrency, and the Quantization–Pruning Trade-off

MLSys·im 学习笔记(三)——用公式算清一个请求吃多少显存,序列长度如何决定并发上限,以及为什么"压缩"和"剪枝"在推理提速上完全是两回事MLSys·im Learning Notes (Part 3) — a formula for how much memory one request eats, why sequence length decides your concurrency ceiling, and why 'compression' and 'pruning' are two completely different stories for inference speedup


KV-Cache 的显存账本:长上下文、并发与量化剪枝的取舍The KV-Cache Memory Ledger: Long Context, Concurrency, and the Quantization–Pruning Trade-off

MLSys·im 学习笔记(三)——用公式算清一个请求吃多少显存,序列长度如何决定并发上限,以及为什么"压缩"和"剪枝"在推理提速上完全是两回事MLSys·im Learning Notes (Part 3) — a formula for how much memory one request eats, why sequence length decides your concurrency ceiling, and why 'compression' and 'pruning' are two completely different stories for inference speedup


内存墙与两阶段:为什么 3.2 倍算力只换来 1.6 倍加速The Memory Wall & Two Phases: Why 3.2x More FLOPS Buys Only 1.6x Speedup

MLSys·im 学习笔记(二)——从 Memory Wall 到 Prefill/Decode 双墙,一次 LLM 请求里的两套瓶颈MLSys·im Learning Notes (Part 2) — from the Memory Wall to the Prefill/Decode dual walls: two bottlenecks inside a single LLM request


内存墙与两阶段:为什么 3.2 倍算力只换来 1.6 倍加速The Memory Wall & Two Phases: Why 3.2x More FLOPS Buys Only 1.6x Speedup

MLSys·im 学习笔记(二)——从 Memory Wall 到 Prefill/Decode 双墙,一次 LLM 请求里的两套瓶颈MLSys·im Learning Notes (Part 2) — from the Memory Wall to the Prefill/Decode dual walls: two bottlenecks inside a single LLM request


用 5 行代码预测模型瓶颈:MLSys·im Roofline 教程学习笔记Predicting Model Bottlenecks in 5 Lines of Code: MLSys·im Roofline Tutorial Notes

从 Datawhale 打卡任务开始的性能分析之旅——ResNet-50、Llama-3 在 A100/H100 上的 roofline 实战与踩坑复盘MLSys·im Learning Notes (Part 1) — a performance-analysis journey from a Datawhale assignment: rooflining ResNet-50 and Llama-3 on A100/H100, with a post-mortem of every pitfall


用 5 行代码预测模型瓶颈:MLSys·im Roofline 教程学习笔记Predicting Model Bottlenecks in 5 Lines of Code: MLSys·im Roofline Tutorial Notes

从 Datawhale 打卡任务开始的性能分析之旅——ResNet-50、Llama-3 在 A100/H100 上的 roofline 实战与踩坑复盘A performance-analysis journey starting from a Datawhale assignment — rooflining ResNet-50 and Llama-3 on A100/H100, with a post-mortem of every pitfall


LLM Inference

交叉熵:语言模型的损失函数,为什么只能是它Cross-Entropy: The Loss Function of Language Models, and Why It Must Be This One

3Blue1Brown「压缩即智能」Part 2 学习笔记——从一个玩具编码方案讲交叉熵,为什么 p 和 q 不能对调,又为什么交叉熵公式是「平均损失仅在 q=p 时取最小值」的唯一解


GPU 为什么会挨饿:数据墙、投机解码与设计空间探索Why Does the GPU Starve: The Data Wall, Speculative Decoding, and Design-Space Exploration

MLSys·im 学习笔记(四)——从单点瓶颈走向全链路优化:CPU 预处理如何让 GPU 饿肚子,投机解码如何以小博大,DSE 如何在数千种配置中自动找最优解MLSys·im Learning Notes (Part 4) — from single-point analysis to whole-pipeline optimization: how CPU preprocessing starves the GPU, how speculative decoding bets small to win big, and how DSE searches thousands of configs automatically


KV-Cache 的显存账本:长上下文、并发与量化剪枝的取舍The KV-Cache Memory Ledger: Long Context, Concurrency, and the Quantization–Pruning Trade-off

MLSys·im 学习笔记(三)——用公式算清一个请求吃多少显存,序列长度如何决定并发上限,以及为什么"压缩"和"剪枝"在推理提速上完全是两回事MLSys·im Learning Notes (Part 3) — a formula for how much memory one request eats, why sequence length decides your concurrency ceiling, and why 'compression' and 'pruning' are two completely different stories for inference speedup


内存墙与两阶段:为什么 3.2 倍算力只换来 1.6 倍加速The Memory Wall & Two Phases: Why 3.2x More FLOPS Buys Only 1.6x Speedup

MLSys·im 学习笔记(二)——从 Memory Wall 到 Prefill/Decode 双墙,一次 LLM 请求里的两套瓶颈MLSys·im Learning Notes (Part 2) — from the Memory Wall to the Prefill/Decode dual walls: two bottlenecks inside a single LLM request


LLM推理

交叉熵:语言模型的损失函数,为什么只能是它Cross-Entropy: The Loss Function of Language Models, and Why It Must Be This One

3Blue1Brown「压缩即智能」Part 2 学习笔记——从一个玩具编码方案讲交叉熵,为什么 p 和 q 不能对调,又为什么交叉熵公式是「平均损失仅在 q=p 时取最小值」的唯一解Notes on 3Blue1Brown's 'Compression is Intelligence' Part 2 — from a toy coding scheme to cross-entropy, why p and q can't be swapped, and why the cross-entropy formula is the unique answer to 'average loss minimized exactly when q = p'


GPU 为什么会挨饿:数据墙、投机解码与设计空间探索Why Does the GPU Starve: The Data Wall, Speculative Decoding, and Design-Space Exploration

MLSys·im 学习笔记(四)——从单点瓶颈走向全链路优化:CPU 预处理如何让 GPU 饿肚子,投机解码如何以小博大,DSE 如何在数千种配置中自动找最优解MLSys·im Learning Notes (Part 4) — from single-point analysis to whole-pipeline optimization: how CPU preprocessing starves the GPU, how speculative decoding bets small to win big, and how DSE searches thousands of configs automatically


KV-Cache 的显存账本:长上下文、并发与量化剪枝的取舍The KV-Cache Memory Ledger: Long Context, Concurrency, and the Quantization–Pruning Trade-off

MLSys·im 学习笔记(三)——用公式算清一个请求吃多少显存,序列长度如何决定并发上限,以及为什么"压缩"和"剪枝"在推理提速上完全是两回事MLSys·im Learning Notes (Part 3) — a formula for how much memory one request eats, why sequence length decides your concurrency ceiling, and why 'compression' and 'pruning' are two completely different stories for inference speedup


内存墙与两阶段:为什么 3.2 倍算力只换来 1.6 倍加速The Memory Wall & Two Phases: Why 3.2x More FLOPS Buys Only 1.6x Speedup

MLSys·im 学习笔记(二)——从 Memory Wall 到 Prefill/Decode 双墙,一次 LLM 请求里的两套瓶颈MLSys·im Learning Notes (Part 2) — from the Memory Wall to the Prefill/Decode dual walls: two bottlenecks inside a single LLM request


KV Cache

给开源教程修了个 demoFixing a Tutorial Demo: An Open-Source PR Retrospective

给 mlsysim 的 KV-Cache 教程重写了 §5 的 Paged Attention demo 并提了 PRI rewrote the §5 Paged Attention demo in mlsysim's KV-Cache tutorial and opened PR #2135; before merging, the maintainer revised it and shrank my numbers from 314 to 259. A retrospective of that experience.


给开源教程修了个 demoFixing a Tutorial Demo: An Open-Source PR Retrospective

给 mlsysim 的 KV-Cache 教程重写了 §5 的 Paged Attention demo 并提了 PR #2135;合并前维护者又改了一版,把数字从 314 改小到 259。复盘这次经历。I rewrote the §5 Paged Attention demo in mlsysim's KV-Cache tutorial and opened PR #2135; before merging, the maintainer revised it and shrank my numbers from 314 to 259. A retrospective of that experience.


KV-Cache 的显存账本:长上下文、并发与量化剪枝的取舍The KV-Cache Memory Ledger: Long Context, Concurrency, and the Quantization–Pruning Trade-off

MLSys·im 学习笔记(三)——用公式算清一个请求吃多少显存,序列长度如何决定并发上限,以及为什么"压缩"和"剪枝"在推理提速上完全是两回事MLSys·im Learning Notes (Part 3) — a formula for how much memory one request eats, why sequence length decides your concurrency ceiling, and why 'compression' and 'pruning' are two completely different stories for inference speedup


KV-Cache 的显存账本:长上下文、并发与量化剪枝的取舍The KV-Cache Memory Ledger: Long Context, Concurrency, and the Quantization–Pruning Trade-off

MLSys·im 学习笔记(三)——用公式算清一个请求吃多少显存,序列长度如何决定并发上限,以及为什么"压缩"和"剪枝"在推理提速上完全是两回事MLSys·im Learning Notes (Part 3) — a formula for how much memory one request eats, why sequence length decides your concurrency ceiling, and why 'compression' and 'pruning' are two completely different stories for inference speedup