Hugging Face und ServiceNow veröffentlichen ein kostenloses Modell zur Codegenerierung

Hugging Face und ServiceNow veroeffentlichen ein kostenloses Modell zur Codegenerierung

Das KI-Startup Hugging Face und ServiceNow Research, die Forschungs- und Entwicklungsabteilung von ServiceNow, haben StarCoder herausgebracht, eine kostenlose Alternative zu codegenerierenden KI-Systemen nach dem Vorbild von GitHubs Copilot.

Codegenerierende Systeme wie AlphaCode von DeepMind; CodeWhisperer von Amazon; und OpenAIs Codex, der Copilot antreibt, bieten einen verlockenden Einblick in die Möglichkeiten von KI im Bereich der Computerprogrammierung. Angenommen, die ethischen, technischen und rechtlichen Probleme werden eines Tages ausgebügelt (und KI-gestützte Codierungstools verursachen nicht mehr Fehler und Sicherheitslücken, als sie lösen), könnten sie die Entwicklungskosten erheblich senken und es den Programmierern ermöglichen, sich auf kreativere Aufgaben zu konzentrieren.

Laut a lernen von der University of Cambridge wird mindestens die Hälfte der Bemühungen der Entwickler auf das Debuggen und nicht auf das aktive Programmieren verwendet, was die Softwareindustrie schätzungsweise 312 Milliarden US-Dollar pro Jahr kostet. Aber bisher nur a Hand voll von Code generierenden KI-Systemen wurden der Öffentlichkeit frei zugänglich gemacht – was die kommerziellen Anreize der Organisationen widerspiegelt, die sie bauen (siehe: Replit).

StarCoder, das im Gegensatz dazu lizenziert ist, um die gebührenfreie Nutzung durch jedermann, einschließlich Unternehmen, zu ermöglichen, wurde in über 80 Programmiersprachen sowie Text aus GitHub-Repositories, einschließlich Dokumentation und, geschult programmierhefte. StarCoder lässt sich in den Code-Editor von Microsoft Visual Studio Code integrieren und kann, wie ChatGPT von OpenAI, grundlegende Anweisungen befolgen (z. B. „Erstellen einer App-Benutzeroberfläche“) und Fragen zum Code beantworten.

Leandro von Werra, Machine Learning Engineer bei Hugging Face und Co-Lead bei StarCoder, behauptet, dass StarCoder das KI-Modell von OpenAI, das für die ersten Versionen von Copilot verwendet wurde, erreicht oder übertrifft.

„Eine Sache, die wir letztes Jahr von Veröffentlichungen wie Stable Diffusion gelernt haben, ist die Kreativität und Leistungsfähigkeit der Open-Source-Community“, sagte von Werra in einem E-Mail-Interview mit Tech. „Innerhalb weniger Wochen nach der Veröffentlichung hat die Community Dutzende Varianten des Modells sowie benutzerdefinierte Anwendungen erstellt. Die Veröffentlichung eines leistungsstarken Codegenerierungsmodells ermöglicht es jedem, es zu verfeinern und an seine eigenen Anwendungsfälle anzupassen, und wird unzählige nachgelagerte Anwendungen ermöglichen.“

Modell bauen

StarCoder ist Teil des BigCode-Projekts von Hugging Face und ServiceNow mit über 600 Personen, das Ende letzten Jahres gestartet wurde und darauf abzielt, „modernste“ KI-Systeme für Code auf „offene und verantwortungsvolle“ Weise zu entwickeln. ServiceNow stellte einen internen Rechencluster mit 512 Nvidia V100-GPUs bereit, um das StarCoder-Modell zu trainieren.

Verschiedene BigCode-Arbeitsgruppen konzentrieren sich auf Unterthemen wie das Sammeln von Datensätzen, die Implementierung von Methoden zum Trainieren von Codemodellen, die Entwicklung einer Evaluierungssuite und die Diskussion ethischer Best Practices. Beispielsweise untersuchte die Arbeitsgruppe Recht, Ethik und Governance Fragen zur Datenlizenzierung, zur Zuordnung von generiertem Code zum Originalcode, zur Schwärzung personenbezogener Daten (PII) und zu den Risiken der Ausgabe von bösartigem Code.

