Het versnellen van de gevolgtrekking van Large Language Models (LLM’s) is een belangrijk onderwerp binnen de artificiële intelligentie en machine learning gemeenschappen. Gevolgtrekking, oftewel inferentie, is het proces waarbij een model voorspellingen doet of antwoorden genereert op basis van nieuwe invoer nadat het is getraind. Dit proces kan bijzonder tijdrovend en rekenintensief zijn voor LLM’s vanwege hun complexiteit en grootte. Hier volgen enkele technieken om de gevolgtrekkingssnelheid van LLM’s te verbeteren:
1. Modeloptimalisatie en prunings: Een van de meest directe manieren om de gevolgtrekkingssnelheid te verbeteren, is door het model zelf kleiner en efficiënter te maken. Prunings houdt in dat minder belangrijke gewichten en neuronen uit het model worden verwijderd zonder dat de algehele prestaties significant worden aangetast. Dit resulteert in een kleiner model dat sneller kan rekenen. De methoden die hiervoor gebruikt kunnen worden, zijn onder andere magnitude-based pruning en structured pruning (Han et al., 2015).
1. Quantisatie: Dit houdt in dat de precisie van de gewichten en activaties van het model wordt verlaagd, bijvoorbeeld van 32-bit floating-point representaties naar 8-bit integers. Door gebruik te maken van quantisatie, kunnen de hoeveelheid benodigde geheugen en rekenkracht sterk worden gereduceerd, wat resulteert in snellere gevolgtrekkingen (Jacob et al., 2018).
1. CPU en GPU optimalisaties: De hardware waarop de gevolgtrekking plaatsvindt, kan ook een significante rol spelen. Geoptimaliseerde bibliotheken en aangepaste hardware, zoals Tensor Processing Units (TPU’s) van Google of Graphics Processing Units (GPU’s) van NVIDIA met Tensor Cores, kunnen de gevolgtrekkingssnelheid aanzienlijk verhogen. Het gebruik van parallelle verwerking en gespecialiseerde hardwareversnellers kan de prestaties verbeteren (Jouppi et al., 2017).
1. Distillatie van kennis (Knowledge Distillation): Dit proces houdt in dat een groot, complex model (teacher model) wordt gebruikt om een kleiner, sneller model (student model) te trainen zonder substantiële verliezen in nauwkeurigheid. Door de kennis van het grotere model te distilleren naar het kleinere model, kan vergelijkbare prestatie worden bereikt met minder rekenkracht (Hinton et al., 2015).
1. Batchverwerking en covertijd-optimalisaties: Door meerdere invoer-exemplaren tegelijk te verwerken in batches, kunnen de overheadkosten van rekenkracht geminimaliseerd worden. Dit maakt gebruik van matrixvermenigvuldiging efficiënt en vermindert de benodigde tijd per gevolgtrekking.
1. Lazy Loading en Caching: Door slechts de benodigde delen van modellen en datasets te laden en door tussenresultaten tijdelijk op te slaan, kan de efficiëntie van tijd-to-inference worden verbeterd. Dit is vooral nuttig in scenario’s waar bepaalde berekeningen vaak worden herhaald (Raffel et al., 2020).
Voorbeelden:
- Het “DistilBERT”-model (Sanh et al., 2019) is een voorbeeld van een gedistilleerd model gebaseerd op BERT. Het biedt vergelijkbare prestaties als BERT, maar is sneller in gevolgtrekking wegens de 40% kleinere omvang.
- NVIDIA’s TensorRT is een platform voor hoogperformante inferentie die uitgebreide quantisatie-methoden gebruikt voor snellere uitvoering op hun GPU’s (Garcia et al., 2020).
Bronnen:
- Han, S., Pool, J., Tran, J., & Dally, W. (2015). Learning both weights and connections for efficient neural network. Advances in neural information processing systems, 28.
- 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/CVF Conference on Computer Vision and Pattern Recognition, 2704-2713.
- Jouppi, N. P., Young, C., Patil, N., Patterson, D., Agrawal, G., Bajwa, R., … & Yoon, D. (2017). In-datacenter performance analysis of a tensor processing unit. ACM/IEEE 44th Annual International Symposium on Computer Architecture (ISCA), 1-12.
- Hinton, G., Vinyals, O., & Dean, J. (2015). Distilling the Knowledge in a Neural Network. arXiv preprint arXiv:1503.02531.
- Sanh, V., Debut, L., Chaumond, J., & Wolf, T. (2019). DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter. arXiv preprint arXiv:1910.01108.
- Garcia, J., Patil, K., Loomis, L., & Ramaswamy, R. (2020). Optimizing networks for high-performance deep learning inference. NVIDIA GPU Technology Conference.
Deze technieken en voorbeelden laten zien dat er diverse benaderingen zijn om de inferentie-efficiëntie van LLM’s te verbeteren door een combinatie van model- en hardware-optimalisaties.