Künstliche Intelligenz als Wegbereiter für die Softwareentwicklung der Zukunft

Kategorien:
No items found.
Freigegeben:
June 14, 2024

In der Welt der Softwareentwicklung vollzieht sich eine stille Revolution, und künstliche Intelligenz (KI) ist der Katalysator. Eines der führenden Technologieunternehmen, Meta – vormals bekannt als Facebook – hat ein neues Tool vorgestellt, das die Art und Weise, wie Code geschrieben wird, grundlegend verändern könnte. CodeCompose, ein KI-gestütztes Tool zur Code-Erstellung, nutzt große Sprachmodelle (Large Language Models, LLMs), um Entwicklern Vorschläge für Codezeilen und sogar ganze Codeblöcke zu unterbreiten. Diese Innovation stellt einen bedeutenden Schritt in der Automatisierung und Effizienzsteigerung der Softwareentwicklung dar.

Die Herausforderung, die es zu bewältigen galt, war nicht gering: Um von einzelnen Codezeilenvorschlägen zu umfassenderen, mehrzeiligen Vorschlägen zu gelangen, mussten verschiedene Hindernisse überwunden werden. Ein kritischer Punkt war die "verstörende" Wirkung, die durch das Verschieben des bestehenden Codes durch die Vorschläge der KI entstehen konnte, was die Produktivität und Zufriedenheit der Entwickler beeinträchtigen würde. Um dies zu vermeiden, wurden innovative Lösungen entwickelt, die die wahrgenommene Latenzzeit für die Nutzer verringern. Durch Optimierungen bei der Bereitstellung der Modelle konnte die Latenzzeit für mehrzeilige Vorschläge um das 2,5-fache gesenkt werden.

Experimente mit Zehntausenden von Ingenieuren bei Meta haben ergeben, dass mehrzeilige Vorschläge 42 % der insgesamt angenommenen Zeichen ausmachen, obwohl sie nur 16 % der angezeigten Vorschläge darstellen. Darüber hinaus verdoppelten mehrzeilige Vorschläge fast den Prozentsatz der eingesparten Tastenanschläge für die Nutzer von 9 % auf 17 %. Weniger als 1 % der Ingenieure bei Meta haben sich gegen die mehrzeiligen Vorschläge entschieden, was auf eine hohe Akzeptanz des Tools hindeutet.

CodeCompose basiert auf dem InCoder-LLM, der generative Fähigkeiten mit Bidirektionalität verbindet. Es wurde für den Einsatz bei Meta skaliert, um Zehntausenden von Entwicklern Unterstützung in über 10 Programmiersprachen und mehreren Codierungsumgebungen zu bieten. Die Akzeptanzrate von CodeCompose liegt bei 22 % über verschiedene Sprachen hinweg, und 8 % des von den Nutzern von CodeCompose getippten Codes stammen aus den Vorschlägen des Tools. Die qualitative Rückmeldung zeigt mit 91,5 % eine überwältigend positive Reaktion.

Meta stellt auch Code Llama vor, ein auf Llama 2 basierendes KI-Modell, das speziell für das Generieren und Erörtern von Code entwickelt wurde. Code Llama ist öffentlich zugänglich und für Forschungs- und kommerzielle Zwecke unter der gleichen Community-Lizenz wie Llama 2 verfügbar. Es unterstützt viele der heute beliebtesten Programmiersprachen und wird in drei Größen mit 7B, 13B und 34B Parametern angeboten. Jedes dieser Modelle wurde mit 500B Token von Code und codebezogenen Daten trainiert, wobei die 7B- und 13B-Modelle zusätzlich mit der Fähigkeit zum Einsetzen von Code in bestehenden Code trainiert wurden.

Die verschiedenen Größen von Code Llama adressieren unterschiedliche Anforderungen hinsichtlich der Bereitstellung und Latenz. Während das 34B-Modell die besten Ergebnisse liefert, sind die kleineren 7B- und 13B-Modelle schneller und eignen sich besser für Aufgaben, die eine geringe Latenzzeit erfordern, wie die Echtzeit-Codevervollständigung. Zusätzlich wurde Code Llama feinabgestimmt, um spezialisierte Varianten wie Code Llama – Python und Code Llama – Instruct zu erstellen.

KI-Modelle, insbesondere solche für die Codierung, profitieren von einem offenen Ansatz hinsichtlich Innovation und Sicherheit. Öffentlich verfügbare, code-spezifische Modelle können die Entwicklung neuer Technologien fördern, die das Leben der Menschen verbessern. Indem Code-Modelle wie Code Llama freigegeben werden, kann die gesamte Gemeinschaft ihre Fähigkeiten bewerten, Probleme identifizieren und Schwachstellen beheben.

Zusammenfassend lässt sich sagen, dass CodeCompose und Code Llama die Landschaft der Softwareentwicklung bereichern könnten, indem sie Entwicklern leistungsfähige Tools an die Hand geben, die nicht nur die Produktivität steigern, sondern auch das Erlernen neuer Programmiersprachen erleichtern könnten. Die KI-Technologie entwickelt sich weiter und wird immer stärker zu einem integralen Bestandteil der modernen Softwareentwicklung.

Bibliografie:
- CodeCompose: A Large-Scale Industrial Deployment of AI-assisted Code Authoring. arXiv:2305.12050 [cs.SE]. Verfügbar unter: https://arxiv.org/abs/2305.12050
- Meta (2023). Introducing Code Llama, an AI Tool for Coding. Verfügbar unter: https://about.fb.com/news/2023/08/code-llama-ai-for-coding/
- Meta AI Blog & AI Research. Verfügbar unter: https://ai.facebook.com/blog/

Was bedeutet das?
No items found.