ChatPaper.aiChatPaper

CodeCompose: Ein groß angelegter industrieller Einsatz von KI-unterstützter Code-Erstellung

CodeCompose: A Large-Scale Industrial Deployment of AI-assisted Code Authoring

May 20, 2023
Autoren: Vijayaraghavan Murali, Chandra Maddila, Imad Ahmad, Michael Bolin, Daniel Cheng, Negar Ghorbani, Renuka Fernandez, Nachiappan Nagappan
cs.AI

Zusammenfassung

Der Aufstieg großer Sprachmodelle (LLMs) hat verschiedene Anwendungen dieser Technologie in der Softwareentwicklung ermöglicht. Insbesondere generative LLMs haben sich als effektiv erwiesen, um KI-basierte Code-Erstellungstools zu betreiben, die während der Code-Erstellung ganze Anweisungen oder Codeblöcke vorschlagen können. In diesem Artikel stellen wir CodeCompose vor, ein KI-gestütztes Code-Erstellungstool, das intern bei Meta entwickelt und eingesetzt wurde. CodeCompose basiert auf dem InCoder-LLM, das generative Fähigkeiten mit Bidirektionalität kombiniert. Wir haben CodeCompose skaliert, um Zehntausende von Entwicklern bei Meta zu unterstützen, über 10+ Programmiersprachen und mehrere Code-Oberflächen hinweg. Wir diskutieren einzigartige Herausforderungen in Bezug auf Benutzererfahrung und Metriken, die bei der Bereitstellung solcher Tools in groß angelegten industriellen Umgebungen auftreten. Wir präsentieren unsere Erfahrungen bei der Entscheidungsfindung über das Modell und die Systemarchitektur für CodeCompose, die diese Herausforderungen adressieren. Schließlich präsentieren wir Metriken aus unserer groß angelegten Bereitstellung von CodeCompose, die dessen Auswirkungen auf die interne Code-Erstellungserfahrung bei Meta über einen Zeitraum von 15 Tagen zeigen, in dem CodeCompose 4,5 Millionen Vorschläge gemacht hat. Quantitative Metriken zeigen, dass (i) CodeCompose eine Akzeptanzrate von 22 % über mehrere Sprachen hinweg aufweist und (ii) 8 % des von CodeCompose-Nutzern eingegebenen Codes durch die Annahme von Code-Vorschlägen von CodeCompose entstehen. Qualitative Rückmeldungen deuten auf eine überwältigend positive Resonanz von 91,5 % für CodeCompose hin. Neben der Unterstützung bei der Code-Erstellung führt CodeCompose auch zu anderen positiven Nebeneffekten, wie der Ermutigung von Entwicklern, mehr Code-Dokumentation zu erstellen, und der Hilfe bei der Entdeckung neuer APIs usw.
English
The rise of large language models (LLMs) has unlocked various applications of this technology in software development. In particular, generative LLMs have been shown to effectively power AI-based code authoring tools that can suggest entire statements or blocks of code during code authoring. In this paper we present CodeCompose, an AI-assisted code authoring tool developed and deployed at Meta internally. CodeCompose is based on the InCoder LLM that merges generative capabilities with bi-directionality. We have scaled up CodeCompose to serve tens of thousands of developers at Meta, across 10+ programming languages and several coding surfaces. We discuss unique challenges in terms of user experience and metrics that arise when deploying such tools in large-scale industrial settings. We present our experience in making design decisions about the model and system architecture for CodeCompose that addresses these challenges. Finally, we present metrics from our large-scale deployment of CodeCompose that shows its impact on Meta's internal code authoring experience over a 15-day time window, where 4.5 million suggestions were made by CodeCompose. Quantitative metrics reveal that (i) CodeCompose has an acceptance rate of 22% across several languages, and (ii) 8% of the code typed by users of CodeCompose is through accepting code suggestions from CodeCompose. Qualitative feedback indicates an overwhelming 91.5% positive reception for CodeCompose. In addition to assisting with code authoring, CodeCompose is also introducing other positive side effects such as encouraging developers to generate more in-code documentation, helping them with the discovery of new APIs, etc.
PDF20December 15, 2024