magistrsko delo
Povzetek
Programiranje s pomočjo velikih jezikovnih modelov postaja vse bolj razširjeno. Pojavljajo se pomisleki glede zasebnosti kode pri uporabi komercialnih rešitev. Težava je tudi vse močnejša strojna oprema, potrebna za izvajanje velikih modelov. V delu se zato osredotočimo na uporabo modelov velikosti 160 milijonov parametrov, ki so primerni za lokalno izvajanje, in jih obogatimo z uporabo poizvedovanja iz lokalnih projektov. Na odprtokodnih Python datotekah učimo modela GPT-2 in RETRO, ju eksperimentalno primerjamo in potrdimo korist poizvedovanja na podlagi vektorskih vložitev. Uspešnost modelov izboljšamo s kontekstnim poizvedovanjem, ki primerne kontekste izbere na podlagi Jaccardovega koeficienta podobnosti žetonov. Doprinos kontekstnega poizvedovanja preverimo na večjih modelih in ugotovimo, da je pristop kljub enostavnosti koristnejši od arhitekture RETRO. Izpostavimo tudi ključno vlogo primerne tokenizacije za doseganje dobrih rezultatov velikih jezikovnih modelov.
Ključne besede
veliki jezikovni modeli;dopolnjevanje kode;s poizvedovanjem obogateno dopolnjevanje;kontekstno poizvedovanje;
Podatki
| Jezik: |
Slovenski jezik |
| Leto izida: |
2024 |
| Tipologija: |
2.09 - Magistrsko delo |
| Organizacija: |
UL FRI - Fakulteta za računalništvo in informatiko |
| Založnik: |
[M. Hostnik] |
| UDK: |
004.42 |
| COBISS: |
200036099
|
| Št. ogledov: |
77 |
| Št. prenosov: |
11 |
| Ocena: |
0 (0 glasov) |
| Metapodatki: |
|
Ostali podatki
| Sekundarni jezik: |
Angleški jezik |
| Sekundarni naslov: |
Retrieval-augmented code completion for local projects using large language models |
| Sekundarni povzetek: |
The use of large language models is becoming increasingly widespread among developers. However, privacy and computational requirements are problematic with commercial solutions and the use of large models. In this work, we focus on using large language models with 160 million parameters that are suitable for local execution and augmentation with retrieval from local projects. We train GPT-2 and RETRO models on open-source Python files, experimentally compare them and confirm the benefits of vector embedding based retrieval. Additionally, we improve our models' performance with in-context retrieval, which retrieves the context based on the Jaccard similarity of tokens. We further evaluate in-context retrieval on larger models and conclude that, despite its simplicity, the approach is better than using the RETRO architecture. We highlight the key role of proper tokenization in achieving the full potential of large language models. |
| Sekundarne ključne besede: |
large language models;code completion;retrieval-augmented generation;in-context retrieval; |
| Vrsta dela (COBISS): |
Magistrsko delo/naloga |
| Študijski program: |
0 |
| Komentar na gradivo: |
Univ. v Ljubljani, Fak. za matematiko in fiziko, Oddelek za matematiko, Računalništvo in matematika - 2. stopnja |
| Strani: |
X, 45 str. |
| ID: |
24473629 |