Nachricht

Neuer Trend bei der Bereitstellung großer Modellterminals: Hardware unterstützt direkt die Mixed-Matrix-Multiplikation

2024-08-19

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina



Die AIxiv-Kolumne ist eine Kolumne, in der Machine Heart akademische und technische Inhalte veröffentlicht. In den letzten Jahren hat die Kolumne „Heart of the Machine AIxiv“ mehr als 2.000 Berichte erhalten, die Spitzenlabore großer Universitäten und Unternehmen auf der ganzen Welt abdecken und so den akademischen Austausch und die Verbreitung wirksam fördern. Wenn Sie hervorragende Arbeiten haben, die Sie teilen möchten, können Sie gerne einen Beitrag leisten oder uns für die Berichterstattung kontaktieren. E-Mail-Adresse: [email protected]; [email protected]

Im Bereich der künstlichen Intelligenz bedeutet eine Erhöhung der Modellparameter oft eine Verbesserung der Leistung. Mit zunehmendem Maßstab des Modells steigen jedoch auch die Rechenleistung und der Speicherbedarf des Endgeräts. Die Low-Bit-Quantisierungstechnologie ist zu einer der Schlüsseltechnologien geworden, um die effiziente Ausführung großer Modelle auf ressourcenbeschränkten Geräten zu ermöglichen, da sie die Speicher- und Rechenkosten erheblich senken und die Inferenzeffizienz verbessern kann. Wenn das Hardwaregerät jedoch den Low-Bit-Quantisierungsdatenmodus nicht unterstützt, werden die Vorteile der Low-Bit-Quantisierung nicht genutzt.

Um dieses Problem zu lösen, hat Microsoft Research Asia einen neuen Datencompiler Ladder und Algorithmus T-MAC auf den Markt gebracht, der es Hardware ermöglicht, die derzeit nur Berechnungen mit symmetrischer Präzision unterstützt, die direkte Ausführung einer Matrixmultiplikation mit gemischter Genauigkeit durchzuführen. Testergebnisse zeigen, dass Ladder bei der Unterstützung benutzerdefinierter Datentypen, die die GPU ursprünglich nicht unterstützt, eine maximale Geschwindigkeitssteigerung um das 14,6-fache erreichen kann. T-MAC ermöglicht die Ausführung großer Datenmengen auf der CPU auf einem Surface AI-PC, der mit dem neuesten Qualcomm Snapdragon X Elite ausgestattet ist Der Modelldurchsatz ist doppelt so schnell wie bei einer dedizierten Beschleuniger-NPU. Darüber hinaus haben die Forscher auch die LUT-Tensor-Core-Hardwarearchitektur entworfen. Dieses optimierte Design ermöglicht es der Hardware, verschiedene Low-Bit-Berechnungen mit gemischter Genauigkeit direkt zu unterstützen, was neue Ideen für das Hardwaredesign mit künstlicher Intelligenz liefert.

Große Modelle werden zunehmend auf Endgeräten wie Smartphones, Laptops und Robotern eingesetzt, um erweiterte Intelligenz und Echtzeit-Reaktionsdienste bereitzustellen. Allerdings stellen große Modelle mit Hunderten Millionen Parametern extrem hohe Anforderungen an den Speicher und die Rechenleistung von Endgeräten und schränken so ihre breite Anwendung ein. Die Low-Bit-Quantisierungstechnologie kann die Modellgröße erheblich komprimieren und den Bedarf an Rechenressourcen verringern. Sie ist zu einem wirksamen Mittel geworden, um große Modelle auf der Geräteseite bereitzustellen und eine effiziente Inferenz zu erzielen.

Mit der Entwicklung der Low-Bit-Quantisierungstechnologie werden die Datentypen zunehmend diversifiziert, z. B. int4, int2, int1 und andere Low-Bit-Daten, sodass große Modelle zunehmend eine Matrixmultiplikation mit gemischter Genauigkeit von Low-Bit-Gewicht und High-Bit-Gewicht verwenden Berechnungen in der Inferenz (Matrizenmultiplikation mit gemischter Genauigkeit, mpGEMM). Bestehende Hardware-Recheneinheiten wie CPUs und GPUs unterstützen jedoch in der Regel nur symmetrische Rechenmodi und sind mit dieser Matrixmultiplikation mit gemischter Genauigkeit nicht kompatibel.

Wie unterscheidet sich die Matrixmultiplikation mit gemischter Genauigkeit von der herkömmlichen Matrixmultiplikation?

