Quantifizierungstechniken für Large Language Models (LLMs) sind wichtig, um diese Modelle effizienter zu machen, indem man ihren Speicherbedarf und ihre Berechnungsressourcen reduziert. Hier sind einige der wichtigsten Techniken, die in der Literatur und in der Praxis verwendet werden:
1. Feste Punktquantisierung (Fixed-Point Quantization): Bei der festen Punktquantisierung werden die Gleitkommawerte (z.B. 32-Bit-Float) in feste Punktwerte umgewandelt (z.B. 8-Bit-Integer). Das Ziel ist es, die Genauigkeit zu reduzieren, um die Speicher- und Rechenanforderungen zu verringern, während die Modellleistung weitgehend erhalten bleibt. Ein gängiges Verfahren ist das Quantisieren der Gewichte und Aktivierungen auf 8-Bit- oder sogar 4-Bit-Werte. Quelle: Han, S., Mao, H., & Dally, W. J. (2015). Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding. arXiv:1510.00149.
2. Dynamische Quantisierung (Dynamic Quantization): Bei der dynamischen Quantisierung werden die Modellparameter zur Laufzeit quantisiert, was bedeutet, dass dies während der Inferenz (statt beim Training) geschieht. Ein Vorteil dieser Technik ist, dass keine zusätzlichen Trainingsressourcen erforderlich sind. Beispiel: Modelle für mobile Geräte, die im dynamisch quantisierten Zustand inferieren. Quelle: Jacob, B., Kligys, S., Chen, B., Zhu, M., Tang, M., Howard, A., … & Adam, H. (2018). Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR).
3. Uniforme und nicht-uniforme Quantisierung (Uniform and Non-Uniform Quantization): Uniforme Quantisierung verwendet gleiche Abstände zwischen den Quantisierungsstufen, während nicht-uniforme Quantisierung variierende Abstände verwendet, was für Fundstellen mit hoher Varianz geeigneter sein kann. Zum Beispiel können dicht gepackte Quantisierungsstufen für kleine Werte und weiter auseinander liegende Stufen für größere Werte vorteilhaft sein. Quelle: Zhang, D., Yang, J., Ye, D., & Hua, G. (2018). LQ-Nets: Learned Quantization for Highly Accurate and Compact Deep Neural Networks. Computer Vision – ECCV 2018.
4. Quantisierung-aware Training (QAT – Quantization-Aware Training): Diese Technik quantisiert das Modell während des Trainings, so dass das Modell lernt, mit den Quantisierungsfehlern umzugehen. Dies erfordert, dass das Modell sowohl in der Vorwärts- als auch in der Rückwärtsausbreitung quantisiert wird. Beispiel: TensorFlow Lite unterstützt QAT zur Optimierung von ML-Modellen für mobile Geräte. Quelle: Courbariaux, M., Bengio, Y., & David, J. P. (2015). BinaryConnect: Training Deep Neural Networks with binary weights during propagations. Advances in Neural Information Processing Systems (NeurIPS).
5. Stochastische Quantisierung (Stochastic Quantization): Stochastische Quantisierung nutzt die Zufälligkeit bei der Auswahl der Quantisierungsstufen, was dazu beitragen kann, die Verzerrung durch Quantisierungsfehler zu reduzieren. Dies geschieht, indem eine stochastische Komponente zu den verwendeten Schwellenwerten hinzugefügt wird. Quelle: Gupta, S., Agrawal, A., Gopalakrishnan, K., & Narayanan, P. (2015). Deep Learning with Limited Numerical Precision. Proceedings of the 32nd International Conference on Machine Learning (ICML).
6. Hybrid-Quantisierung (Hybrid Quantization): Hybrid-Quantisierung kombiniert verschiedene Quantisierungsmethoden, um die Vorteile mehrerer Techniken zu nutzen. Beispielsweise könnte man für unterschiedliche Teile des Modells unterschiedliche Quantisierungsmethoden anwenden, um eine optimale Balance zwischen Genauigkeit und Effizienz zu erzielen. Quelle: Choi, J., Wang, Z., Venkataramani, S., Chuang, P. I.-J., Srinivasan, V., & Gopalakrishnan, K. (2018). Pact: Parameterized Clipping Activation for Quantized Neural Networks. arXiv:1805.06085.
Diese Quantifizierungstechniken ermöglichen es, die Speicher- und Rechenanforderungen von LLMs zu reduzieren, während ihre Leistung und Genauigkeit bewahrt wird. Forschung und Praxis zeigen, dass unterschiedliche Techniken je nach Anwendungsfall und Hardware-Plattform variieren können.