Inspiriert von den früheren Bemühungen von Hugging Face, hochentwickelte Textgenerierungssysteme als Open Source zu veröffentlichen, versucht BigCode, einige der Kontroversen anzugehen, die sich im Zusammenhang mit der Praxis der KI-gestützten Codegenerierung ergeben. Die gemeinnützige Software Freedom Conservancy hat unter anderem GitHub und OpenAI dafür kritisiert, öffentlichen Quellcode zu verwenden, der nicht vollständig unter einer freizügigen Lizenz steht, um Codex zu trainieren und zu monetarisieren. Codex ist über die kostenpflichtigen APIs von OpenAI und Microsoft verfügbar, während GitHub vor kurzem damit begonnen hat, Gebühren für den Zugriff auf Copilot zu erheben.

GitHub und OpenAI behaupten ihrerseits, dass Codex und Copilot – geschützt durch die Doktrin von faire Nutzungzumindest in den USA – nicht gegen Lizenzvereinbarungen verstoßen.

„Die Veröffentlichung eines leistungsfähigen Codegenerierungssystems kann als Forschungsplattform für Institutionen dienen, die an dem Thema interessiert sind, aber nicht über die erforderlichen Ressourcen oder das Know-how verfügen, um solche Modelle zu trainieren“, sagte von Werra. „Wir glauben, dass dies langfristig zu einer fruchtbaren Forschung zu Sicherheit, Fähigkeiten und Grenzen von Code-generierenden Systemen führt.“

Im Gegensatz zu Copilot wurde der StarCoder mit 15 Milliarden Parametern über mehrere Tage an einem Open-Source-Datensatz namens The Stack trainiert, der über 19 Millionen kuratierte, freizügig lizenzierte Repositories und mehr als sechs Terabyte Code in über 350 Programmiersprachen enthält. Beim maschinellen Lernen sind Parameter die Teile eines KI-Systems, die aus historischen Trainingsdaten gelernt wurden und im Wesentlichen die Fähigkeiten des Systems bei einem Problem definieren, z. B. beim Generieren von Code.

Eine Grafik, die den Inhalt des The Stack-Datensatzes aufschlüsselt. Bildnachweis: BigCode

Da es freizügig lizenziert ist, kann Code von The Stack kopiert, modifiziert und weiterverteilt werden. Aber auch das BigCode-Projekt bietet einen Weg für Entwickler, sich von The Stack abzumelden, ähnlich wie anderswo Bemühungen, Künstler ihre Arbeit aus Text-zu-Bild-KI-Trainingsdatensätzen entfernen zu lassen.

Das BigCode-Team arbeitete auch daran, personenbezogene Daten wie Namen, Benutzernamen, E-Mail- und IP-Adressen sowie Schlüssel und Passwörter aus The Stack zu entfernen. Sie haben einen separaten Datensatz mit 12.000 Dateien erstellt, die personenbezogene Daten enthalten, die sie über „Gated Access“ an Forscher weitergeben wollen.

Darüber hinaus verwendete das BigCode-Team das Malware-Erkennungstool von Hugging Face, um Dateien aus The Stack zu entfernen, die als „unsicher“ gelten könnten, wie etwa solche mit bekannten Exploits.

Die Datenschutz- und Sicherheitsprobleme bei generativen KI-Systemen, die größtenteils mit relativ ungefilterten Daten aus dem Internet trainiert werden, sind bekannt. ChatGPT einmal freiwillig die Telefonnummer eines Journalisten. Und GitHub hat bestätigt, dass Copilot möglicherweise Schlüssel, Anmeldeinformationen und Passwörter generiert, die in seinen Trainingsdaten auf neuartigen Zeichenfolgen zu sehen sind.

„Code stellt für die meisten Unternehmen eines der sensibelsten geistigen Eigentumsrechte dar“, sagte von Werra. „Insbesondere die gemeinsame Nutzung außerhalb ihrer Infrastruktur stellt uns vor immense Herausforderungen.“

Zu seinem Punkt haben einige Rechtsexperten argumentiert, dass Code-generierende KI-Systeme Unternehmen gefährden könnten, wenn sie unwissentlich urheberrechtlich geschützten oder sensiblen Text aus den Tools in ihre Produktionssoftware integrieren würden. Als Elaine Atwell Anmerkungen in einem Beitrag im Unternehmensblog von Kolide, weil Systeme wie Copilot die Codes seiner Lizenzen entfernen, es schwierig ist zu sagen, welcher Code zulässig ist und welcher möglicherweise inkompatible Nutzungsbedingungen hat.