Bei der herkömmlichen Matrixmultiplikation sind die Werte an beiden Enden der Operation symmetrisch, z. B. FP16 * FP16, int8 * int8. Die Low-Bit-Quantisierung großer Modelle bricht jedoch diese Symmetrie und macht ein Ende der Multiplikation zum High-Bit und das andere Ende zum Low-Bit, wie z. B. int8*int1 oder int8*int2, die im 1-Bit-BitNet-Modell implementiert sind, und Gleitkomma Zahlen. Gemischte Multiplikation mit ganzen Zahlen FP16*int4.

Forscher von Microsoft Research Asia konzentrierten sich darauf, die Vorteile der Low-Bit-Quantisierung voll auszuschöpfen, Hardware-Geräte in die Lage zu versetzen, die Matrixmultiplikation mit gemischter Genauigkeit direkt zu unterstützen und einen schnellen und effektiven Betrieb großer Modelle auf Endgeräten sicherzustellen zu bestehenden CPU- und GPU-Computing-Betreibern und Hardware-Architekturinnovationen:

  • Einführung des Datentyp-Compilers Ladder, der den Ausdruck und die gegenseitige Konvertierung verschiedener Datentypen mit geringer Genauigkeit unterstützt und Datentypen, die von der Hardware nicht unterstützt werden, verlustfrei in von der Hardware unterstützte Datentypanweisungen konvertiert. Im herkömmlichen Rechenmodus kann die Hardware Unterstützung der DNN-Berechnung (Deep Neural Network);
  • Entwickelte einen neuen Algorithmus T-MAC, der auf der Lookup-Table-Methode (LUT) basiert, um eine direkte Hardwareunterstützung für die Matrixmultiplikation mit gemischter Genauigkeit zu erreichen. Auf Softwareebene haben Berechnungen auf der CPU bessere Ergebnisse erzielt als herkömmliche Berechnungsmodi.
  • Es wird eine neue Hardware-Architektur, LUT Tensor Core, vorgeschlagen, die neue Ideen für die nächste Generation des Hardware-Designs mit künstlicher Intelligenz eröffnet.

Ladder: Verlustfreie Konvertierung benutzerdefinierter Datentypen in hardwareunterstützte Datentypen

Derzeit integrieren hochmoderne Beschleuniger die Operationen von Recheneinheiten mit niedrigeren Bitraten wie FP32, FP16 und sogar FP8 in Architekturen der neuen Generation. Aufgrund der begrenzten Chipfläche und der hohen Hardwarekosten kann jeder Beschleuniger jedoch nur begrenzte Arten von Recheneinheiten für Standarddatentypen bereitstellen. Beispielsweise unterstützt die NVIDIA V100 TENSOR CORE-GPU nur FP16, während A100 Unterstützung für int2, int4 und int8 bietet , deckt jedoch keine neueren Datenformate wie FP8 oder OCP-MXFP ab. Darüber hinaus besteht eine Lücke zwischen der schnellen Iteration großer Modelle und der langsamen Geschwindigkeit von Hardware-Upgrades, was dazu führt, dass viele neue Datentypen nicht von der Hardware unterstützt werden können, was wiederum die Beschleunigung und den Betrieb großer Modelle beeinträchtigt.

Forscher von Microsoft Research Asia fanden heraus, dass dem Hardwarebeschleuniger zwar Rechenanweisungen für benutzerdefinierte Datentypen fehlen, sein Speichersystem diese jedoch in undurchsichtige Datenblöcke mit fester Breite umwandeln kann, um beliebige Datentypen zu speichern. Gleichzeitig können die meisten benutzerdefinierten Datentypen verlustfrei in Standarddatentypen mit höheren Bits konvertiert werden, die von vorhandenen Hardware-Rechnereinheiten unterstützt werden. Beispielsweise können NF4-Tensoren in FP16 oder FP32 konvertiert werden, um Gleitkommaoperationen durchzuführen.

Basierend auf diesen Erkenntnissen schlugen die Forscher aEine Methode zur Unterstützung aller benutzerdefinierten Datentypen durch Trennung von Datenspeicherung und Berechnung und Entwicklung des Datencompilers Ladder, um die Lücke zwischen neuen benutzerdefinierten Datentypen und den inhärenten Präzisionsformaten zu schließen, die von aktueller Hardware unterstützt werden.

