vLLM 和 SGLang 的真正区别是什么?

知乎热榜查看原文 ↗

采集时热榜第 29 名 · 62 万热度 网上看了很多帖子,说的最多的就是 sglang 使用前缀树做 kv cache 管理,而 vllm 只有 page attention,每次都要重新计算。所以 sglang 更适合多轮对话,等等。 但是我最近研究了 nanovllm 和 minisglang 的源码,发现并不是这样的。nanovllm 是使用链式 hash 来索引 cache 的,minisglang 是使用前缀树。nanovllm 这种方式也是可以支持分叉的,minisglang 的树节点也是使用一个 page 的 token id 做索引的,所以两者的粒度并没有谁更好。要真比较我反倒觉着 nanovllm 的实现更加清爽,计算 hash 的开销感觉也没有多大。所以网上那些帖子我不知道是过时了还是 ai 写的…… 如果两者在这方面没有太大的话,那 saglang 的优势是什么?有人能帮忙解答一下嘛

采集时热榜第 28 名 · 61 万热度 网上看了很多帖子,说的最多的就是 sglang 使用前缀树做 kv cache 管理,而 vllm 只有 page attention,每次都要重新计算。所以 sglang 更适合多轮对话,等等。 但是我最近研究了 nanovllm 和 minisglang 的源码,发现并不是这样的。nanovllm 是使用链式 hash 来索引 cache 的,minisglang 是使用前缀树。nanovllm 这种方式也是可以支持分叉的,minisglang 的树节点也是使用一个 page 的 token id 做索引的,所以两者的粒度并没有谁更好。要真比较我反倒觉着 nanovllm 的实现更加清爽,计算 hash 的开销感觉也没有多大。所以网上那些帖子我不知道是过时了还是 ai 写的…… 如果两者在这方面没有太大的话,那 saglang 的优势是什么?有人能帮忙解答一下嘛