Heim  >  Artikel  >  Technologie-Peripheriegeräte  >  Eine einzelne A100-Karte kann Millionen von Token-Inferenzen erreichen, was zehnmal schneller ist. Dies ist die offizielle Inferenzbeschleunigung für große Modelle von Microsoft.

Eine einzelne A100-Karte kann Millionen von Token-Inferenzen erreichen, was zehnmal schneller ist. Dies ist die offizielle Inferenzbeschleunigung für große Modelle von Microsoft.

WBOY
WBOYOriginal
2024-07-12 17:14:05692Durchsuche

Diese Microsoft-Studie ermöglicht es Entwicklern, über 1 Million Eingabetexte auf einem einzigen Kartengerät 10-mal schneller zu verarbeiten.


Das Large Language Model (LLM) ist in die Ära der langen Kontextverarbeitung eingetreten, und das von ihm unterstützte Kontextfenster ist von zuvor 128.000 auf die 10-Millionen-Token-Ebene gestiegen.

Aufgrund der quadratischen Komplexität des Aufmerksamkeitsmechanismus kann es jedoch mehrere Minuten dauern, bis das Modell die Eingabeaufforderung (d. h. die Vorbelegungsphase) verarbeitet und mit der Generierung des ersten Tokens beginnt. Dadurch dauert die Generierung des ersten Tokens zu lange, was die Benutzererfahrung stark beeinträchtigt und auch die weit verbreitete Anwendung von Long-Context-LLM stark einschränkt.

Zum Beispiel (wie in Abbildung 2a gezeigt): Wenn LLaMA-3-8B auf einer einzelnen Maschine mit A100 serviert wird und angezeigt wird, dass 300.000 Token vorhanden sind, benötigt das Modell 6 Minuten, um die Voreinstellung abzuschließen. Wenn während der Vorabfüllphase die Eingabeaufforderung auf 1 Million Token ansteigt, erhöht sich diese Zahl auf 30 Minuten.
Eine einzelne A100-Karte kann Millionen von Token-Inferenzen erreichen, was zehnmal schneller ist. Dies ist die offizielle Inferenzbeschleunigung für große Modelle von Microsoft.
Der Overhead der Selbstaufmerksamkeitsberechnung macht mehr als 90 % der gesamten Prefill-Verzögerung aus und stellt damit den größten Engpass dar, wenn LLM lange Kontexte verarbeitet. Bestehende beschleunigte Vorbelegungsmethoden bieten bei der Anwendung auf LLMs mit langem Kontext häufig keine akzeptable Genauigkeit oder Effizienz.

Um die oben genannten Probleme zu lösen, haben Forscher von Microsoft und der University of Surrey eine spärliche Berechnungsmethode vorgeschlagen, die das Vorabfüllen bei der Verarbeitung langer Sequenzen beschleunigen soll: MInference (Milliontokens Inference).
Eine einzelne A100-Karte kann Millionen von Token-Inferenzen erreichen, was zehnmal schneller ist. Dies ist die offizielle Inferenzbeschleunigung für große Modelle von Microsoft.
  • Papieradresse: https://arxiv.org/pdf/2407.02490
  • Papierhomepage: https://hqjiang.com/minference.html
  • Papiertitel: MInference 1.0: Accelerating Vorabbefüllung für Long-Context-LLMs über Dynamic Sparse Attention

MInference kann direkt auf vorhandene LLMs angewendet werden, ohne dass Änderungen an den Einstellungen vor dem Training oder zusätzliche Feinabstimmung erforderlich sind.

Durch das Testen verschiedener Downstream-Aufgaben (einschließlich InfiniteBench, RULER, PG-19 und Needle In A Haystack) und Modelle (einschließlich LLaMA-3-1M, Yi-200K, GLM-4-1M, Phi-3-128K). und Qwen2-128K) zeigen Experimente, dass MInference die vorab ausgefüllte Inferenzlatenz auf dem A100 effektiv um das bis zu Zehnfache reduzieren kann, während die Genauigkeit erhalten bleibt.
Eine einzelne A100-Karte kann Millionen von Token-Inferenzen erreichen, was zehnmal schneller ist. Dies ist die offizielle Inferenzbeschleunigung für große Modelle von Microsoft.

