Die Forscher haben eine prägnante und effektive Lösung für ein hartnäckiges Problem in großen Sprachmodellen wie ChatGPT gefunden, das ansonsten die Leistung des Modells stark beeinträchtigen würde.
Bei KI-Konversationen, die mehrere Runden eines kontinuierlichen Dialogs umfassen, versagen die leistungsstarken, groß angelegten maschinellen Sprachlernmodelle, die Chatbots wie ChatGPT steuern, manchmal plötzlich, was zu einem dramatischen Leistungsabfall des Bots führt.
Ein Forscherteam des MIT und anderer Institutionen hat eine überraschende Ursache für dieses Problem entdeckt und eine einfache Lösung gefunden, die es Chatbots ermöglicht, Gespräche ohne Absturz oder Verlangsamung fortzusetzen.
Ihr Ansatz passt den Schlüssel-Cache (das Äquivalent zum Speicher für Dialoge) im Zentrum vieler großer Sprachmodelle an. In manchen Fällen, wenn der Cache mehr Informationen speichern muss, als er tatsächlich fassen kann, werden die frühesten Daten ersetzt, was zu einem Ausfall des Modells führen kann.
Indem die Forscher einige der anfänglichen Datenpunkte im Speicher behalten, können Chatbots weiter kommunizieren, egal wie lange das Gespräch dauert.
Dieser Ansatz, StreamingLLM genannt, behält die hohe Effizienz des Modells auch dann bei, wenn der Dialog über vier Millionen Wörter hinausgeht. Im Vergleich zu einem anderen Ansatz, der Systemabstürze durch ständiges Neuberechnen von Teilen früherer Dialoge vermeidet, arbeitet StreamingLLM mehr als 22 Mal schneller.
Dadurch können Chatbots den ganzen Tag über lange Gespräche führen, ohne dass sie neu gestartet werden müssen, und so einen KI-Assistenten für Aufgaben wie das Schreiben, Bearbeiten und Erstellen von Code bereitstellen.
"Mit diesem Ansatz sind wir heute in der Lage, diese großen Sprachmodelle kontinuierlich einzusetzen. Durch die Schaffung eines Chatbots, mit dem wir jederzeit kommunizieren können und der auf der Grundlage des Inhalts der letzten Unterhaltungen reagieren kann, können wir diese Chatbots in vielen neuen Anwendungsbereichen einsetzen", so Guangxuan Xiao, Doktorand in Elektrotechnik und Informatik (EECS) und Hauptautor der Studie.
Zu Xiaos Co-Autoren gehören sein Mentor Song Han, außerordentlicher Professor am EECS, Mitglied des MIT-IBM Watson AI Lab und angesehener Wissenschaftler bei NVIDIA, sowie Yuandong Tian, Forschungswissenschaftler bei Meta AI, Beidi Chen, Assistenzprofessorin an der Carnegie Mellon University, und Mike Lewis, Forschungswissenschaftler bei Meta AI und Hauptautor der Arbeit. Diese Forschungsarbeit wird auf der International Conference on Learning Representations vorgestellt.
Ein rätselhaftes Phänomen
Groß angelegte Sprachmodelle kodieren Daten, wie z. B. das Vokabular in einer Benutzeranfrage, in Darstellungsformen, die als "Token" bezeichnet werden. Viele Modelle verwenden so genannte "Aufmerksamkeitsmechanismen", die diese Token verwenden, um neuen Text zu erstellen.
Im Allgemeinen schreibt der KI-Chatbot neue Inhalte auf der Grundlage von Texten, die er gesehen hat; daher speichert er die letzten Token in einer Speicherbank, dem sogenannten KV-Cache, um sie später zu verwenden. Der Aufmerksamkeitsmechanismus erstellt eine Rasterkarte, die alle Token des Zwischenspeichers enthält, eine "Aufmerksamkeitskarte", auf der die Stärke der Korrelation zwischen jedem Wort und anderen Wörtern markiert ist.
Das Verständnis dieser Beziehungen hilft solchen großen Sprachmodellen, menschenähnliche Texte zu erstellen.
Wenn das Cache-Volumen jedoch sehr groß wird, wächst auch die Aufmerksamkeitskarte ins Unermessliche, was zu einer Verringerung der Berechnungsgeschwindigkeit führt.
Wenn die zur Kodierung des Inhalts erforderlichen Token die Cache-Grenze überschreiten, wird die Leistung des Modells beeinträchtigt. Ein weit verbreitetes Modell kann zum Beispiel 4.096 Token speichern, eine wissenschaftliche Arbeit kann jedoch etwa 10.000 Token enthalten.
Um diese Probleme zu umgehen, haben die Forscher eine "Sliding Cache"-Strategie gewählt, bei der die ältesten Token entfernt werden, um neue hinzuzufügen. Sobald jedoch das erste Token entfernt wird, sinkt die Leistung des Modells, was sich direkt auf die Qualität des neu generierten Wortschatzes auswirkt.
In dieser neuen Arbeit fanden die Forscher heraus, dass das Modell seine Leistung auch dann beibehält, wenn die Cachegröße überschritten wird, wenn sie das erste Token in einem gleitenden Cache konstant halten.
Diese Erkenntnis mag jedoch kontraintuitiv erscheinen. Das erste Wort in einem Roman steht selten in direktem Zusammenhang mit dem letzten Wort. Warum also ist das erste Wort entscheidend für die Fähigkeit des Modells, neue Wörter zu erzeugen?
In ihrer neuen Arbeit zeigen die Forscher auch die Gründe für dieses Phänomen auf.
Fokus der Aufmerksamkeit
Einige Modelle verwenden in ihrem Aufmerksamkeitsmechanismus die Softmax-Operation, die jedem lexikalischen Element eine Punktzahl zuweist, die den Grad der Verwandtschaft zueinander widerspiegelt. Die Softmax-Operation erfordert, dass sich alle Aufmerksamkeitswertungen zu einer Gesamtsumme von 1 addieren müssen. Da die meisten lexikalischen Elemente nicht eng miteinander verwandt sind, sind ihre Aufmerksamkeitswertungen sehr niedrig. Das Modell ordnet den verbleibenden Aufmerksamkeitswert dem ersten lexikalischen Element zu.
Die Forscher bezeichnen dieses erste lexikalische Element als den "Fokus der Aufmerksamkeit".
"Wir brauchen einen Fokus der Aufmerksamkeit, und das Modell wählt das erste lexikalische Element als diesen Fokuspunkt, weil es für alle anderen lexikalischen Elemente sichtbar ist. Um die Dynamik des Modells aufrechtzuerhalten, mussten wir diesen Fokuspunkt der Aufmerksamkeit ständig im Cache halten." Han drückt es so aus.
Bei der Entwicklung von StreamingLLM fanden die Forscher heraus, dass die Platzierung von vier aufmerksamkeitsstarken lexikalischen Elementen ganz am Anfang des Cache zu einer optimalen Leistung führt.
Sie weisen auch darauf hin, dass die Positionskodierung jedes lexikalischen Elements gleich bleiben muss, wenn neue lexikalische Elemente hinzugefügt und alte entfernt werden. Wird beispielsweise das fünfte lexikalische Element eliminiert, muss das sechste lexikalische Element seine Kodierung als sechstes Element beibehalten, auch wenn es im Cache zum fünften wird.
Durch die Kombination dieser beiden Ideen ist StreamingLLM in der Lage, einen kohärenten Dialog aufrechtzuerhalten und gängige Ansätze, die auf Neuberechnungsverfahren zurückgreifen, zu übertreffen.
Bei einer Cache-Kapazität von 256 Wörtern beispielsweise benötigt die Methode der Neuberechnung 63 ms für die Dekodierung eines neuen Wortes, während StreamingLLM nur 31 ms benötigt. Wird die Cachegröße jedoch auf 4096 Wörter erhöht, benötigt die Neuberechnungsmethode 1411 Millisekunden für die Dekodierung eines neuen Lexems, während StreamingLLM immer noch nur 65 Millisekunden benötigt.
"StreamingLLM verwendet ein innovatives Verfahren zur Bündelung der Aufmerksamkeit, das die Probleme der Leistung und der Speicherstabilität bei der Verarbeitung von Texten mit einer Länge von bis zu 4 Millionen Token angeht. Yong Yang, Presidential Young Professor of Computer Science an der National University of Singapore, sagte, dass er zwar nicht an der Arbeit beteiligt war. "Die Leistungsfähigkeit dieser Technologie ist nicht nur beeindruckend, sondern sie hat auch das Potenzial, den Einsatz von StreamingLLM in einer Vielzahl von KI-Domänen zu ermöglichen.Die Leistung und Vielseitigkeit von StreamingLLM verspricht eine revolutionäre Technologie zu werden, die die Art und Weise, wie wir KI zur Erstellung von Anwendungen nutzen, vorantreiben wird. "
Dieser Ansicht war auch Tianqi Chen, ein Assistenzprofessor für maschinelles Lernen und Informatik an der Carnegie Mellon University, der ebenfalls nicht an der Studie beteiligt war. Er sagte: "Mit StreamingLLM können wir die Dialoglänge für große Sprachmodelle stufenlos skalieren. Wir haben es erfolgreich eingesetzt, um Mistral-Modelle auf dem iPhone zu verwenden."
Das Forschungsteam untersuchte auch die Anwendung von Aufmerksamkeitspooling während des Modelltrainings, indem es mehrere Platzhalter vor alle Trainingsmuster setzte.
Sie fanden heraus, dass Modelle, die in Verbindung mit Aufmerksamkeitspooling trainiert wurden, in der Lage waren, ihre Leistung mit nur einem Aufmerksamkeitspool im Cache aufrechtzuerhalten, verglichen mit den vier Aufmerksamkeitspools, die normalerweise erforderlich sind, um die Leistung von vortrainierten Modellen zu stabilisieren.
Obwohl StreamingLLM es dem Modell ermöglicht, einen laufenden Dialog zu führen, kann es sich jedoch nicht an Wörter erinnern, die nicht im Cache abgelegt wurden. Für die Zukunft planen die Forscher, diese Einschränkung zu überwinden, indem sie Möglichkeiten erforschen, gelöschte Token abzurufen oder dem Modell zu erlauben, sich an frühere Dialoge zu erinnern.
StreamingLLM wurde in die NVIDIA Big Language Model Optimisation Library integriert [TensorRT-LLM]Medium.
Diese Arbeit wurde zum Teil vom MIT-IBM Watson Artificial Intelligence Laboratory, dem MIT Science Center und der National Science Foundation unterstützt.