Ladder definiert ein Datentypsystem, einschließlich Abstraktionen für die verlustfreie Konvertierung zwischen Datentypen. Es kann verschiedene Datentypen darstellen, die von Algorithmen und Hardware unterstützt werden, und definiert Konvertierungsregeln zwischen Datentypen. Beim Umgang mit Low-Bit-Algorithmusanwendungen übersetzt Ladder Low-Bit-Daten durch eine Reihe von Optimierungen in das effizienteste Ausführungsformat auf aktueller Hardware, einschließlich der Optimierung von Rechenleistung und Speicherung – indem der Algorithmus passenden Rechenanweisungen und Daten in verschiedenen Formaten zugeordnet wird werden in verschiedenen Ebenen von Lagereinheiten gelagert, um einen möglichst effizienten Betrieb zu gewährleisten.



Abbildung 1: Leitersystemarchitektur

Die Leistungsbewertung der DNN-Inferenz auf NVIDIA A100-, NVIDIA V100-, NVIDIA RTX A6000-, NVIDIA RTX 4090- und AMD Instinct MI250-GPUs zeigt, dass Ladder bestehende hochmoderne DNN-Compiler bei der nativen Unterstützung von Datentypen und der Leistung von GPUs übertrifft gut bei benutzerdefinierten Datentypen, die ursprünglich nicht unterstützt wurden, mit einer maximalen Geschwindigkeitssteigerung von bis zu 14,6-fach.

Ladder ist das erste System, das die Darstellung von Daten mit niedriger Bitgenauigkeit in benutzerdefinierten Datentypen systematisch unterstützt, wenn DNNs auf modernen Hardwarebeschleunigern ausgeführt werden.Dies bietet Modellforschern eine flexiblere Methode zur Datentypoptimierung und ermöglicht es Entwicklern von Hardwarearchitekturen außerdem, ein breiteres Spektrum an Datentypen zu unterstützen, ohne die Hardware zu ändern.

T-MAC: Universelle Low-Bit-Matrixmultiplikationsberechnung mit gemischter Genauigkeit ohne Multiplikation

Damit vorhandene Hardwaregeräte unterschiedliche Datenmodi und Matrixmultiplikation mit gemischter Genauigkeit unterstützen können, besteht bei der Bereitstellung großer Modelle auf der Endseite ein gängiger Ansatz darin, das Low-Bit-Modell invers zu quantisieren. Bei diesem Ansatz gibt es jedoch zwei große Probleme: Erstens kann der Konvertierungsaufwand im Dequantisierungsprozess die durch die Low-Bit-Quantisierung erzielte Leistungsverbesserung ausgleichen. Zweitens müssen Entwickler aus Entwicklungssicht auf verschiedene Neugestaltungen abzielen Datenlayout und Berechnungskern für gemischte Präzision. Forscher von Microsoft Research Asia glauben, dass der Schlüssel zur Bereitstellung von quantisierten Low-Bit-Großmodellen auf Geräten darin liegt, die Implementierung der traditionellen Matrixmultiplikation auf Basis von Low-Bit-Eigenschaften zu durchbrechen.

Zu diesem Zweck haben Forscher Vorschläge auf System- und Algorithmusebene gemachtT-MAC, eine auf Nachschlagetabellen (LUT, Look-Up Table) basierende Methode, hilft großen Modellen mit Low-Bit-Quantisierung, eine effiziente Inferenz auf der CPU zu erzielen.Die Kernidee von T-MAC besteht darin, die Eigenschaft zu nutzen, dass ein Ende der Matrixmultiplikation mit gemischter Genauigkeit aus sehr niedrigen Bits (z. B. 1 Bit oder 2 Bits) besteht. Ihre Ausgabeergebnisse sind nur 2 hoch 1 und 2 hoch 2 möglich. Diese kleineren Ausgabeergebnisse können im Voraus berechnet und in der Tabelle gespeichert werden. Während des Vorgangs müssen die Ergebnisse nur aus der Tabelle gelesen werden Die Notwendigkeit wiederholter Berechnungen reduziert die Anzahl der Multiplikations- und Additionsoperationen erheblich.

Speziell,T-MAC wandelt die herkömmliche datentypzentrierte Multiplikation in bitbasierte Nachschlagetabellenoperationen um und ermöglicht so eine einheitliche und skalierbare Matrixmultiplikationslösung mit gemischter Genauigkeit, die die Tabellengröße reduziert und die Kosten für den Direktzugriff auf ein Minimum reduziert Tische werden reduziert.Diese Innovation ebnet den Weg für die Bereitstellung großer Low-Bit-quantisierter Modelle auf ressourcenbeschränkten Edge-Geräten.



Abbildung 2: Schematische Darstellung von T-MAC