Als Reaktion auf die Kritik fügte GitHub einen Schalter hinzu, mit dem Kunden verhindern können, dass vorgeschlagener Code, der mit öffentlichen, potenziell urheberrechtlich geschützten Inhalten von GitHub übereinstimmt, angezeigt wird. Amazon folgt diesem Beispiel und lässt CodeWhisperer die Lizenz hervorheben und optional filtern, die mit Funktionen verbunden ist, die es vorschlägt, die eine Ähnlichkeit mit Snippets aufweisen, die in seinen Trainingsdaten gefunden wurden.

Gewerbliche Fahrer

Was hat ServiceNow, ein Unternehmen, das hauptsächlich mit Software zur Unternehmensautomatisierung handelt, davon? Ein „leistungsstarkes Modell und eine verantwortungsbewusste KI-Modelllizenz, die eine kommerzielle Nutzung erlaubt“, sagte Harm de Vries, Leiter des Large Language Model Lab bei ServiceNow Research und Co-Leiter des BigCode-Projekts.

Man kann sich vorstellen, dass ServiceNow StarCoder schließlich in seine kommerziellen Produkte einbauen wird. Das Unternehmen würde nicht verraten, wie viel in Dollar es in das BigCode-Projekt investiert hat, außer dass die Menge an gespendeter Rechenleistung „erheblich“ war.

„Das Large Language Models Lab bei ServiceNow Research baut Fachwissen zur verantwortungsvollen Entwicklung generativer KI-Modelle auf, um den sicheren und ethischen Einsatz dieser leistungsstarken Modelle für unsere Kunden zu gewährleisten“, sagte de Vries. „Der Open-Science-Forschungsansatz für BigCode bietet ServiceNow-Entwicklern und Kunden volle Transparenz darüber, wie alles entwickelt wurde, und demonstriert das Engagement von ServiceNow, sozial verantwortliche Beiträge für die Community zu leisten.“

StarCoder ist nicht Open Source im engeren Sinne. Vielmehr wird es im Rahmen eines Lizenzierungsschemas, OpenRAIL-M, veröffentlicht, das „rechtlich durchsetzbare“ Anwendungsfallbeschränkungen enthält, denen Derivate des Modells – und Apps, die das Modell verwenden – entsprechen müssen.

Beispielsweise müssen StarCoder-Benutzer zustimmen, das Modell nicht zur Generierung oder Verbreitung von bösartigem Code zu nutzen. Während es (zumindest vorerst) nur wenige Beispiele aus der realen Welt gibt, haben Forscher dies getan gezeigt wie KI wie StarCoder in Malware eingesetzt werden könnte, um grundlegende Formen der Erkennung zu umgehen.

Ob Entwickler die Lizenzbedingungen tatsächlich respektieren, bleibt abzuwarten. Abgesehen von rechtlichen Drohungen gibt es nichts auf der grundlegenden technischen Ebene, um sie daran zu hindern, die Bedingungen zu ihren eigenen Zwecken zu missachten.

So geschah es mit der oben erwähnten Stable Diffusion, deren ähnlich restriktive Lizenz von Entwicklern ignoriert wurde, die das generative KI-Modell verwendeten, um Bilder von Deepfakes von Prominenten zu erstellen.

Aber die Möglichkeit hat von Werra nicht entmutigt, der der Meinung ist, dass die Nachteile einer Nichtveröffentlichung von StarCoder nicht von den Vorteilen aufgewogen werden.

„Beim Start wird StarCoder nicht so viele Funktionen wie GitHub Copilot liefern, aber mit seiner Open-Source-Natur kann die Community dabei helfen, es zu verbessern und benutzerdefinierte Modelle zu integrieren“, sagte er.

Die StarCoder-Code-Repositories, das Modelltrainings-Framework, die Methoden zur Datensatzfilterung, die Code-Evaluierungs-Suite und die Notebooks zur Forschungsanalyse sind ab dieser Woche auf GitHub verfügbar. Das BigCode-Projekt wird sie in Zukunft aufrechterhalten, während die Gruppen versuchen, leistungsfähigere Modelle zur Codegenerierung zu entwickeln, die durch Beiträge aus der Community angetrieben werden.

Es gibt sicherlich Arbeit zu tun. In dem technischen Dokument, das die Veröffentlichung von StarCoder begleitet, sagen Hugging Face und ServiceNow, dass das Modell möglicherweise ungenaue, anstößige und irreführende Inhalte sowie PII und bösartigen Code produziert, der es geschafft hat, die Phase der Datensatzfilterung zu überwinden.

tch-1-tech