Kostenloses Development-Tool von Facebook Code Llama – KI-gestütztes Coding mit Python und C#

Von Thomas Joos 4 min Lesedauer

Anbieter zum Thema

Code Llama ist ein neues Large Language Model des Facebook-Konzerns Meta, das auf dem von Microsoft und Meta entwickelten Open-Source-LLM Llama 2 aufbaut. Die kostenlose Lösung hilft beim Programmieren.

Mit Code Llama können Entwickler eigene Programme oder Code-Snippets erstellen, auch online.
Mit Code Llama können Entwickler eigene Programme oder Code-Snippets erstellen, auch online.
(Bild: Joos / Meta)

Mit Code Llama stellt Meta ein neues Large Language Model (LLM) zur Verfügung, das auf Llama 2 basiert und für das Schreiben von Code optimiert ist. In vielen Tests konnte Llama 2 beim Coden bereits locker mit GPT-4 mithalten, teilweise das OpenAI-LLM sogar übertreffen. Und verschiedene Tests deuten darauf hin, dass Code Llama im Generieren von Code immer besser wird. Ein Blick lohnt sich daher.

Mit Code Llama können Entwickler eigene Programme oder Code-Snippets erstellen, auch online.
Mit Code Llama können Entwickler eigene Programme oder Code-Snippets erstellen, auch online.
(Bild: Joos / Meta)

Einfach ausgedrückt hilft Code Llama dabei, auf Basis herkömmlicher KI-Prompts – also mit Anfragen in natürlicher Sprache – Code zu schreiben. Im Fokus steht dabei das Vervollständigen von Code und das Beheben von Fehlern im selbst geschriebenen Code. Allerdings ist Code Llama durchaus dazu in der Lage, komplette Code-Abschnitte selbst zu schreiben – und das vollkommen kostenlos. Generell hat Facebook das Produkt auch für die kommerzielle Nutzung freigegeben.

Dadurch ist die Lösung in der Lage, besseren Programmiercode zu entwickeln, als das mit ChatGPT möglich ist. Welche Qualität der erstellte Code besitzt, muss allerdings erst abgewartet werden. Code Llama positioniert sich generell als Alternative oder Ergänzung zu GitHub Copilot. Während Code Llama auf dem LLM-Modell Llama 2 basiert, nutzt Github Copilot das Sprachmodell GPT-4 von OpenAI. Parallel dazu arbeitet auch Amazon an einer Lösung mit der Bezeichnung CodeWhisperer. Google entwickelt derzeit an seiner Lösung AlphaCode.

Mit Code Llama schneller und fehlerfreier programmieren

Code Llama soll Entwicklern dabei helfen, schneller und fehlerfreier programmieren zu können. Außerdem soll die Lösung dabei unterstützen, den geschriebenen Programmcode besser zu dokumentieren. Das hilft später zum Beispiel beim Beheben von Fehlern oder beim Erweitern der Funktionen.

Meta hat Code Llama als eine auf Code spezialisierte Version von Llama 2 entwickelt.

Dazu wurde das vorhandene Llama-2-Modell verwendet und mit spezifischen Datensätzen zur Entwicklung erweitert. Dadurch versteht Code Llama verschiedene Programmiersprachen, darunter Python, C++, Java, PHP, Typescript (Javascript), C#, Bash und einige andere. Es ist zu erwarten, dass in Zukunft weitere Sprachen dazu kommen.

Codevervollständigung in Echtzeit

Code Llama steht in verschiedenen Varianten zur Verfügung.
Code Llama steht in verschiedenen Varianten zur Verfügung.
(Bild: Joos / Meta)

