Hyppää sisältöön
    • Suomeksi
    • På svenska
    • In English
  • Suomeksi
  • In English
  • Kirjaudu
Näytä aineisto 
  •   Etusivu
  • LUTPub
  • Diplomityöt ja Pro gradu -tutkielmat
  • Näytä aineisto
  •   Etusivu
  • LUTPub
  • Diplomityöt ja Pro gradu -tutkielmat
  • Näytä aineisto
JavaScript is disabled for your browser. Some features of this site may not work without it.

Fine-tuning an open source chatbot to translate code from Python to Java using Qlora : translating for more energy efficient code

Hakkarainen, Joonas (2024)

Katso/Avaa
Diplomityö (1.458Mb)
Lataukset: 


Diplomityö

Hakkarainen, Joonas
2024

School of Engineering Science, Tietotekniikka

Näytä kaikki kuvailutiedot
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi-fe2024120499503

Tiivistelmä

In recent years large language models (LLM) based tools have become more commonplace with ChatGPT being the precursor to many competing products such as Google Gemini. While the training and finetuning of LLMs has been mostly reserved for corporations such as Google and OpenAI and those with access to expensive hardware. However, opensource alternatives including Llama 2 by Meta, cloud computing, and methods including QLoRA that enable less hardware intensive use and finetuning of LLMs are allowing a wider range of users to participate in experimenting with state-of-the-art AI applications. This study is focused on exploring the feasibility of finetuning an opensource chatbot for code translation from Python to the more energy efficient Java code with QLoRA.

The study was conducted as an empirical case study that describes the finetuning process and evaluates the construct validity of the resulting finetuned model: P2JLlama. The results show that it is feasible to finetune an opensource chatbot such as Llama 2 Chat for code translation using QLoRA, as the finetuned model was able to successfully translate more test cases from Python to Java and was more consistent than the base model while producing responses more in line with the training data. A Python to Java language pair translation dataset was formed for the finetuning from existing datasets and sources available online. A larger finetuning dataset consisting of translation data samples as well as more general programming instruction tasks was found to result in increased translation performance. The generated Java translations were also found to be on average considerably more energy efficient than the original Python code.
 
Viime vuosina suuriin kielimalleihin perustuvat työkalut kuten ChatGPT ja sen kilpailija Google Gemini ovat yleistyneet. Suurten kielimallien koulutus ja hienosäätö on ollut rajoitettu lähinnä Googlen ja OpenAI:n kaltaisille yrityksille sekä niille, joilla on pääsy kalliisiin laitteistoihin. Avoimen lähdekoodin vaihtoehdot kuten Metan kehittämä Llama 2, pilvipalvelut ja QLoRA:n kaltaiset menetelmät, jotka vähentävät kielimallien käytön ja hienosäädön laitteistovaatimuksia ovat sallineet laajemman joukon käyttäjiä osallistua uusimpien tekoälysovellusten käyttöön ja kokeiluun. Tässä tutkimuksessa keskitytään tutkimaan avoimen lähdekoodin chatbotin hienosäätämisen toteutettavuutta koodin kääntämiseen Pythonista energiatehokkaampaan Java koodiin QLoRA-menetelmällä.

Tutkimus toteutettiin empiirisenä tapaustutkimuksena, jossa kuvataan hienosäätöprosessia ja arvioidaan sen tuloksena syntyneen hienosäädetyn mallin, P2JLlama:n, konstruktiovaliditeettia. Tulokset osoittavat, että avoimen lähdekoodin Llama 2 chatbotin, hienosäätö QLoRA:n avulla koodin kääntämistä varten on mahdollista, sillä hienosäädetty malli kykeni kääntämään enemmän testitapauksia Pythonista Javaan tuottaen vastauksia, jotka vastasivat paremmin koulutusdataa kuin perusmalli. Hienosäätöön käytetty Python-Java-kielipari koulutusaineisto muodostettiin verkossa olevista tietoaineistoista ja lähteistä. Kielipari esimerkeistä ja ohjelmointi tehtävistä koostuva laajempi koulutusaineisto paransi kääntämisen suorituskykyä pienempään koulutusaineistoon verrattuna. Tuotetut Java käännökset olivat myös energiatehokkaampia kuin alkuperäinen Python-koodi.
 
Kokoelmat
  • Diplomityöt ja Pro gradu -tutkielmat [15212]
LUT-yliopisto
PL 20
53851 Lappeenranta
Ota yhteyttä | Tietosuoja | Saavutettavuusseloste
 

 

Tämä kokoelma

JulkaisuajatTekijätNimekkeetKoulutusohjelmaAvainsanatSyöttöajatYhteisöt ja kokoelmat

Omat tiedot

Kirjaudu sisäänRekisteröidy
LUT-yliopisto
PL 20
53851 Lappeenranta
Ota yhteyttä | Tietosuoja | Saavutettavuusseloste