In Tests mit Low-Bit-quantisierten Llama- und 1-Bit-BitNet-Großsprachenmodellen zeigte T-MAC erhebliche Leistungsvorteile. Auf dem Surface Laptop 7, der mit dem neuesten Qualcomm Snapdragon ausgestattet ist, kann die Generierungsrate des 4-Bit-7B-Llama-Modells 20 Token pro Sekunde erreichen, was weit über der durchschnittlichen menschlichen Lesegeschwindigkeit liegt. Im Vergleich zum ursprünglichen Llama.cpp-Framework ist es vier- bis fünfmal schneller und sogar doppelt so schnell wie der dedizierte NPU-Beschleuniger.

Selbst auf Geräten mit geringerer Leistung wie dem Raspberry Pi 5 ermöglicht T-MAC dem 3B BitNet-b1.58-Modell, eine Generierungsrate von 11 Token pro Sekunde zu erreichen. T-MAC bietet auch erhebliche Leistungsvorteile, da es auf ressourcenbeschränkten Geräten die gleichen Erzeugungsraten erreicht und dabei nur 1/4 bis 1/6 der Kernanzahl des ursprünglichen Llama.cpp benötigt.

Diese Ergebnisse zeigen, dass T-MAC eine praktische Lösung bietet, die die Bereitstellung großer Sprachmodelle auf Edge-Geräten mit Allzweck-CPUs effizienter macht, ohne auf GPUs angewiesen zu sein, wodurch die Bereitstellung großer Modelle auf Geräten mit eingeschränkten Ressourcen ermöglicht wird Förderung der Anwendung großer Modelle in einem breiteren Spektrum von Szenarien.

LUT Tensor Core: Treiber für Hardwarebeschleuniger der nächsten Generation mit nativer Unterstützung für Matrixmultiplikation mit gemischter Genauigkeit

Sowohl T-MAC als auch Ladder implementieren optimierte Unterstützung für Matrixmultiplikation mit gemischter Genauigkeit auf vorhandenen CPU- und GPU-Architekturen. Obwohl diese Innovationen auf Softwareebene die Recheneffizienz erheblich verbessern, sind sie immer noch nicht so effizient wie Hardwarebeschleuniger, die eine spezielle Nachschlagetabelle direkt implementieren können. Forscher glauben, dass der idealste Ansatz darin besteht, Hardwarebeschleuniger so umzugestalten, dass CPUs, GPUs usw. die Matrixmultiplikation mit gemischter Präzision nativ unterstützen können. Dieses Ziel steht jedoch vor drei großen Herausforderungen:

  • Effizienz: Design und Implementierung müssen kostengünstig sein und die Recheneffizienz von Low-Bit-Daten durch Optimierung des Nutzungsbereichs des Chips maximieren.
  • Flexibilität: Da unterschiedliche Modelle und Szenarien unterschiedliche Gewichte und Aktivierungsgenauigkeiten erfordern, muss das Matrixmultiplikationsdesign mit gemischter Genauigkeit in der Hardware in der Lage sein, verschiedene Gewichtsgenauigkeiten (z. B. int4/2/1) und Aktivierungsgenauigkeiten (z. B. FP16/8, int8) und deren Kombinationen.
  • Kompatibilität: Neue Designs müssen sich nahtlos in bestehende GPU-Architekturen und Software-Ökosysteme integrieren, um die Einführung neuer Technologien zu beschleunigen.

Um diese Herausforderungen anzugehen, haben Forscher von Microsoft Research Asia entwickeltLUT Tensor Core, eine GPU-Tensor-Core-Mikroarchitektur, die Nachschlagetabellen verwendet, um direkt eine Matrixmultiplikation mit gemischter Genauigkeit durchzuführen.Einerseits vereinfacht das auf der Nachschlagetabelle basierende Design die Multiplikationsoperation in eine Tabellenvorberechnungsoperation, und die Ergebnisse können direkt in der Tabelle gesucht werden, um die Berechnungseffizienz zu verbessern. Andererseits vereinfacht dieser Ansatz auch die Hardwareanforderungen. Er erfordert nur Register für die Tabellenspeicherung und Multiplexer für Suchvorgänge, ohne dass Multiplikatoren und Addierer erforderlich sind. Gleichzeitig erreicht LUT Tensor Core durch bitserielles Design Flexibilität bei der Gewichtsgenauigkeit und nutzt Tabellenquantisierung, um Flexibilität bei der Aktivierungsgenauigkeit zu erreichen.

Darüber hinaus erweiterten die Forscher zur Integration in die vorhandene GPU-Mikroarchitektur und den vorhandenen Software-Stack den vorhandenen MMA-Befehlssatz in der GPU, fügten einen Satz von LMMA-Befehlen hinzu und entwarfen einen cuBLAS-ähnlichen Software-Stack für die Integration in vorhandene GPUs einige DNN-Frameworks. Die Forscher entwickelten außerdem einen Compiler für die End-to-End-Ausführungsplanung auf GPUs mit LUT-Tensor-Kernen. Diese innovativen Ansätze ermöglichen eine nahtlose und schnelle Einführung von LUT-Tensor-Kernen.



