LMDeploy ist ein Toolkit zur Komprimierung, Bereitstellung und zum Servieren großer Sprachmodelle (LLMs), das von den Teams MMRazor und MMDeploy entwickelt wurde. Das Projekt konzentriert sich auf die Bereitstellung effizienter Inferenz-, Bereitstellungs- und Servicelösungen für große Sprachmodelle (LLMs) und visuell-sprachliche Modelle (VLMs).
Der Anfragedurchsatz von LMDeploy ist 1,8-mal höher als bei vLLM, durch die Einführung von Schlüsselmerkmalen wie Continuous Batching, Chunked KV-Cache, dynamische Segmentierungsfusion, Tensorparallelität und hochleistungsfähige CUDA-Kernel.
LMDeploy unterstützt Gewichtungsquantisierung und k/v-Quantisierung. Die 4-Bit-Inferenzleistung ist 2,4-mal höher als bei FP16. Die Quantisierungsqualität wurde durch OpenCompass-Bewertungen bestätigt.
Durch die Nutzung von Anforderungsverteilungsdiensten ermöglicht LMDeploy die einfache und effiziente Bereitstellung von Multi-Modell-Diensten auf mehreren Maschinen und Karten.
Durch das Cachen der Aufmerksamkeit (k/v) während mehrfacher Dialogrunden merkt sich die Engine den Gesprächsverlauf, wodurch die wiederholte Verarbeitung historischer Sitzungen vermieden wird.
LMDeploy unterstützt die gleichzeitige Verwendung von KV Cache-Quantisierung, AWQ und automatischem Präfix-Caching.
LMDeploy hat zwei Inferenz-Engines entwickelt:
Die beiden Engines unterscheiden sich in den unterstützten Modelltypen und Inferenzdatentypen. Benutzer können je nach Bedarf die passende Engine auswählen.
LMDeploy unterstützt eine breite Palette von Modelltypen:
Es wird empfohlen, die Installation mit pip in einer Conda-Umgebung durchzuführen (unterstützt 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 unterstützt mehrere Modellbibliotheken:
LMDEPLOY_USE_MODELSCOPE=True
LMDEPLOY_USE_OPENMIND_HUB=True
LMDeploy ist tief in mehrere Open-Source-Projekte integriert:
LMDeploy ist ein leistungsstarkes und leistungsstarkes Toolkit zur Bereitstellung großer Sprachmodelle, das für verschiedene Szenarien von Forschungs- und Entwicklungsexperimenten bis hin zur Produktionsbereitstellung geeignet ist. Seine Dual-Engine-Architektur, fortschrittliche Quantisierungstechniken und breite Modellunterstützung machen es zu einem wichtigen Werkzeug für KI-Anwendungsentwickler. Ob Produktionsumgebungen, die höchste Leistung anstreben, oder Forschungsszenarien, die eine schnelle Iteration erfordern, LMDeploy bietet die passende Lösung.