Acesso no exterior: www.kdjingpai.com
Ctrl + D Marcar este site como favorito

O LMCache é uma ferramenta de otimização de cache de valor-chave (KV) de código aberto projetada para melhorar a eficiência do raciocínio em modelos de linguagem grande (LLMs). Ele reduz significativamente o tempo de inferência e o consumo de recursos da GPU armazenando em cache e reutilizando resultados de computação intermediários (armazenamento em cache de valor-chave) do modelo, o que é especialmente adequado para cenários de contexto longo. vLLM Ele se integra perfeitamente a outros mecanismos de inferência e oferece suporte a GPU, CPU e armazenamento em disco para cenários como Q&A em várias rodadas e Retrieval Augmented Generation (RAG). O projeto é orientado pela comunidade, está sob a licença Apache 2.0 e é amplamente usado para otimização de inferência de IA em nível empresarial.

 

Lista de funções

  • Reutilização do cache de valores-chavePares de valores-chave LLM em cache, suporte à reutilização de texto sem prefixo, redução da contagem dupla.
  • Suporte a back-end com vários armazenamentosSuporte ao armazenamento, como GPU, DRAM da CPU, disco e Redis, para flexibilidade ao lidar com restrições de memória.
  • Integração com o vLLMAcesso contínuo ao vLLM, proporcionando uma otimização de 3 a 10 vezes na latência da inferência.
  • cache distribuídoSuporte para cache compartilhado em várias GPUs ou ambientes em contêineres para implementações em grande escala.
  • suporte multimodalCaching key-value pairs of images and text to optimise multimodal model inference (Cache de pares de valores-chave de imagens e texto para otimizar a inferência de modelos multimodais).
  • Geração de carga de trabalhoFornecer ferramentas de teste para gerar cargas de trabalho, como questionários de várias rodadas, RAGs, etc., para validar o desempenho.
  • Suporte à comunidade de código abertoDocumentação, exemplos e reuniões da comunidade para facilitar as contribuições e os intercâmbios dos usuários.

Usando a Ajuda

Processo de instalação

O LMCache é fácil de instalar e é compatível com plataformas Linux e ambientes de GPU NVIDIA. Abaixo estão as etapas detalhadas de instalação, com base na documentação oficial e nas recomendações da comunidade.

  1. Preparação do ambiente::
    • Certifique-se de que seu sistema seja Linux, Python versão 3.10 ou superior e CUDA versão 12.1 ou superior.
    • Instale o Conda (recomenda-se o Miniconda) para criar um ambiente virtual:
      conda create -n lmcache python=3.10
      conda activate lmcache
      
  2. armazém de clones::
    • Use o Git para clonar o repositório do LMCache localmente:
      git clone https://github.com/LMCache/LMCache.git
      cd LMCache
      
  3. Instalação do LMCache::
    • Instale a versão estável mais recente via PyPI:
      pip install lmcache
      
    • Ou instale a versão de pré-lançamento mais recente (que pode conter recursos experimentais):
      pip install --index-url https://pypi.org/simple --extra-index-url https://test.pypi.org/simple lmcache==0.2.2.dev57
      
    • Se você precisar instalar a partir da fonte:
      pip install -e .
      
  4. Instalação do vLLM::
    • O LMCache precisa ser usado com o vLLM, instale a versão mais recente do vLLM:
      pip install vllm
      
  5. Verificar a instalação::
    • Verifique se o LMCache está instalado corretamente:
      python
      import lmcache
      from importlib.metadata import version
      print(version("lmcache"))
      

      O resultado deve ser o número da versão da instalação, por exemplo 0.2.2.dev57.

  6. Opcional: implantação do Docker::
    • O LMCache fornece imagens Docker pré-criadas com integração vLLM:
      docker pull lmcache/lmcache:latest
      
    • Execute o contêiner do Docker e configure o vLLM e o LMCache de acordo com a documentação.

Uso das funções principais

A função principal do LMCache é otimizar o cache de valores-chave para acelerar a inferência LLM. A seguir, um guia detalhado de como fazer para os principais recursos.

1. reutilização do cache de valores-chave

O LMCache evita a computação repetida do mesmo texto ou contexto, armazenando o Key Value Cache (KV Cache) do modelo. Os usuários podem ativar o LMCache no vLLM:

  • Configuração de variáveis de ambiente::
    export LMCACHE_USE_EXPERIMENTAL=True
    export LMCACHE_CHUNK_SIZE=256
    export LMCACHE_LOCAL_CPU=True
    export LMCACHE_MAX_LOCAL_CPU_SIZE=5.0
    

    Essas variáveis definem o LMCache para usar o recurso experimental, 256 tokens por bloco, ativar o backend da CPU e limitar a memória da CPU a 5 GB.

  • Execução de uma instância vLLM::
    O LMCache carrega e armazena automaticamente em cache os pares de valores-chave quando você inicia o vLLM. Código de amostra:

    from vllm import LLM
    from lmcache.integration.vllm.utils import ENGINE_NAME
    from vllm.config import KVTransferConfig
    ktc = KVTransferConfig(kv_connector="LMCacheConnector", kv_role="kv_both")
    llm = LLM(model="meta-llama/Meta-Llama-3.1-8B-Instruct", kv_transfer_config=ktc)
    