Eine einzelne A100-Karte kann Millionen von Token-Inferenzen erreichen, was zehnmal schneller ist. Dies ist die offizielle Inferenzbeschleunigung für große Modelle von Microsoft.

Unter Verwendung von Minference 1.0 erzielt Long Context LLM (wie LAMA-3-8B-1M, GLM-4-1M) eine 10-fache Verbesserung der Inferenzgeschwindigkeit bei einem einzigen A100 und ist genauer.

Einführung in die Methode

Die Autoren schlugen MInference vor, ein Name, der ihren Ehrgeiz widerspiegelt, eine Millionen-Token-Inferenz auf einer A100-Maschine zu erreichen.

MInference ist eine trainingsfreie und effiziente Methode für die Vorpopulationsphase von LLM mit langem Kontext, die auf dynamischer, spärlicher Aufmerksamkeit basiert.

Forscher glauben, dass die Aufmerksamkeit, insbesondere in langen Kontexten, spärlich und dynamisch ist, d. h. bei verschiedenen Eingaben ist das spärliche Muster sehr unterschiedlich. Diese dynamische Sparsity weist drei einzigartige räumliche Aggregationsmuster auf, die für alle Eingaben gelten: A-Form, Vertical-Slash und Block-Sparse.
Eine einzelne A100-Karte kann Millionen von Token-Inferenzen erreichen, was zehnmal schneller ist. Dies ist die offizielle Inferenzbeschleunigung für große Modelle von Microsoft.
MInference ermittelt zunächst offline das beste dynamische Sparse-Muster für jeden Kopf mithilfe eines Kernel-bewussten Sparse-Muster-Suchalgorithmus, wie in Algorithmus 1 gezeigt. Während der Inferenz wird der dynamische Sparsity-Index basierend auf dem Muster des Kopfes dynamisch angenähert, wie in den Algorithmen 2 und 3 gezeigt. Schließlich verwenden die Autoren optimierte GPU-Kernel, um eine effiziente dynamische Berechnung mit geringer Aufmerksamkeit durchzuführen, wodurch die Latenzzeit vor der Populationsphase von LLM mit langem Kontext erheblich reduziert wird.
Eine einzelne A100-Karte kann Millionen von Token-Inferenzen erreichen, was zehnmal schneller ist. Dies ist die offizielle Inferenzbeschleunigung für große Modelle von Microsoft.
Für den Modus „vertikale – diagonale Linie“ verwendet der Autor beispielsweise zunächst die Aufmerksamkeitsberechnung zwischen dem letzten Q und K, um den besten Index der vertikalen Linie und der diagonalen Linie abzuschätzen. Anschließend nutzten sie die dynamischen Sparse-Compiler PIT und Triton, um einen FlashAttention-Kernel mit vertikalem Schrägstrich zu erstellen, der die Aufmerksamkeitsberechnung beschleunigt. Für die A-förmigen, vertikal geneigten und blocksparsen Muster verwenden die Autoren zunächst die mittlere Zusammenfassung von Q und K in der Aufmerksamkeitsberechnung. Mithilfe von Mean Pooling und der Austauscheigenschaft von MatMul kann der Blocky-Sparse-Index geschätzt werden. Anschließend verwendeten sie den Triton-Baustein-Sparse-FlashAttention-Kernel, um die Aufmerksamkeitsberechnung zu beschleunigen. Eine detaillierte Implementierung des Kernels finden Sie in Anhang C.4 und Code.

Bewertungsergebnisse für lange Kontext-Benchmarks

