O LMCache é integrado ao vLLM para otimização da inferência por meio das seguintes etapas:
- Configuração de variáveis de ambienteLimites de memória (por exemplo, 5 GB): defina interruptores de função de experimento, tamanho do bloco de cache (por exemplo, 256 tokens), backend de armazenamento (por exemplo, CPU) e limites de memória (por exemplo, 5 GB).
- Iniciando uma instância vLLMNo momento da inicialização do vLLM, um novo vLLM é criado por meio da função
KVTransferConfig
Especifique o LMCache como o conector de valor-chave e defina funções (por exemplokv_both
). - Reutilização automática do cacheQuando o vLLM é executado, o LMCache carrega e reutiliza automaticamente os pares de valores-chave armazenados em cache para evitar a duplicação de cálculos.
Por exemplo, o código a seguir demonstra a abordagem de integração:
from vllm import LLM
from lmcache.integration.vllm.utils import ENGINE_NAME
ktc = KVTransferConfig(kv_connector="LMCacheConnector", kv_role="kv_both")
llm = LLM(model="meta-llama/Meta-Llama-3.1-8B-Instruct", kv_transfer_config=ktc)
Essa integração reduz significativamente a latência, especialmente para textos longos ou cenários de diálogo com várias rodadas.
Essa resposta foi extraída do artigoLMCache: uma ferramenta de otimização de cache de valores-chave para acelerar o raciocínio em grandes modelos de linguagemO