jeju-tour
复刻的”镜像“与可能的“智能“
本篇blog本来只是一篇技术学习,但是在记录的时候迸发了一些灵感遂走向了不同的方向,由于直接记录了当时的思考历程而不是一个整体的写作,前后出现了一些观点的改变,涉及的技术细节也被简化,所以类别也被从llm-algorithm划分到了杂谈
思考的历程以题外话章节为主
原标题 dLLM:AR or Diffusion ?
PD/DT-separation
有关PD/DT分离的一些想法
最近实验室让看了有关这方面的论文,包括但不限kimi的[mooncake](zhenghuawei923/Mooncake-kimi-ai: Mooncake is the serving platform for Kimi, a leading LLM service provided by Moonshot AI. kimiAI大模型),以及tri-dao最新的[SSD](Speculative Speculative Decoding | OpenReview)
Mooncake
PD 分离的工程实现
SSD
在一个“节点”内部实现的一种简单的DT分离
一些想法
如果要从现有的 PD 分离的方法中借鉴,那就要弄清现在两种方法的相似和不同
| PD | DT | |
|---|---|---|
| 生命周期 | prefill的生命周期短,且在一轮独立的处理中,只会出现一次; decode的生命周期就更长,会一直generate直到满足条件 |
Draft阶段的推测是非常轻量的,所以它的生命周期更短 而 Target 的验证虽然一次性并行,但是本身是大的,所以周期长 |
| 计算特性 | prefill阶段是密集型计算,规模随输入长度的增长而呈square/linear增长 decode阶段则是访存密集型,需要频繁的读写kvcache |
Verify 阶段同样是密集型计算,但是其增长取决于生成的 draft token 的长度以及可能生成的 draft 树 Draft阶段取决于生成的策略,从最naive的串行到 EAGLE 之类的树状结构,再到PEARL生成的串行的异步,以及SSD的网状的结果,计算特性会有所不同,并发的程度也不一样 |
| 交互特性 | 在一轮独立的处理,两者只会交互一次,传输KVCache | 在不依赖异步策略的一轮处理中,两者会多次交互,但是逻辑上的先后特性被完整转化成了时间上的先后顺序 而在实施了异步策略的一轮处理里,这个交互的逻辑就会变得更加复杂 |
training-llm
Posted on
Edited on
Word count in article:
2.8k
Reading time ≈
5 mins.
bridge-card
Posted on
Edited on
Word count in article:
2.6k
Reading time ≈
5 mins.