Die Autoren testeten MInference in einer Reihe von Szenarien, darunter Qualitätssicherung, Codierung, abrufbasierte Aufgaben, Multi-Hop-Qualitätssicherung, Zusammenfassung und mathematische Aufgaben. Der RULER-Benchmark umfasst mehrere komplexe Multi-Hop- oder Multi-Needle-Aufgaben, die effektiv die tatsächliche Kontextfenstergröße von LLM widerspiegeln. Wie in Tabelle 1 gezeigt, behält MInference effektiv die tatsächlichen Kontextfenster-Handhabungsfunktionen von LLM bei und erweitert die tatsächliche Kontextfenstergröße sogar geringfügig auf 32 KB.
Eine einzelne A100-Karte kann Millionen von Token-Inferenzen erreichen, was zehnmal schneller ist. Dies ist die offizielle Inferenzbeschleunigung für große Modelle von Microsoft.
Die Autoren testeten MInference auch für ein breiteres Aufgabenspektrum mit InfiniteBench mit einer durchschnittlichen Tokenlänge von 214 KB, wie in Tabelle 2 gezeigt. Im Vergleich zur SoTA-Basislinie behält MInference bei allen Aufgaben eine konstant gute Leistung bei. Bemerkenswert ist, dass bei anspruchsvolleren Abrufaufgaben wie der KV-Abrufaufgabe bei allen Basislinien keine genauen Vorhersagen möglich waren, mit einer Genauigkeit von weniger als 1,2 %. MInference behält jedoch erfolgreich die Fähigkeit bei, den dynamischen KV-Paarabruf zu verarbeiten.
Eine einzelne A100-Karte kann Millionen von Token-Inferenzen erreichen, was zehnmal schneller ist. Dies ist die offizielle Inferenzbeschleunigung für große Modelle von Microsoft.
Um die Leistung unterschiedlicher Kontextlängen und unterschiedlicher Positionen von Schlüsselinformationen in der Eingabeaufforderung weiter zu bewerten, testeten die Autoren verschiedene Modelle und Methoden anhand der „Nadel im Heuhaufen“-Aufgabe. Wie in Abbildung 1 dargestellt, funktioniert MInference unter verschiedenen Modellen, Kontextfenstern und Cue-Informationsspeicherorten gut und seine Leistung bleibt im Vergleich zum Originalmodell gleich oder sogar leicht verbessert. Im Fall von LLaMA-3-8B und GLM-4-9B-1M erreicht MInference eine völlig umweltfreundliche Leistung in Kontextfenstern bis zu 1M. Im Gegensatz dazu sinkt die Leistung von StreamingLLM und InfLLM in der Mitte der Eingabeaufforderung selbst in einem 70-KByte-Kontextfenster unter 20 %.
Eine einzelne A100-Karte kann Millionen von Token-Inferenzen erreichen, was zehnmal schneller ist. Dies ist die offizielle Inferenzbeschleunigung für große Modelle von Microsoft.
Die Autoren testeten MInference auch an einer Sprachmodellaufgabe mit PG-19, die bis zu 100.000 Token umfasste.Wie in Abbildung 2 dargestellt, behält MInference die Perplexität von LLaMA-3-8B und Yi-9B-200K effektiv bei, während alle Basislinien unterschiedliche Grade der Perplexitätsverschlechterung aufweisen. Darüber hinaus sorgt StreamingLLM mit Dilatations- und Schrittkonfigurationen im Vergleich zu Standard-StreamingLLM für eine bessere Perplexitätsleistung.
Eine einzelne A100-Karte kann Millionen von Token-Inferenzen erreichen, was zehnmal schneller ist. Dies ist die offizielle Inferenzbeschleunigung für große Modelle von Microsoft.
Latenz und Sparse-Modus im Kernel

Abbildung 3 zeigt die drei in diesem Artikel vorgeschlagenen Aufmerksamkeitsmodi und die Mikro-Benchmark-Ergebnisse von FlashAttention. Es ist ersichtlich, dass Vertical-Slash der langsamste der drei Modi ist, aber unter einem 1M-Kontextfenster immer noch eine 13-fache Beschleunigung im Vergleich zu FlashAttention erreicht.
Eine einzelne A100-Karte kann Millionen von Token-Inferenzen erreichen, was zehnmal schneller ist. Dies ist die offizielle Inferenzbeschleunigung für große Modelle von Microsoft.
Abbildung 4 zeigt den Sparse-Index im Vertical-Slash-Header-Kernel. Vertikale Linien werden mithilfe von 1x64-Blöcken über PIT FlashAttention berechnet, während diagonale Linien mithilfe von 64x64-Blöcken über FlashAttention auf Blockebene berechnet werden.
Eine einzelne A100-Karte kann Millionen von Token-Inferenzen erreichen, was zehnmal schneller ist. Dies ist die offizielle Inferenzbeschleunigung für große Modelle von Microsoft.
Referenzlink: https://hqjiang.com/minference.html

Das obige ist der detaillierte Inhalt vonEine einzelne A100-Karte kann Millionen von Token-Inferenzen erreichen, was zehnmal schneller ist. Dies ist die offizielle Inferenzbeschleunigung für große Modelle von Microsoft.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn