学习让我快乐

争于世, 不争于势;简洁, 高效, 赏心悦目

Mooncake Evict: 一次 std::make_pair 让 iter_ 悄悄失效

上一篇 Mooncake 统一内存池:从默认 Evict 到 Linux Reclaim 主要讲的是 unify memory pool 下 evict 的整体语义、冷热链表、以及为什么要借 Linux reclaim 的职责划分. 但那篇文章里有一条工程红线, 我当时只是一笔带过: KeyEvictInfo.iter_ 必须始终指向它当前所在 list 的 iterator. 只要这条不变...

Mooncake 统一内存池:从默认 Evict 到 Linux Reclaim

之前那篇 Mooncake 统一内存池:AI Vibe Coding 与 Rust 里, 我主要讲的是 local master + unify memory pool 怎么把 Pod 内分裂的数据面收拢成统一共享池 G. 在我们的系统中,Unify memory pool 已经逐步替代推理/训练系统里所有需要 shared memory 交换数据的地方,在大幅降低代码复杂度/架构复杂度的同...

Rapid transfer_kv:只为更快的 PD 分离

关于目前线上 PD 分离实现, 我之前其实已经零散写过不少: PD 分离中的 GDR 主要在讲 P 侧如何 layer-by-layer 地把 kvcache 直接写到 D 侧显存. PD 分离中的 kvcache 传输优化 主要在讲 kvt 数据面本身怎么提速. PD 分离:全面上线 则更系统地介绍了 kvt 和 HybridConnector 的来龙去脉. 如果想看一...

Mooncake 统一内存池:AI Vibe Coding 与 Rust

最近我在做 Mooncake 接入 RL, 收益颇丰. 正好借这个机会, 总结下我们基于 Mooncake 所做的 local master / unify memory pool 设计. 一开始看上去, 这像是一个“把 DummyClient.get_buffer()/put_parts() 做快一点”的问题. 但真正把链路扒开来看就会发现, 问题远不止如此. 真正的问题是: 在一个 Po...

Reinforcement-Learning 学习笔记

是的, 这是一本学习笔记, 对 Sutton Reinforcement Learning: An Introduction 的学习笔记, 正如我之前那些学习笔记一样, 这种笔记内容上并不连贯, 阅读性不佳. 更多的是作为我时不时的参考使用, 所以不要尝试读下去. 1 Introduction 1.3 强化学习的要素 1.4 Limitations and Scope 1.5 A...

对 PPO-clip/penalty 一种理解

之前读大猿老师的人人都能看懂的RL-PPO理论知识时,虽然受益匪浅,但对 PPO-clip/penalty 究竟如何起效,心里还是有点“雾里看花”。最近做了一番详细调研后,我决定换个角度,从梯度的变化出发,彻底搞懂 clip 和 penalty 的作用机理。P.S. 大猿老师的文章真是越读越舒服,每篇都能把原理讲得清清楚楚! 首先来看下为什么需要 clip/penalty; 在朴素的 RL...

数字电路设计原理与实践学习笔记

是的, 这是一本学习笔记, 正如我之前那些学习笔记一样, 这种笔记内容上并不连贯, 阅读性不佳. 更多的是作为我时不时的参考使用, 所以不要尝试读下去. 1 引言 Q: 晶体管与门电路的关系是什么? ChatGPT: 晶体管与门电路之间是“器件”与“功能单元”的关系。简单说: 晶体管是构成门电路的最基本元件 门电路(如与门 AND)本质上是用晶体管组成的开关网络。 门电路的...

大家好, 我是练习AI一年半的

时光荏苒,蓦然回首,自写下 从数据库到 AI 一文正式踏入 AI 领域,至今恰好一年。最近在整理述职 ppt 时,系统梳理了这段时间的学习与实践,索性也在这里做个简要总结,权当记录这段与 AI 共舞的成长旅程。 PD 分离: 为什么 HybridConnector 我刚来到 AI 时, 分布式推理正成为业界主流趋势, 大家都在探索如何通过PD分离以提升吞吐与降低成本; 而且非常幸运, 老...

vllm 中 async scheduling

当前 vLLM 的异步调度(async scheduling)实现仍较为复杂. 在深入剖析其具体代码之前, 本文将以一条具体的查询请求为例, 手动模拟调度器 scheduler 与 worker 的执行流程, 并标注其中的关键状态变化. 通过这种方式纲举目张, 为后续深入理解代码细节提供一个清晰的参照框架. S0.schedule S0 对应着发生在 R 上的第 0 次 step;...

转折中的 PD 分离

就在昨天晚上, 我们线上 PD 分离部署规模又上了一个新的台阶. 这次没有想往常几次爬坡出现新的问题, 一时间心有所感, 就是想写点什么记录下我们整个 PD 分离的开发历程. kvt 1.0 看过我历史几篇关于 PD 分离的文章, 比如 PD 分离中的 GDR 等的同学都有了解, 我们 PD 分离在早期设计上就期望做到旁路, 不需要对 step 主流程做大的改动. ZeroOverh...

vllm 中的 GDN

随着 Qwen3-Next PD 分离机制的陆续上线, 借此机会系统梳理一下 Gated Delta Rule 的计算流程以及 vllm 中的实现. recurrent 如 GDN 论文 “Gated Delta Networks: Improving Mamba2 with Delta Rule” 所示, Gated Delta Rule 有 recurrent 与 chunk 两种形...

PyTorch Autograd Engine: 1

在正式剖析 Autograd Engine 之前, 有必要先花一点时间把多元微积分里 “导数” 与 “偏导数” 这两个概念重新捋一遍, 毕竟我发现自己又在这块儿犯迷糊了. 严格而系统的论述请参考 陶 Analysis II 6: 多元微分学, 下文仅为个人的非严谨提醒, 旨在把最关键的直觉再钉牢一点. 对于函数 $f: \mathrm{R}^n \to \mathrm{R}^m$, $f$...

PaperReading: Nanoflow(2)

在去年 9 月份做了 PaperReading: Nanoflow 分享之后, 随着 Deepseek TBO 的流行, 我也陆续收到不少关于 Nanoflow 算子如何重叠执行的追问, 一直想找时间详细绘制下 nanoflow 具体地执行流, 现在时间来啦! 我本来想着将上面草图转换为 graphviz 形式, 但感觉好麻烦啊= 关键是上面草图信息已经够直观了, 应该没必要了= Q...