Categories

Posts archived by category
Tech

Readnest:我的阅读记录,为什么要搬出 NotionReadnest: Why I Moved My Reading Log Out of Notion

一个只存在于自己手机里的阅读记录本A reading log that lives on your phone and nowhere else


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

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


千卡训练的隐形账单:通信不是瓶颈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


给开源教程修了个 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


内存墙与两阶段:为什么 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


个人主页升级实战:Jekyll 增量改造的取舍与落地Upgrading My Personal Site: Jekyll Incremental Refactoring — Trade-offs and What Actually Shipped

从「要不要迁移框架」到「搜索、评论、SEO 全都要」的一次完整记录


傻瓜操作:GraphRAG、Ollama 本地部署及踩坑记录A Noob-Friendly Guide: Deploying GraphRAG with Local Ollama, and Every Pitfall I Hit


学习最优化课程中的一些疑惑Questions from an Optimization Course: Cartesian Products and Convex Sets


文献笔记 A View of Cloud ComputingReading Notes: A View of Cloud Computing


文献笔记 A Brief Introduction to Distributed SystemsReading Notes: A Brief Introduction to Distributed Systems


技术

Readnest:我的阅读记录,为什么要搬出 NotionReadnest: Why I Moved My Reading Log Out of Notion

一个只存在于自己手机里的阅读记录本A reading log that lives on your phone and nowhere else


交叉熵:语言模型的损失函数,为什么只能是它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'


千卡训练的隐形账单:通信不是瓶颈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


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


用 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


个人主页升级实战:Jekyll 增量改造的取舍与落地Upgrading My Personal Site: Jekyll Incremental Refactoring — Trade-offs and What Actually Shipped

从「要不要迁移框架」到「搜索、评论、SEO 全都要」的一次完整记录From 'should I migrate frameworks' to 'search, comments, SEO — I want it all'


傻瓜操作:GraphRAG、Ollama 本地部署及踩坑记录A Noob-Friendly Guide: Deploying GraphRAG with Local Ollama, and Every Pitfall I Hit


学习最优化课程中的一些疑惑Questions from an Optimization Course: Cartesian Products and Convex Sets


文献笔记 A View of Cloud ComputingReading Notes: A View of Cloud Computing


文献笔记 A Brief Introduction to Distributed SystemsReading Notes: A Brief Introduction to Distributed Systems


学习笔记

交叉熵:语言模型的损失函数,为什么只能是它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'


千卡训练的隐形账单:通信不是瓶颈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


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


用 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


Learning Notes

千卡训练的隐形账单:通信不是瓶颈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


给开源教程修了个 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


内存墙与两阶段:为什么 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