Home
Login

Eine auf Sparsität ausgelegte Deep-Learning-Inferenz-Runtime, die speziell für CPUs entwickelt wurde.

NOASSERTIONPython 3.2kneuralmagicdeepsparse Last Updated: 2025-06-02

DeepSparse - Eine für CPUs entwickelte, sparsamkeitsbewusste Deep-Learning-Inferenz-Engine

Projektübersicht

DeepSparse ist eine revolutionäre CPU-Inferenz-Runtime, die von Neural Magic entwickelt wurde und speziell darauf ausgelegt ist, die Sparsamkeit von neuronalen Netzen zu nutzen, um den Inferenzprozess von Deep-Learning-Modellen zu beschleunigen. Das Projekt kombiniert die SparseML-Optimierungsbibliothek und erzielt so eine herausragende Inferenzleistung auf CPU-Hardware.

Wichtige Aktualisierung: Im Januar 2025 wurde Neural Magic von Red Hat übernommen. Die DeepSparse-Community-Version wird ab dem 2. Juni 2025 nicht mehr gewartet und eingestellt. Das Team wird auf kommerzielle und Open-Source-Lösungen auf Basis von vLLM umsteigen.

Kernfunktionen

1. Sparsamkeitsoptimierung

  • Unterstützung für Sparse-Kernel: Beschleunigung und Speicherersparnis durch unstrukturierte, spärliche Gewichte
  • 8-Bit-Quantisierung: Unterstützung der 8-Bit-Quantisierung von Gewichten und Aktivierungen
  • Cache-Optimierung: Effiziente Nutzung von Cache-basierten Aufmerksamkeits-Schlüssel-Wert-Paaren zur Minimierung von Speicherbewegungen

2. Unterstützung großer Sprachmodelle (LLM)

DeepSparse bietet anfängliche Unterstützung für die Inferenz großer Sprachmodelle, einschließlich:

  • Sparse-Feinabstimmungstechniken für MPT-7B-Modelle
  • 7-fache Beschleunigung gegenüber dichten Baselines (Sparse-Quantized-Modelle)
  • Unterstützung von Modellen mit bis zu 60 % Sparsamkeit ohne Genauigkeitsverlust

3. Breite Modellunterstützung

  • Computer Vision: ResNet, EfficientNet, YOLOv5/8, ViT usw.
  • Natural Language Processing: BERT, Transformer-Varianten usw.
  • Multimodale Modelle: Unterstützung verschiedener CNN- und Transformer-Architekturen

Systemanforderungen

Hardware-Unterstützung

  • x86-Architektur: AVX2, AVX-512, AVX-512 VNNI
  • ARM-Architektur: v8.2+

Software-Umgebung

  • Betriebssystem: Linux
  • Python-Version: 3.8-3.11
  • ONNX-Unterstützung: Version 1.5.0-1.15.0, Operationssatz Version 11 oder höher

Hinweis: Mac- und Windows-Benutzern wird die Verwendung von Docker Linux-Containern empfohlen

Installationsmethoden

Stabile Version

pip install deepsparse

Nightly Build (enthält die neuesten Funktionen)

pip install deepsparse-nightly

LLM-Unterstützungsversion

pip install -U deepsparse-nightly[llm]

Installation aus dem Quellcode

pip install -e path/to/deepsparse

Drei Bereitstellungs-APIs

1. Engine API (Low-Level-API)

Die niedrigste API-Ebene, die ONNX-Modelle direkt kompiliert und Tensor-Ein- und Ausgaben verarbeitet.

from deepsparse import Engine

# Modell herunterladen und kompilieren
zoo_stub = "zoo:nlp/sentiment_analysis/obert-base/pytorch/huggingface/sst2/pruned90_quant-none"
compiled_model = Engine(model=zoo_stub, batch_size=1)

# Inferenz ausführen
inputs = compiled_model.generate_random_inputs()
output = compiled_model(inputs)

2. Pipeline API (Mid-Level-API)

Verpackt die Engine und fügt Vor- und Nachverarbeitungsfunktionen hinzu, um Rohdaten direkt zu verarbeiten.

from deepsparse import Pipeline

