Erfahren Sie, wie PagedAttention die Speicherverwaltung von LLMs und die Effizienz des KV-Caches optimiert. Entdecken Sie die Auswirkungen auf den Durchsatz und vergleichen Sie die Leistung mit der Ultralytics .
PagedAttention ist ein hocheffizienter Speicherverwaltungsalgorithmus, der darauf ausgelegt ist, die Inferenzgeschwindigkeit und den Durchsatz von großen Sprachmodellen (LLMs) zu optimieren. Inspiriert von den Konzepten des virtuellen Speichers und der Auslagerung in herkömmlichen Betriebssystemen, behebt diese Technik den enormen Speicherverbrauch, der mit dem Schlüssel-Wert-Cache (oft als KV-Cache bezeichnet) während der Textgenerierung verbunden ist. Indem die für den Cache erforderlichen zusammenhängenden Speicherblöcke in kleinere, nicht zusammenhängende „Seiten“ aufgeteilt werden, beseitigt PagedAttention effektiv sowohl interne als auch externe Speicherfragmentierung. Dadurch können KI-Server deutlich mehr Anfragen gleichzeitig stapelweise verarbeiten und so GPU maximieren.
Obwohl beide Techniken die Leistung neuronaler Netze optimieren, zielen sie auf unterschiedliche Engpässe ab. Flash Attention ist eine Optimierung auf Rechenebene, die den Aufmerksamkeitsmechanismus selbst beschleunigt, indem sie langsame Speicherlese- und -schreibvorgänge über die gesamte GPU hinweg minimiert. Im Gegensatz dazu ist PagedAttention eine Strategie zur Speicherzuweisung. Sie konzentriert sich ausschließlich darauf, wie der Speicher für das Kontextfenster strukturiert und gespeichert wird, und ermöglicht so eine dynamische Skalierung, ohne große, verschwenderische Speicherblöcke vorab zuzuweisen.
Die durch PagedAttention ermöglichte Speichereffizienz hat die Art und Weise, wie groß angelegte generative Modelle in der Produktion eingesetzt werden, grundlegend verändert.
Während PagedAttention in erster Linie in der Verarbeitung natürlicher Sprache zum Einsatz kommt, ist das zugrunde liegende Prinzip der strikten Speicheroptimierung ebenso entscheidend für die Bildverarbeitung (CV). Bei der Bereitstellung von Modellen auf hardwarebeschränkten Edge-Geräten ist es unerlässlich, einen übermäßigen Speicherverbrauch zu vermeiden. Ultralytics erreicht nativ eine effiziente Echtzeit-Inferenz, indem es durch den Einsatz einer durchgängigen, NMS Architektur die Notwendigkeit eines aufwendigen Cache-Managements umgeht.
Für Entwickler, die die Speicher- und Exportanforderungen von Objekterkennungs-Pipelines nahtlos bewältigen möchten, bietet die Ultralytics automatisierte Bereitstellungstools, die Modelle für eine optimale Ausführung auf der Hardware aufbereiten.
PagedAttention arbeitet im Hintergrund von Serving-Frameworks und ersetzt Standard-Attention-Funktionen durch optimierte Cuda . Nachfolgend finden Sie ein konzeptionelles Beispiel, das veranschaulicht, wie man Standard-Attention in PyTorchdefinieren könnte, die Systeme wie vLLM automatisch abfangen und während der Modellbereitstellung mithilfe von Paging optimieren.
import torch
import torch.nn.functional as F
# Simulated Key, Query, and Value tensors for a standard attention block
batch_size, num_heads, sequence_length, head_dim = 1, 8, 1024, 64
query = torch.randn(batch_size, num_heads, sequence_length, head_dim)
key = torch.randn(batch_size, num_heads, sequence_length, head_dim)
value = torch.randn(batch_size, num_heads, sequence_length, head_dim)
# Standard attention computation (often replaced by PagedAttention kernels in production LLM servers)
attention_output = F.scaled_dot_product_attention(query, key, value)
print(f"Computed attention shape: {attention_output.shape}")
Durch den Einsatz fortschrittlicher Strategien zur Speicherzuweisung erweitert die KI-Branche kontinuierlich die Grenzen des Möglichen und sorgt dafür, dass riesige Grundmodelle weltweit effizient skaliert und genutzt werden können.
Beginnen Sie Ihre Reise mit der Zukunft des maschinellen Lernens