Code Llama kann bei der Erweiterung von Code helfen, aber auch komplette Codeblöcke auf Anforderung durch ein Prompt schreiben. Dabei kann komplett auf natürliche Sprache gesetzt werden. Code Llama steht in verschiedenen Größen-Varianten von 7B bis 70B zur Verfügung, wobei die Zahl für Milliarden Parameter stehen, also beispielsweise als 7 Milliarden Parameter im Falle von 7B. Jedes Modell wird mit Code und codebezogenen Daten trainiert. Die 7 Milliarden- und 13 Milliarden-Basis- und Instruct-Modelle wurden zusätzlich noch mit „fill-in-the-middle“ (FIM) trainiert. Dadurch können diese Modelle bestehenden Code verwenden und diesen erweitern.

Das 7 Milliarden Parameter-Modell unterstützt den Betrieb mit einem einzigen Grafikprozessor. Die Modelle mit 34 bzw. 70 Milliarden Parametern (34B und 70B) liefern die besten Ergebnisse und bietet eine bessere Unterstützung. Dafür dauert die Erstellung von Code aber auch länger. Die „kleineren“ Modelle 7B und 13B sind schneller und können Code mit einer sehr geringen Latenz vervollständigen, teilweise sogar in Echtzeit. Insgesamt stehen bei Code Llama daher folgende Gewichtungen zur Verfügung.

Die Modelle stehen auf der GitHub-Seite des Code-Llama-Projektes zur Verfügung. Die Größe des Downloads hängt vom jeweiligen Modell ab. Generell liegen die Download-Größen im Bereich von 13 Gigabyte (7B) bis 200 Gigabyte (70B).

Code Llama Python und Code Llama Instruct

Parallel zu den oben vorgestellten Varianten von Code Llama haben die Entwickler noch zwei weitere Varianten zur Verfügung gestellt. Mit „Code Llama – Python“ können Entwickler auf der Grundlage von 100B Token Python-Code Code erstellen.

Wenn Entwickler daher Code in Python schreiben und auf KI-Unterstützung setzen wollen, ist die Version „Code Llama – Python“ schlussendlich die am besten geeignete Variante von Code Llama. Python und PyTorch sind in der KI-Welt ohnehin beliebt und häufig im Einsatz. Daher ist ein auf Python spezialisiertes Modell in dieser Hinsicht mit Sicherheit sehr gefragt und auf jeden Fall einen Blick wert.

Die Variante „Code Llama – Instruct“ ist wiederum auf Anweisungen abgestimmt. Dieses Modell wird mit einer natürlichsprachlichen Anweisungseingabe und der erwarteten Ausgabe trainiert. Das Ergebnis ist ein besseres Verständnis dafür, was Entwickler mit ihrer Eingabe erwarten. Auf diese Weise kann es besser verstehen, was die Benutzer von ihren Eingabeaufforderungen erwarten.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Code Llama über Web-Interfaces nutzen

Natürlich ist es etwas aufwendig, selbst ein LLM herunterzuladen, einzurichten und auf einem eigenen Rechner lokal zum Laufen zu bringen. Da mitunter weit über 100 GB an Daten zusammenkommen, kann das Entwicklungsrechner schnell belasten. Die verschiedenen Größen-Varianten sind teilweise für eigene Einsatzgebiete gedacht und können sich gegenseitig nicht ersetzen. Teils benötigen Entwickler mehrere Modelle parallel.

Der Code-KI-Dienst Poe bietet verschiedene Large Language Models an, darunter auch Code-Llama.
Der Code-KI-Dienst Poe bietet verschiedene Large Language Models an, darunter auch Code-Llama.
(Bild: Joos / Meta)

Andere Lösungen bauen allerdings die Funktionen von Code Llama in ihre Webdienste ein, zum Beispiel Poe. Hier lassen sich auch die verschiedenen Code-Llama-Modelle in der Cloud nutzen, ohne etwas lokal installieren zu müssen. Auf Perplexity stehen die Code-Llama-Modelle ebenfalls zur Verfügung, gleiches gilt im Fall von Llama 2 und Code Llama auch für die Google Cloud Vertex AI.

(ID:49774590)