跳转至

Score编码器缓存管理器

Score编码器缓存管理器使用CPU缓存层和基于分数的策略来管理多模态编码器输出。选择该管理器即启用此功能;没有单独的enabled选项。

在线推理

vllm serve MODEL \
  --ec-manager-config '{
    "encoder_cache_manager_cls": "vllm_ascend.ec_manager.score_ec_manager.ScoreEncoderCacheManager",
    "manager_config": {
      "cpu_cache_slots": 100000,
      "max_clock": 15,
      "clock_decay_every": 64,
      "watermark": 0.2,
      "promote_percentile": 0.2
    }
  }'

离线推理

from vllm import LLM

llm = LLM(
    model="MODEL",
    ec_manager_config={
        "encoder_cache_manager_cls": (
            "vllm_ascend.ec_manager.score_ec_manager.ScoreEncoderCacheManager"
        ),
        "manager_config": {
            "cpu_cache_slots": 100000,
            "max_clock": 15,
            "clock_decay_every": 64,
            "watermark": 0.2,
            "promote_percentile": 0.2,
        },
    },
)

配置选项

名称 类型 默认值 描述
cpu_cache_slots int 100000 CPU缓存的最大容量,以编码器嵌入槽位为单位。
max_clock int 15 老化策略使用的最大时钟值。
clock_decay_every int 64 两次时钟衰减步骤之间的请求数。
watermark float 0.2 驱逐后保持空闲的NPU缓存槽位目标比例。
promote_percentile float 0.2 用于将CPU条目提升至NPU的分数百分位阈值。

自定义管理器通过完全限定的类名进行选择。每个管理器定义自己的manager_config模式,并通过create_manager使用该模式。