Exploring the Effect of Quantization on Large Language Models for C++ Programming on Home Hardware

Loading...
Thumbnail Image
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu | Master's thesis
Date
2024-08-19
Department
Major/Subject
Computer Science
Mcode
SCI3042
Degree programme
Master’s Programme in Computer, Communication and Information Sciences
Language
en
Pages
60
Series
Abstract
Large Language Models (LLMs) have become increasingly popular for a variety of applications due to their powerful capabilities. While typically run in cloud by third-party providers, there is an increasing interest in running open-source LLMs locally due to privacy concerns and fine-tuning possibilities. The goal of this thesis is find out how feasible code LLMs are to run on limited hardware locally, as well as how well they perform in C++ programming featuring algorithmic problems as well as open-source library usage. Experiments are conducted on a popular coding benchmark HumanEval and a custom C++ dataset created for this thesis with the results evaluated using a \textit{pass@k} metric. Additionally, time is measured for how long these code LLMs need to complete a benchmark to evaluate their average output times on the hardware used. The experiments are run with and without 4-bit quantization to measure if quantization is a feasible method to improve LLM performance on limited hardware. The findings of this thesis show that 4-bit quantization is a useful method to achieve significantly faster output times on LLMs that surpass the hardware's VRAM capacity. In addition, no accuracy loss was noticed in the benchmark results.

Laajat kielimallit ovat yleistyneet monissa sovelluksissa niiden tehokkaiden ominaisuuksien ansiosta. Yleensö kielimalleja ajetaan kolmansien osapuolien pilvipalveluissa, mutta viime aikoina kiinnostus avoimen lähdekoodin kielimallien ajamiseen paikallisesti on kasvanut tietoturvan ja hienosäätömahdollisuuksien vuoksi. Tämän diplomityön tavoitteena on selvittä,ä kuinka toteuttamiskelpoista on ajaa laajoja kielimalleja paikallisesti rajoitetulla laitteistolla, ja kuinka hyvin mallit selviytyvät C++ ohjelmointihaasteista, jotka koostuvat algoritmisista ongelmista sekä avoimen lähdekoodin kirjastojen käytöstä. Kokeet suoritetaan suositun HumanEval-ohjelmointi-benchmarkin avulla sekä tämän tutkielman C++ ongelmajoukolla. Tulokset arvioidaan \textit{pass@k}-metriikalla. Lisäksi mitataan aika, joka näillä laajoilla kielimalleilla menee HumanEvalin suorittamiseen, jotta mallien suorituskykyä voidaan arvioida ja vertailla. Kokeet suoritetaan sekä 4-bittisellä kvantisoinnilla että ilman, jotta voidaan selvittää parantaako kvantisointi mallien suorituskykyä rajoitetulla laitteistolla. Tämän diplomityön tulokset osoittavat, että 4-bittininen kvantisointi on hyödyllinen menetelmä parantamaan merkittävästi laajojen kielimallien suorituskykyä, kun ne ylittävät laitteiston VRAM-kapasiteetin. Kvantisoinnin käytön ei myöskään havaittu heikentävän mallien tarkkuutta.
Description
Supervisor
Hellas, Arto
Thesis advisor
Piiroinen, Markku
Keywords
AI, LLM, quantization, code generation, C++, large anguage models
Other note
Citation