参考 https://zhuanlan.zhihu.com/p/692202970
在这里插入图片描述
整个初始化的过程,就是
LLMEngine去调用 Worker,scheduler的过程,其中CacheEngine是Worker的一个组件。
如图所示,
LLMEngine初始化一个worker,如果worker先去初始化ModelRunner来拿到ModelRunnr对象,来返回一个worker对象。在初始化CacheEngine之前会先去计算一下大概需要多少预算,来得到一个大概的block数目,再用这个block去估计GPU和CPU显存。

scheduler则是有BlockManager,它其实是一个逻辑块到物理块的映射。

所以可以理解这里有两个东西,
(1)schduler,决定下一个iteration需要处理的请求,下面包括逻辑物理映射的BlcokManager,是逻辑块映射到物理块,其中物理块则是与KV Cache一一对应,它会维护一张逻辑块到物理块的映射表。
(2)Wokrer,第一个是ModelRunner来负责GPU模型推理,第二个CacheEngine来负责KV Cache管理。

Logo

免费领 150 小时云算力,进群参与显卡、AI PC 幸运抽奖

更多推荐