InternLM/lmdeploy

LMDeploy is a toolkit for compressing, deploying, and serving LLMs.

What it solves

LMDeploy is a toolkit designed to simplify and accelerate the process of compressing, deploying, and serving Large Language Models (LLMs) and Vision Language Models (VLMs). It addresses the challenge of high computational costs and latency in LLM inference by providing high-performance engines and quantization techniques.

How it works

The project provides two distinct inference engines:

  • TurboMind: Focused on ultimate performance optimization, utilizing features like persistent batching (continuous batching), blocked KV cache, tensor parallelism, and high-performance CUDA kernels.
  • PyTorch Engine: A Python-based engine designed to lower the barrier for developers and allow for rapid experimentation with new features.

It also incorporates quantization methods (such as AWQ and KV cache quantization) to reduce model size and the memory footprint, and a request distribution service to manage multi-model deployments across multiple machines and GPUs.

Who it’s for

  • ML Engineers and DevOps: Those looking to deploy LLMs/VLMs in production environments with high throughput and low latency.
  • AI Researchers: Developers who need a flexible engine for rapid experimentation with new model architectures.
  • Enterprise Users: Organizations needing to scale LLM services across multiple GPUs and machines.

Highlights

  • High Throughput: Delivers up to 1.8x higher request throughput than vLLM in certain scenarios.
  • Broad Model Support: Compatible with a vast array of models including Llama, Qwen, InternLM, DeepSeek, Mistral, and Phi.
  • Multimodal Capabilities: Full support for Vision Language Models (VLMs) including InternVL and LLaVA.
  • Effective Quantization: Supports 4-bit weight-only and KV quantization, significantly increasing inference speed compared to FP16.
  • Flexible Deployment: Supports multi-model, multi-machine, and multi-card inference services.

Related

  • Project
  • Project
  • Project
  • Project
  • Project