Abbildung 3: Übersicht über die LUT Tensor Core-Mikroarchitektur

Tests an Llama- und BitNet-Modellen zeigen, dass der LUT Tensor Core eine bis zu 6,93-fache Inferenzgeschwindigkeit bieten kann und nur 38,7 % der Fläche des herkömmlichen Tensor Core ausmacht. Bei nahezu gleicher Modellgenauigkeit entspricht dies einer 20,7-fachen Rechendichte und einer 19,1-fachen Energieeffizienzverbesserung. Da der Umfang und die Komplexität großer Modelle für künstliche Intelligenz weiter zunehmen, trägt LUT Tensor Core dazu bei, das Potenzial großer Low-Bit-Sprachmodelle weiter freizusetzen und die Anwendung künstlicher Intelligenz in neuen Szenarien zu fördern.

„Die Nachschlagetabellenmethode hat zu einem Paradigmenwechsel in der Datenverarbeitung geführt. In der Vergangenheit haben wir uns auf Matrizenmultiplikations- und Akkumulationsoperationen verlassen, aber im Zeitalter großer Modelle wurde dank der Low-Bit-Quantisierungstechnologie die Nachschlagetabelle verwendet Die Methode wird zum Mainstream werden. Im Vergleich zur herkömmlichen Gleitkomma-Arithmetik oder Matrixmultiplikation ist die Nachschlagetabellenmethode einfacher und effizienter in der Berechnung und lässt sich auf Hardwareebene einfacher erweitern. Sie kann eine höhere Transistordichte erreichen und einen höheren Durchsatz pro Einheit bieten Chipbereich und fördert so die Entwicklung der Hardware-Architekturinnovation“, sagte Cao Ting, Chefforscher bei Microsoft Research Asia.

Der Long-Tail-Effekt der Low-Bit-Quantisierung: Er eröffnet neue Möglichkeiten für die verkörperte Intelligenz

Die Low-Bit-Quantisierungstechnologie optimiert nicht nur die Laufeffizienz großer Modelle auf Endgeräten, sondern bietet auch neuen Raum für die Modellparametererweiterung (Scale-Up), indem sie das „Volumen“ eines einzelnen Parameters reduziert. Diese Parametererweiterungsfähigkeit verleiht dem Modell mehr Flexibilität und Ausdrucksmöglichkeiten. Wie das BitNet-Modell zeigt, beginnt es mit einem Low-Bit-Modell und wird schrittweise auf ein Training in größerem Maßstab ausgeweitet.

Die innovativen Technologien von Microsoft Research Asia wie T-MAC, Ladder und LUT Tensor Core bieten leistungsstarke Betriebslösungen für verschiedene Low-Bit-quantisierte große Modelle, die eine effiziente Ausführung dieser Modelle auf verschiedenen Geräten ermöglichen und die wissenschaftliche Forschung beim Entwerfen und Optimieren großer Modelle fördern aus einer Low-Bit-Perspektive. Einige dieser Technologien spielen bereits in großen Suchmodellen wie der Bing-Suche und dem Werbegeschäft von Microsoft eine Rolle.Mit der Reduzierung von Speicher- und Rechenressourcen wird es auch möglich, große Low-Bit-Modelle auf verkörperten intelligenten Systemen wie Robotern einzusetzen, wodurch diese Geräte eine bessere dynamische Wahrnehmung und Echtzeitinteraktion mit der Umgebung erreichen können.

Derzeit sind T-MAC und Ladder Open Source auf GitHub. Relevante Entwickler sind herzlich eingeladen, die Anwendungen zu testen und weitere Möglichkeiten der künstlichen Intelligenz-Technologie mit Microsoft Research Asia zu erkunden.

  • Link zum Leiterpapier: https://www.usenix.org/conference/osdi24/presentation/wang-lei
  • BitBLAS/Ladder GitHub-Link: https://github.com/microsoft/BitBLAS
  • Link zum T-MAC-Papier: https://arxiv.org/abs/2407.00088
  • T-MAC GitHub-Link: https://github.com/microsoft/T-MAC
  • Link zum LUT Tensor Core-Papier: https://arxiv.org/abs/2408.06003
  • Link zum BitDistiller-Papier: https://arxiv.org/abs/2402.10631
  • BitDistiller GitHub-Link: https://github.com/DD-DuDa/BitDistiller