Die Verarbeitung langer Textsequenzen stellt für Transformer-Modelle aufgrund ihrer quadratischen Zeit- und linearen Speicherkomplexität eine Herausforderung dar. Rekurrente Memory Transformer (RMTs) bieten eine vielversprechende Lösung, indem sie den asymptotischen Aufwand auf lineare Zeit und konstanten Speicherbedarf reduzieren. Allerdings führt der Mechanismus zur Aktualisierung des Speichers in RMTs zu einer sequentiellen Ausführung, was einen Leistungsengpass darstellt. Eine neue Technik namens "Diagonal Batching" verspricht hier Abhilfe.
Diagonal Batching ist ein Verfahren zur Ablaufplanung, das Parallelität zwischen Segmenten in RMTs ermöglicht und gleichzeitig die exakte Rekurrenz beibehält. Anstatt Segmente sequentiell zu verarbeiten, werden sie in "Diagonalen" angeordnet und parallel abgearbeitet. Dies eliminiert die sequentielle Beschränkung und ermöglicht eine effiziente GPU-Inferenz selbst für einzelne Eingaben mit langem Kontext, ohne komplexe Batching- und Pipelining-Techniken.
Ein Vorteil von Diagonal Batching ist die einfache Implementierung in bestehende RMT-Modelle ohne erneutes Training, da es sich lediglich um eine Umordnung der Berechnungen zur Laufzeit handelt. In ersten Tests mit einem LLaMA-1B ARMT-Modell erzielte Diagonal Batching eine 3,3-fache Beschleunigung gegenüber dem Standard-LLaMA-1B mit voller Aufmerksamkeit und eine 1,8-fache Beschleunigung gegenüber der sequentiellen RMT-Implementierung bei Sequenzen mit 131.072 Token.
Durch die Beseitigung des sequentiellen Engpasses reduziert Diagonal Batching die Inferenzkosten und -latenz und stärkt damit die Position von RMTs als praktikable Lösung für reale Anwendungen mit langem Kontext. Dies eröffnet neue Möglichkeiten für Bereiche wie die Verarbeitung natürlicher Sprache, maschinelle Übersetzung und Textgenerierung, in denen lange Sequenzen eine entscheidende Rolle spielen.
Vereinfacht dargestellt, teilt man bei RMTs die Eingabesequenz in Segmente auf. Jedes Segment wird von mehreren Schichten des neuronalen Netzes verarbeitet. Traditionell werden diese Segmente sequentiell bearbeitet, d.h., ein Segment muss vollständig verarbeitet sein, bevor das nächste beginnt. Diagonal Batching hingegen ordnet die Berechnungen so um, dass Segmente parallel bearbeitet werden können. Dabei werden die Segmente und Schichten in einer Matrix dargestellt. Diagonal Batching berechnet nun die Elemente dieser Matrix entlang der Diagonalen. Da die Berechnungen entlang einer Diagonale unabhängig voneinander sind, können sie parallel ausgeführt werden.
Die Fähigkeit, lange Sequenzen effizient zu verarbeiten, ist für viele KI-Anwendungen von entscheidender Bedeutung. Diagonal Batching in Kombination mit RMTs könnte zu erheblichen Fortschritten in folgenden Bereichen führen:
Verbesserte Chatbots und Konversations-KI: Durch die Berücksichtigung längerer Konversationsverläufe können Chatbots kohärentere und kontextbezogenere Antworten generieren.
Effizientere maschinelle Übersetzung: Längere Sätze und Absätze können in einem einzigen Durchgang übersetzt werden, was die Genauigkeit und Kohärenz verbessert.
Fortgeschrittene Textgenerierung: Die Erstellung längerer, zusammenhängender Texte, wie z.B. Artikel oder Geschichten, wird durch die effiziente Verarbeitung langer Sequenzen erleichtert.
Diagonal Batching stellt einen wichtigen Schritt in der Entwicklung effizienterer Algorithmen für die Verarbeitung langer Sequenzen dar und könnte die Anwendung von KI in verschiedenen Bereichen maßgeblich beeinflussen. Besonders für Unternehmen wie Mindverse, die sich auf die Entwicklung von KI-Lösungen spezialisiert haben, bieten sich durch diese Technologie neue Möglichkeiten zur Optimierung bestehender und Entwicklung neuer Produkte, wie z.B. Chatbots, Voicebots, KI-Suchmaschinen und Wissenssysteme.
Bibliographie: Sivtsov, D., Rodkin, I., Kuzmin, G., Kuratov, Y., & Oseledets, I. (2025). Diagonal Batching Unlocks Parallelism in Recurrent Memory Transformers for Long Contexts. arXiv preprint arXiv:2506.05229.