Große Sprachmodelle (LLMs) haben in den letzten Jahren beeindruckende Fortschritte erzielt, stellen aber aufgrund ihres hohen Speicherbedarfs und ihrer enormen Rechenleistung eine Herausforderung für den effizienten Einsatz dar. Quantisierung hat sich als eine der effektivsten Methoden erwiesen, um LLMs zu komprimieren und den Speicherbedarf zu reduzieren. Dabei werden die Gewichte und/oder Aktivierungen des Modells mit geringerer Bitbreite dargestellt. Bisherige Quantisierungslösungen zeigen jedoch Einschränkungen hinsichtlich Genauigkeitsverlust oder Systemeffizienz.
Für eine effiziente LLM-Quantisierung müssen drei Faktoren berücksichtigt werden: Genauigkeit, Speicherbedarf der Parameter und Systemeffizienz der Ausführung. Diese drei Merkmale bilden das sogenannte Effektivitätsdreieck der Quantisierung. Bisherige Quantisierungslösungen setzen unterschiedliche Schwerpunkte und bieten verschiedene Kompromisse innerhalb dieses Dreiecks.
Gewicht-basierte Methoden konzentrieren sich auf die Reduzierung des Speicherbedarfs und können die Ausführungsgeschwindigkeit bei kleinen Batch-Größen verbessern. Allerdings kann der Genauigkeitsverlust bei 4-Bit-Quantisierung, insbesondere bei neueren Modellen mit höherer Informationsdichte, erheblich sein. Darüber hinaus kann die Gewicht-basierte Methode bei großen Batch-Größen zu Leistungseinbußen führen.
Bei der Gewicht-Aktivierungs-Quantisierung werden sowohl Gewichte als auch Aktivierungen mit niedriger Bitbreite dargestellt, was potenziell zu einer höheren Systemeffizienz führt. Dies kann jedoch zu größeren Genauigkeitsverlusten führen, da die Quantisierung von Aktivierungen im Allgemeinen schwieriger ist. Zusätzlich entsteht ein höherer Overhead für die Dequantisierung der Aktivierungen, was die Systemeffizienz beeinträchtigen kann.
Methoden zur Trennung von Ausreißern und Mixed-Precision-Technologien versuchen, die Genauigkeit der Low-Bit-Quantisierung zu verbessern, indem entweder Gewichte mit hoher Bedeutung von der Quantisierung ausgeschlossen oder ihnen eine größere Bitbreite zugewiesen wird. Ersteres führt jedoch aufgrund der geringen Effizienz der Verarbeitung von Sparse-Tensoren im Halbfloat-Format zu Problemen mit der Systemeffizienz. State-of-the-Art Mixed-Precision-Lösungen erzielen zwar eine Low-Bit-Quantisierung, zeigen aber dennoch einen nicht zu vernachlässigenden Genauigkeitsverlust.
MixLLM verfolgt einen neuen Ansatz, der die Mixed-Precision-Quantisierung zwischen Ausgabemerkmalen auf den Gewichten nutzt, basierend auf der Erkenntnis, dass verschiedene Ausgabemerkmale unterschiedlich zur Modellausgabe beitragen. MixLLM identifiziert die Ausgabemerkmale mit hoher Bedeutung global und weist ihnen eine größere Bitbreite (8-Bit) zu, während andere Merkmale mit 4-Bit quantisiert werden. Im Gegensatz zu bisherigen Ansätzen, die eine einheitliche Anzahl von Ausreißern innerhalb jeder Schicht verwenden, identifiziert MixLLM die Bedeutung der Ausgabemerkmale global, basierend auf dem geschätzten Verlust für die Modellausgabe.
Um sowohl eine hohe Genauigkeit als auch eine gute Systemeffizienz zu erreichen, verwendet MixLLM 8-Bit für die Aktivierungsquantisierung. Da die MatMul-Ausführung tendenziell stärker durch den größeren Gewichtstensor als durch den kleineren Aktivierungstensor begrenzt ist, ist die Notwendigkeit, die Aktivierungen weiter zu reduzieren, geringer. MixLLM verwendet symmetrische Quantisierung für 8-Bit und asymmetrische Quantisierung für 4-Bit, jeweils gruppenweise. Diese Konfiguration stellt eine Herausforderung für die Systemeffizienz dar. Um diese Herausforderung zu bewältigen, verwendet MixLLM eine zweistufige Dequantisierung, die die Nutzung von schnellen Int8-Tensorkernen ermöglicht, sowie eine schnelle Integer-Float-Konvertierung, um den Dequantisierungs-Overhead zu reduzieren. Zusätzlich wird ein optimiertes Software-Pipeline-Design für den quantisierten linearen Kernel auf modernen GPUs präsentiert.
Ausführliche Experimente zeigen, dass MixLLM mit nur 10% 8-Bit-Anteilen alle bestehenden 4-Bit-Quantisierungsalgorithmen übertrifft und gleichzeitig eine State-of-the-Art-Systemeffizienz erreicht.
Bibliographie: https://arxiv.org/abs/2412.14590 https://arxiv.org/html/2412.14590v1 https://openreview.net/pdf/416ad21ac920e9c8d80ca9d3a917483a5781a537.pdf https://openreview.net/forum?id=zi0XgnZlcl https://x.com/Memoirs/status/1870115149337489463 https://proceedings.mlsys.org/paper_files/paper/2024/file/5edb57c05c81d04beb716ef1d542fe9e-Paper-Conference.pdf https://bohrium.dp.tech/paper/arxiv/2411.16158 https://nicsefc.ee.tsinghua.edu.cn/%2Fnics_file%2Fpdf%2F5c805adc-b555-499f-9882-5ca35ce674b5.pdf https://proceedings.mlsys.org/paper_files/paper/2024/file/136b9a13861308c8948cd308ccd02658-Paper-Conference.pdf https://dai.sjtu.edu.cn/my_file/pdf/f1c6a4bb-4556-43e2-8e46-4ab38d8bfed4.pdf