# Pipeline einrichten
sentiment_analysis_pipeline = Pipeline.create(
    task="sentiment-analysis",
    model_path="zoo:nlp/sentiment_analysis/obert-base/pytorch/huggingface/sst2/pruned90_quant-none"
)

# Inferenz ausführen
prediction = sentiment_analysis_pipeline("I love using DeepSparse Pipelines")
print(prediction)
# Ausgabe: labels=['positive'] scores=[0.9954759478569031]

3. Server API (High-Level-API)

Verpackt die Pipeline basierend auf FastAPI und bietet einen REST-API-Dienst.

# Server starten
deepsparse.server \
    --task sentiment-analysis \
    --model_path zoo:nlp/sentiment_analysis/obert-base/pytorch/huggingface/sst2/pruned90_quant-none
# Anfrage senden
import requests

url = "http://localhost:5543/v2/models/sentiment_analysis/infer"
obj = {"sequences": "Snorlax loves my Tesla!"}
response = requests.post(url, json=obj)
print(response.text)
# Ausgabe: {"labels":["positive"],"scores":[0.9965094327926636]}

Beispiel für große Sprachmodelle

from deepsparse import TextGeneration

pipeline = TextGeneration(model="zoo:mpt-7b-dolly_mpt_pretrain-pruned50_quantized")
prompt = """
Below is an instruction that describes a task. Write a response that appropriately completes the request.
### Instruction: what is sparsity?
### Response:
"""

result = pipeline(prompt, max_new_tokens=75)
print(result.generations[0].text)

Technische Vorteile

1. Sparse-Feinabstimmungstechnik

  • Innovative Technologie, die in Zusammenarbeit mit IST Austria entwickelt wurde
  • Beschneidung von MPT-7B auf 60 % Sparsamkeit während der Feinabstimmung
  • Deutliche Beschleunigung ohne Genauigkeitsverlust

2. Leistungsoptimierung

  • Inferenzleistung auf GPU-Niveau auf der CPU
  • Deutliche Reduzierung der Speichernutzung
  • Unterstützung hochoptimierter Sparse-Quantized-Modelle

3. Ökosystemintegration

  • Nahtlose Integration mit der SparseML-Optimierungsbibliothek
  • SparseZoo-Modellbibliothek bietet voroptimierte Modelle
  • Unterstützung verschiedener Bereitstellungsszenarien

Anwendungsfälle

  • Edge Computing: Bereitstellung von Hochleistungs-KI-Modellen in ressourcenbeschränkten Umgebungen
  • Cloud-Inferenz: Reduzierung der Cloud-Computing-Kosten, Steigerung der Inferenzeffizienz
  • Echtzeitanwendungen: Echtzeit-KI-Anwendungen, die eine geringe Latenz erfordern
  • Großflächige Bereitstellung: Produktionsumgebungen, die eine hohe Anzahl gleichzeitiger Inferenzanfragen verarbeiten müssen

Datenschutz und Analyse

DeepSparse sammelt grundlegende Nutzungs-Telemetriedaten zur Analyse der Produktnutzung. Benutzer können dies durch Setzen einer Umgebungsvariablen deaktivieren:

export NM_DISABLE_ANALYTICS=True

Akademische Zitate

Das Projekt basiert auf mehreren wichtigen wissenschaftlichen Arbeiten, darunter:

  • Sparse Fine-Tuning for Inference Acceleration of Large Language Models (2023)
  • The Optimal BERT Surgeon: Scalable and Accurate Second-Order Pruning (2022)
  • Inducing and Exploiting Activation Sparsity for Fast Inference (ICML 2020)

Zusammenfassung

DeepSparse stellt einen bedeutenden Durchbruch im Bereich der CPU-Inferenzoptimierung dar. Durch innovative Techniken zur Nutzung von Sparsamkeit wird eine beispiellose Deep-Learning-Inferenzleistung auf gewöhnlicher CPU-Hardware erzielt. Obwohl die Community-Version bald eingestellt wird, werden ihre technischen Innovationen und Konzepte mit Unterstützung von Red Hat weiterentwickelt und einen größeren Beitrag zum Bereich der KI-Inferenzoptimierung leisten.

Star History Chart