magistrsko delo

Abstract

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.

Keywords

veliki jezikovni modeli;dopolnjevanje kode;s poizvedovanjem obogateno dopolnjevanje;kontekstno poizvedovanje;

Data

Language: Slovenian
Year of publishing:
Typology: 2.09 - Master's Thesis
Organization: UL FRI - Faculty of Computer and Information Science
Publisher: [M. Hostnik]
UDC: 004.42
COBISS: 200036099 Link will open in a new window
Views: 77
Downloads: 11
Average score: 0 (0 votes)
Metadata: JSON JSON-RDF JSON-LD TURTLE N-TRIPLES XML RDFA MICRODATA DC-XML DC-RDF RDF

Other data

Secondary language: English
Secondary title: Retrieval-augmented code completion for local projects using large language models
Secondary abstract: 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.
Secondary keywords: large language models;code completion;retrieval-augmented generation;in-context retrieval;
Type (COBISS): Master's thesis/paper
Study programme: 0
Thesis comment: Univ. v Ljubljani, Fak. za matematiko in fiziko, Oddelek za matematiko, Računalništvo in matematika - 2. stopnja
Pages: X, 45 str.
ID: 24473629