Trend-Themen
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Du bist in einem Vorstellungsgespräch als Forschungswissenschaftler bei OpenAI.
Der Interviewer fragt:
"Wie würdest du die Kontextlänge eines LLM von 2K auf 128K Tokens erweitern?"
Du: "Ich werde das Modell mit längeren Dokumenten mit 128K Kontext feinabstimmen."
Interview vorbei.
Hier ist, was du verpasst hast:
Die Erweiterung des Kontextfensters betrifft nicht nur größere Matrizen.
In einem traditionellen Transformer erhöht sich der Speicherbedarf bei einer 8-fachen Erweiterung der Tokens um das 64-fache aufgrund der quadratischen Komplexität der Aufmerksamkeit. Siehe das Bild unten!
Wie gehen wir damit um?
weiter...👇

1) Sparse Attention
Es begrenzt die Aufmerksamkeitsberechnung auf eine Teilmenge von Tokens durch:
- Verwendung von lokaler Aufmerksamkeit (Tokens achten nur auf ihre Nachbarn).
- Ermöglichen, dass das Modell lernt, auf welche Tokens es sich konzentrieren soll.
Aber dies hat einen Kompromiss zwischen rechnerischer Komplexität und Leistung.

Eine ähnliche Idee wurde in ModernBERT verwendet.
→ Vollständige globale Aufmerksamkeit alle 3. Schicht
→ Lokale Aufmerksamkeit (128 Tokens) ansonsten
Ergebnis:
- 16x längere Sequenzlänge
- Viel bessere Leistung
- Der speichereffizienteste Encoder
Einfach, aber leistungsstark. 👇
Hier ist eine intuitive Erklärung aus dem Papier:
Stell dir vor, du liest ein Buch. Für jeden Satz, den du liest, musst du dir des gesamten Plots bewusst sein, um die meisten davon zu verstehen (vollständige globale Aufmerksamkeit)?
Oder reicht es aus, sich des aktuellen Kapitels bewusst zu sein (lokale Aufmerksamkeit), solange du gelegentlich über dessen Bedeutung für den Hauptplot nachdenkst (globale Aufmerksamkeit)?
In der überwiegenden Mehrheit der Fälle ist es letzteres.
2) Flash Attention
Dies ist eine schnelle und speichereffiziente Methode, die die Genauigkeit traditioneller Aufmerksamkeitsmechanismen beibehält, d.h. sie verwendet globale Aufmerksamkeit, jedoch effizient.
Die gesamte Idee dreht sich darum, die Datenbewegung im GPU-Speicher zu optimieren.
Lass es uns verstehen!

Einige Hintergrunddetails:
- Ein Thread ist die kleinste Einheit der Ausführung.
- Mehrere Threads bilden einen Block.
Außerdem:
- Threads in einem Block teilen sich einen schnellen (aber knappen) Speicher namens SRAM.
- Alle Blöcke teilen sich einen globalen Speicher namens HBM (reichlich, aber langsam).
Überprüfen Sie dies 👇

Die Aufmerksamkeit bewegt große Matrizen zwischen SRAM und HBM:
Um QK zu berechnen:
- Matrizen an Threads verteilen
- berechnen und
- das Produkt an HBM senden
Um Softmax zu berechnen:
- Produkt an Threads verteilen
- berechnen und
- Ausgabe an HBM senden
Wiederholen für alle Schichten.
Überprüfen Sie dies 👇

Flash Attention beinhaltet Hardware-Optimierungen, bei denen SRAM verwendet wird, um die Zwischenresultate zwischenzuspeichern.
Auf diese Weise werden redundante Bewegungen reduziert, was eine Beschleunigung von bis zu 7,6x im Vergleich zu standardmäßigen Aufmerksamkeitsmethoden bietet.
Überprüfen Sie dies 👇

98,93K
Top
Ranking
Favoriten