LMDeploy é um kit de ferramentas para compressão, implantação e serviço de grandes modelos de linguagem, desenvolvido pelas equipes MMRazor e MMDeploy. O projeto se concentra em fornecer soluções eficientes de inferência, implantação e serviço para grandes modelos de linguagem (LLM) e modelos de linguagem visual (VLM).
O rendimento de requisições do LMDeploy é 1,8 vezes maior que o vLLM, através da introdução de características chave como processamento em lote persistente (continuous batching), cache KV fragmentado, fusão de divisão dinâmica, paralelismo de tensor, núcleos CUDA de alto desempenho, etc.
LMDeploy suporta quantização de peso e quantização k/v, o desempenho de inferência de 4 bits é 2,4 vezes maior que o FP16, a qualidade da quantização foi confirmada pela avaliação OpenCompass.
Utilizando o serviço de distribuição de requisições, o LMDeploy facilita a implantação eficiente de serviços multi-modelo em várias máquinas e placas.
Ao armazenar em cache o k/v de atenção durante conversas de múltiplas rodadas, o motor lembra o histórico da conversa, evitando assim o processamento repetido de sessões históricas.
LMDeploy suporta o uso simultâneo de quantização KV Cache, AWQ e cache de prefixo automático.
LMDeploy desenvolveu dois motores de inferência:
Os dois motores diferem nos tipos de modelos suportados e nos tipos de dados de inferência, os usuários podem escolher o motor apropriado de acordo com suas necessidades reais.
LMDeploy suporta uma ampla gama de tipos de modelos:
Recomenda-se usar o pip para instalar em um ambiente conda (suporta Python 3.8-3.12):
conda create -n lmdeploy python=3.8 -y
conda activate lmdeploy
pip install lmdeploy
import lmdeploy
with lmdeploy.pipeline("internlm/internlm3-8b-instruct") as pipe:
response = pipe(["Hi, pls intro yourself", "Shanghai is"])
print(response)
from lmdeploy import pipeline
from lmdeploy.vl import load_image
pipe = pipeline('OpenGVLab/InternVL2-8B')
image = load_image('path/to/image.jpg')
response = pipe(('描述这张图片', image))
print(response)
LMDeploy suporta várias bibliotecas de modelos:
LMDEPLOY_USE_MODELSCOPE=True
LMDEPLOY_USE_OPENMIND_HUB=True
LMDeploy está profundamente integrado com vários projetos de código aberto:
LMDeploy é um kit de ferramentas de implantação de grandes modelos de linguagem poderoso e de alto desempenho, adequado para vários cenários, desde experimentos de P&D até implantação em produção. Sua arquitetura de motor duplo, tecnologia de quantização avançada e amplo suporte a modelos o tornam uma ferramenta importante para desenvolvedores de aplicativos de IA. Seja buscando o desempenho máximo em um ambiente de produção ou precisando de iteração rápida em um cenário de P&D, o LMDeploy pode fornecer a solução certa.