Diskussion Lokale Codevervollständigung mit ML

Mat

Aktives Mitglied
Moin Leute,

hat jemand von euch schon einen Codeassistenten auf Basis eines LLMs (Large Language Models) ausprobiert oder sogar trainiert? (ich gehe hier mal von PyTorch als Framework aus, aber kann auch was anderes sein)

Ich dachte an eine kontextabhängige Codevervollständigung ähnlich wie bei Copilot aber ohne Anweisungen in Kommentaren oder Erklärung von Code. Das ist unnötiger Ballast für meinen kleinen VRAM. :cry:

Zweck

Wollte das gerne lokal laufen lassen, weil ich mich nicht zu sehr von fremden Services abhängig machen möchte. Ich habe keine starke Grafikkarte, also wollte ich ein kleines Basismodell nehmen. All die GPT- und LLama-Modelle sind auf natürlicher Sprache trainiert und haben deswegen immer Ballast dabei. Aber auch sie können trainiert werden, um Code zu generieren.

Es sollte an keine bestimmte Sprache gebunden sein, oder auf zB Python trainiert aber gut auf andere Sprachen spezialisierbar sein.

Ideen

Vielleicht gibt es aber eine bessere Basis, wenn es nur um die Vervollständigung und nicht um Anweisungen geht. Es sieht aus, als wären die auf GPT2 basierenden Modelle von CodeParrot und BigCode vielversprechend, sind aber oft ein bisschen groß. Aber vielleicht hat jemand von euch schon Erfahrungen damit gemacht oder sogar noch einen besseren Tipp.

Jetzt gibt es bei Textgeneratoren inzwischen die Möglichkeit, LoRAs zu trainieren und diese als zusätzliche Gewichtung einfließen zu lassen. Ich dachte mir, ich könnte eine schöne Basis nehmen, diese auf eine spezifische Sprache anpassen und das Trainingsergebnis um Sprach- oder Libraryspezifische LoRAs ergänzen.

Mit vielen Beispieldaten könnte man das vielleicht sogar rein statistisch lösen, ganz ohne ML. Es wäre zwar ein interessantes Projekt, aber etwas unflexibel und für mich sehr schwierig. Gerne nehme ich aber auch in die Richtung Tipps oder Hinweise auf existierende Frameworks entgegen.
 
Zurück
Oben Unten