Aprendizagem pessoal com IA
e orientação prática
豆包Marscode1

LightLLM: uma estrutura leve e eficiente para raciocinar e atender a grandes modelos de linguagem

Introdução geral

LightLLM O lightLLM é uma estrutura de serviço e inferência do Large Language Model (LLM) baseada em Python, conhecida por seu design leve, facilidade de dimensionamento e desempenho eficiente. A estrutura aproveita uma variedade de implementações de código aberto bem conhecidas, incluindo FasterTransformer, TGI, vLLM e FlashAttention, entre outras. O lightLLM melhora drasticamente a utilização da GPU e a velocidade de inferência por meio de técnicas como colaboração assíncrona, lotes dinâmicos e paralelismo de tensor para uma ampla variedade de modelos e cenários de aplicativos.

LightLLM:高效的轻量级大语言模型推理和服务框架-1


 

Lista de funções

  • Colaboração assíncrona: oferece suporte à divisão assíncrona de palavras, inferência de modelos e operações de divisão para melhorar a utilização da GPU.
  • Atenção sem preenchimento: suporta operações de atenção sem preenchimento para vários modelos e lida com solicitações com grandes diferenças de comprimento.
  • Processamento dinâmico em lote: oferece suporte ao agendamento dinâmico de solicitações em lote.
  • FlashAttention: aumente a velocidade e reduza o espaço de memória da GPU com o FlashAttention.
  • Paralelismo de tensor: acelere a inferência em várias GPUs usando o paralelismo de tensor.
  • Token Atenção: mecanismo de gerenciamento de memória baseado em tokens implementado para o cache KV com desperdício zero de memória.
  • Roteadores de alto desempenho: trabalhando com Token Attention para otimizar o rendimento do sistema.
  • Cache Int8KV: aumenta a capacidade do token, quase dobrando-a.
  • Suporte a vários modelos: incluindo BLOOM, LLaMA, StarCoder, ChatGLM2, etc.

 

Usando a Ajuda

Processo de instalação

  1. Instale o LightLLM usando o Docker:
   docker pull modeltc/lightllm
docker run -it --rm modeltc/lightllm
  1. Instale a dependência:
   pip install -r requirements.txt

Uso

  1. Inicie o serviço LightLLM:
   python -m lightllm.server
  1. Modelo de consulta (exemplo de console):
   python -m lightllm.client --model llama --text "你好,世界!"
  1. Modelo de consulta (exemplo em Python):
   from lightllm import Client
client = Client(model="llama")
response = client.query("你好,世界!")
print(response)

Funções principais

  1. colaboração assíncronaLightLLM: o LightLLM melhora significativamente a utilização da GPU executando de forma assíncrona as operações de segmentação, inferência de modelos e remoção de segmentação. Os usuários simplesmente iniciam o serviço e o sistema lida com essas operações automaticamente.
  2. atenção não preenchidaQuando se processam solicitações com grandes diferenças de comprimento, o LightLLM oferece suporte a operações de atenção sem preenchimento para garantir um processamento eficiente. Não é necessária nenhuma configuração adicional por parte do usuário e o sistema é otimizado automaticamente.
  3. Processamento dinâmico de lotesLightLLM suporta agendamento dinâmico de lotes, os usuários podem definir os parâmetros de lote por meio do arquivo de configuração, o sistema ajustará dinamicamente a política de lote de acordo com a solicitação.
  4. FlashAttentionFuncionalidade de inferência: Ao integrar a tecnologia FlashAttention, o LightLLM melhora a velocidade de inferência e reduz o espaço de memória da GPU. Os usuários podem ativar esse recurso no arquivo de configuração.
  5. paralelismo de tensoresOs usuários podem definir o número de GPUs e os parâmetros de paralelismo por meio de um arquivo de configuração, e o sistema atribuirá tarefas automaticamente.
  6. Token de atençãoLightLLM: O LightLLM implementa um mecanismo de gerenciamento de memória baseado em tokens para o cache KV, garantindo desperdício zero de memória. Não há necessidade de configuração adicional do usuário, o sistema gerencia a memória automaticamente.
  7. Roteador de alto desempenhoRoteadores de alto desempenho da LightLLM: Os roteadores de alto desempenho da LightLLM trabalham com o Token Attention para otimizar a taxa de transferência do sistema. Os usuários podem definir os parâmetros de roteamento no arquivo de configuração e o sistema otimizará automaticamente a política de roteamento.
  8. Cache Int8KVLightLLM: O LightLLM oferece suporte ao cache Int8KV para aumentar a capacidade do token, quase o dobro. Os usuários podem ativar esse recurso no arquivo de configuração, e o sistema ajustará automaticamente a estratégia de cache.

Modelos suportados

O LightLLM é compatível com uma variedade de modelos, incluindo, entre outros, os seguintes:

  • BLOOM
  • LLaMA
  • Codificador estelar
  • ChatGLM2
  • InternLM
  • Qwen-VL
  • Llava
  • Estável
  • MiniCPM
  • Phi-3
  • CohereForAI
  • DeepSeek-V2

Os usuários podem selecionar o modelo apropriado de acordo com suas necessidades e defini-lo adequadamente no arquivo de configuração.

Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " LightLLM: uma estrutura leve e eficiente para raciocinar e atender a grandes modelos de linguagem
pt_BRPortuguês do Brasil