2. back-end com vários armazenamentos

O LMCache suporta o armazenamento de cache de valor-chave na GPU, CPU, disco ou Redis. Os usuários podem escolher o método de armazenamento de acordo com os recursos de hardware:

  • Armazenamento em disco local::
    python3 -m lmcache_server.server localhost 9000 /path/to/disk
    

    Isso iniciará o servidor LMCache, armazenando o cache no caminho de disco especificado.

  • Armazenamento Redis::
    Para configurar o backend do Redis, é necessário definir um nome de usuário e uma senha, consulte a documentação:

    export LMCACHE_REDIS_USERNAME=user
    export LMCACHE_REDIS_PASSWORD=pass
    

3. cache distribuído

Em ambientes com várias GPUs ou contêineres, o LMCache oferece suporte ao armazenamento em cache compartilhado entre os nós:

  • Inicie o servidor LMCache:
    python3 -m lmcache_server.server localhost 9000 cpu
    
  • Configure a instância do vLLM para se conectar ao servidor, consulte disagg_vllm_launcher.sh Exemplo.

4. suporte multimodal

O LMCache oferece suporte a um modelo multimodal para otimizar a inferência LLM visual, armazenando em cache pares de valores-chave por meio de tokens de imagem com hash (mm_hashes):

  • Para ativar o suporte multimodal no vLLM, consulte o exemplo oficial LMCache-Examples Armazém.

5. ferramentas de teste

O LMCache fornece ferramentas de teste para gerar cargas de trabalho para verificar o desempenho:

  • Armazém de teste clone:
    git clone https://github.com/LMCache/lmcache-tests.git
    cd lmcache-tests
    bash prepare_environment.sh
    
  • Execute os casos de teste:
    python3 main.py tests/tests.py -f test_lmcache_local_cpu -o outputs/
    

    A saída é salva no arquivo outputs/test_lmcache_local_cpu.csv.

Precauções de manuseio

  • Inspeções ambientaisPara garantir que as versões do CUDA e do Python sejam compatíveis, é recomendável usar o ambiente de gerenciamento do Conda.
  • Monitoramento de registros: Inspeção prefiller.logedecoder.log responder cantando proxy.log para depurar o problema.
  • Suporte à comunidadeEntre no Slack do LMCache ou participe de uma reunião quinzenal da comunidade às terças-feiras, às 9h (horário de Brasília), para obter ajuda.

cenário do aplicativo

  1. Sistema multicast de perguntas e respostas
    O LMCache armazena em cache os pares de valores-chave no contexto para acelerar os cenários de diálogo em várias rodadas. Quando um usuário faz perguntas sucessivas no chatbot, o LMCache reutiliza os resultados de computação anteriores para reduzir a latência.
  2. Geração de aumento de recuperação (RAG)
    existir RAG No aplicativo, o LMCache armazena em cache pares de valores-chave de documentos e responde rapidamente a consultas semelhantes, o que o torna adequado para pesquisa inteligente de documentos ou bases de conhecimento empresarial.
  3. Inferência de modelo multimodal
    Para modelos visual-linguísticos, o LMCache armazena em cache pares de valores-chave de imagens e texto, reduzindo o espaço de memória da GPU e melhorando o tempo de resposta.
  4. Implementação massivamente distribuída
    Em ambientes com várias GPUs ou contêineres, os recursos de cache distribuído do LMCache oferecem suporte ao compartilhamento entre nós para otimizar a inferência de IA de nível empresarial.

QA

  1. Quais plataformas são compatíveis com o LMCache?
    Atualmente, há suporte para os ambientes Linux e NVIDIA GPU, e o Windows pode ser usado via WSL.
  2. Como ele se integra ao vLLM?
    aprovar (um projeto de lei ou inspeção etc.) pip install lmcache vllme ativar o LMCacheConnector na configuração do vLLM, consulte o código de amostra oficial.
  3. Há suporte para o cache sem prefixo?
    o LMCache usa técnicas de recomputação parcial para armazenar em cache o texto não prefixado em cargas de trabalho RAG.
  4. Como depurar problemas de desempenho?
    Examine os arquivos de registro e execute casos de teste, produza arquivos CSV para analisar a latência e a taxa de transferência.
0Marcado
0Recomendado

Recomendado

Não consegue encontrar ferramentas de IA? Tente aqui!

Basta digitar a palavra-chave Acessibilidade Bing SearchA seção Ferramentas de IA deste site é uma maneira rápida e fácil de encontrar todas as ferramentas de IA deste site.

voltar ao topo

pt_BRPortuguês do Brasil