ControlNet und StarCoder: Roblox-Forschungsfortschritte für generative KI – Roblox-Blog

ControlNet und StarCoder: Roblox-Forschungsfortschritte für generative KI – Roblox-Blog

Quellknoten: 2864546

Wir engagieren uns zutiefst für eine verantwortungsvolle und gemeinschaftsorientierte Forschung in allen Bereichen, einschließlich künstlicher Intelligenz (KI). Dies erreichen wir durch Transparenz, externe Validierung und die Unterstützung akademischer Institutionen durch Zusammenarbeit und Sponsoring. Dieser Ansatz ermöglicht es uns, die größten Fortschritte in unseren drei Schwerpunktbereichen schneller zu erzielen: generative KI, Skalierung von Rechenzentren und Online-Sicherheit. Heute teilen wir Erkenntnisse und Ergebnisse aus zwei unserer generativen KI-Forschungsprojekte. ControlNet ist ein neuronales Open-Source-Netzwerk, das Bilderzeugungsmodellen eine bedingte Kontrolle hinzufügt, um präzisere Bildausgaben zu ermöglichen. StarCoder ist ein hochmodernes Open-Source-LLM (Large Language Model) zur Codegenerierung. 

Bei beiden Projekten handelt es sich um akademische und industrielle Kooperationen. Beide konzentrieren sich auch auf wesentlich leistungsfähigere Tools für unsere Entwickler: 3D-Künstler und Programmierer. Vor allem und im Einklang mit unserer Mission, langfristig durch transformative Forschung zu investieren, weisen diese Projekte Hinweise auf Fortschritte im grundlegenden wissenschaftlichen Verständnis und der Kontrolle von KI für viele Anwendungen auf. Wir glauben, dass diese Arbeit einen erheblichen Einfluss auf die Zukunft von Roblox und der Branche insgesamt haben kann und sind stolz darauf, sie offen zu teilen.

ControlNet

Jüngste KI-Durchbrüche – insbesondere datengesteuerte Methoden des maschinellen Lernens (ML) unter Verwendung tiefer neuronaler Netze – haben zu neuen Fortschritten bei den Erstellungstools geführt. Zu diesen Fortschritten gehören unsere Code-Assistent und Materialgenerator Funktionen, die in unserem kostenlosen Tool Roblox Studio öffentlich verfügbar sind. Moderne generative KI-Systeme enthalten Datenstrukturen, sogenannte Modelle, die durch Milliarden von Trainingsoperationen verfeinert werden. Die leistungsstärksten Modelle sind heute multimodal, das heißt, sie werden auf einer Mischung aus Medien wie Text, Bildern und Audio trainiert. Dies ermöglicht es ihnen, die gemeinsamen zugrunde liegenden Bedeutungen in allen Medien zu finden, anstatt eine übermäßige Anpassung an bestimmte Elemente eines Datensatzes, wie z. B. Farbpaletten oder Rechtschreibung, vorzunehmen. 

Diese neuen KI-Systeme verfügen über eine erhebliche Ausdruckskraft, aber diese Kraft wird größtenteils durch „promptes Engineering“ gesteuert. Dazu müssen Sie lediglich den Eingabetext ändern, ähnlich wie eine Suchmaschinenabfrage verfeinern, wenn diese nicht das Ergebnis liefert, das Sie erwartet haben. Dies mag zwar eine ansprechende Möglichkeit sein, mit einer neuen Technologie wie einem ungerichteten Chatbot herumzuspielen, ist jedoch keine effiziente oder effektive Möglichkeit, Inhalte zu erstellen. Schöpfer benötigen stattdessen leistungsstarke Werkzeuge, die sie durch aktive Kontrolle statt durch Vermutungen effektiv nutzen können.

Das ControlNet-Projekt ist ein Schritt zur Lösung einiger dieser Herausforderungen. Es bietet eine effiziente Möglichkeit, die Leistung großer vorab trainierter KI-Modelle zu nutzen, z Stable Diffusion , ohne auf schnelles Engineering angewiesen zu sein. ControlNet erhöht die Kontrolle, indem es dem Künstler ermöglicht, über reine Textaufforderungen hinaus zusätzliche Eingabebedingungen bereitzustellen. Der Roblox-Forscher und Stanford-Universitätsprofessor Maneesh Agrawala und der Stanford-Forscher Lvmin Zhang formulieren die Ziele für unser gemeinsames ControlNet-Projekt wie folgt:

  1. Entwickeln Sie eine bessere Benutzeroberfläche für generative KI-Tools. Gehen Sie über obskure, schnelle Manipulation hinaus und nutzen Sie natürlichere Wege zur Kommunikation einer Idee oder eines kreativen Konzepts.
  2. Bieten Sie eine präzisere räumliche Kontrolle, die über die Erstellung „eines Bildes wie“ oder „eines Bildes im Stil von …“ hinausgeht und es ermöglicht, genau das Bild zu verwirklichen, das der Schöpfer im Kopf hat.
  3. Verwandeln Sie generatives KI-Training in einen recheneffizienteren Prozess, der schneller ausgeführt wird, weniger Speicher benötigt und weniger elektrische Energie verbraucht.
  4. Erweitern Sie die bildgenerierende KI zu einem wiederverwendbaren Baustein. Anschließend kann es in standardisierte Bildverarbeitungs- und 3D-Rendering-Pipelines integriert werden. 

Indem es den Erstellern ermöglicht, ein zusätzliches Bild zur räumlichen Kontrolle bereitzustellen, gewährt ControlNet eine größere Kontrolle über das endgültig generierte Bild. Beispielsweise erzeugte die Eingabeaufforderung „männliches Reh mit Geweih“ auf einem vorhandenen Text-zu-Bild-Generator eine große Vielfalt an Bildern, wie unten gezeigt:

Diese mit früheren KI-Lösungen erzeugten Bilder sind attraktive, aber leider im Wesentlichen willkürliche Ergebnisse – es gibt keine Kontrolle. Bei diesen früheren Bilderzeugungssystemen gibt es keine Möglichkeit, die Ausgabe zu steuern, außer der Textaufforderung zu überarbeiten.

Mit ControlNet hat der Ersteller jetzt viel mehr Macht. Eine Möglichkeit zur Verwendung von ControlNet besteht darin, sowohl eine Eingabeaufforderung als auch ein Quellbild bereitzustellen, um die allgemeine Form zu bestimmen, der gefolgt werden soll. In diesem Fall würden die resultierenden Bilder immer noch Abwechslung bieten, aber vor allem die vorgegebene Form beibehalten:

Der Ersteller hätte auch eine Reihe von Kanten, ein Bild ohne Eingabeaufforderung oder viele andere Möglichkeiten zur Bereitstellung ausdrucksstarker Eingaben für das System angeben können.

Um ein ControlNet zu erstellen, klonen wir die Gewichte innerhalb des Netzwerks eines großen Diffusionsmodells in zwei Versionen. Einer ist der trainierbares Netzwerk (dies stellt die Steuerung bereit; es ist „das ControlNet“) und das andere ist das gesperrtes Netzwerk. Das gesperrte Netzwerk bewahrt die aus Milliarden von Bildern gelernte Fähigkeit und könnte jeder vorherige Bildgenerator sein. Anschließend trainieren wir das trainierbare Netzwerk anhand aufgabenspezifischer Datensätze, um die bedingte Steuerung aus dem zusätzlichen Bild zu lernen. Die trainierbaren und gesperrten Kopien sind mit einer einzigartigen Art von Faltungsschicht verbunden, die wir nennen Nullfaltung, wobei die Faltungsgewichte auf erlernte Weise schrittweise von Null auf optimierte Parameter anwachsen, was bedeutet, dass sie zunächst keinen Einfluss haben und das System das optimale Maß an Kontrolle ableitet, das es auf das gesperrte Netzwerk ausüben kann.

Da die Originalgewichte über das gesperrte Netzwerk erhalten bleiben, funktioniert das Modell gut mit Trainingsdatensätzen unterschiedlicher Größe. Und die Null-Faltungsschicht macht den Prozess viel schneller – näher an der Feinabstimmung eines Diffusionsmodells, als neue Schichten von Grund auf zu trainieren. 

Wir haben diese Technik zur Bilderzeugung umfassend validiert. ControlNet verbessert nicht nur die Qualität des Ausgabebildes. Außerdem wird dadurch das Training eines Netzwerks für eine bestimmte Aufgabe effizienter und somit für unsere Millionen von Entwicklern praktischer in großem Maßstab einsetzbar. In Experimenten bietet ControlNet einen bis zu zehnfachen Effizienzgewinn im Vergleich zu alternativen Szenarien, bei denen ein Modell vollständig neu trainiert werden muss. Diese Effizienz ist von entscheidender Bedeutung, da der Prozess der Erstellung neuer Modelle im Vergleich zur herkömmlichen Softwareentwicklung zeitaufwändig und ressourcenintensiv ist. Eine effizientere Schulung spart Strom, senkt die Kosten und erhöht die Geschwindigkeit, mit der neue Funktionen hinzugefügt werden können.

Aufgrund der einzigartigen Struktur von ControlNet funktioniert es gut mit Trainingsdatensätzen unterschiedlicher Größe und auf vielen verschiedenen Medientypen. Es hat sich gezeigt, dass ControlNet mit vielen verschiedenen Arten von Steuerungsmodalitäten funktioniert, darunter Fotos, handgezeichnete Skizzen usw öffnen Posenerkennung. Wir glauben, dass ControlNet auf viele verschiedene Arten von Medien für generative KI-Inhalte angewendet werden kann. Das Die Forschung ist offen und öffentlich zugänglich damit die Community damit experimentieren und darauf aufbauen kann, und wir werden weiterhin weitere Informationen präsentieren, wenn wir weitere Entdeckungen damit machen.

StarCoder

Generative KI kann zur Produktion von Bildern, Audio, Text, Programmquellcode oder jeder anderen Form von Rich Media eingesetzt werden. Über verschiedene Medien hinweg sind jedoch die Anwendungen mit dem größten Erfolg tendenziell diejenigen, deren Ergebnisse subjektiv beurteilt werden. Ein Bild gelingt beispielsweise dann, wenn es einen menschlichen Betrachter anspricht. Bestimmte Fehler im Bild, wie z. B. seltsame Merkmale an den Rändern oder sogar ein zusätzlicher Finger an einer Hand, fallen möglicherweise nicht auf, wenn das Gesamtbild überzeugend ist. Ebenso kann ein Gedicht oder eine Kurzgeschichte grammatikalische Fehler oder einige logische Sprünge enthalten, aber wenn das Wesentliche überzeugend ist, neigen wir dazu, diese zu verzeihen. 

Eine andere Möglichkeit, subjektive Kriterien zu berücksichtigen, besteht darin, dass der Ergebnisraum kontinuierlich ist. Ein Ergebnis kann besser sein als ein anderes, es gibt jedoch keinen bestimmten Schwellenwert, ab dem das Ergebnis völlig akzeptabel oder inakzeptabel ist. Für andere Bereiche und Medienformen wird der Output objektiv beurteilt. Beispielsweise ist der von einem generativen KI-Programmierassistenten erstellte Quellcode entweder korrekt oder nicht. Wenn der Code einen Test nicht bestehen kann, schlägt er fehl, auch wenn er dem Code für eine gültige Lösung ähnelt. Dies ist ein diskreter Ergebnisraum. In einem diskreten Bereich ist es schwieriger, erfolgreich zu sein, weil die Kriterien strenger sind und weil man sich nicht schrittweise einer guten Lösung nähern kann – der Code wird zerlegt, bis er plötzlich funktioniert.

Für die Textausgabe verwendete LLMs eignen sich gut für subjektive, kontinuierliche Anwendungen wie Chatbots. Sie scheinen auch für die Prosaerstellung in vielen menschlichen Sprachen wie Englisch und Französisch gut zu funktionieren. Bestehende LLMs scheinen jedoch nicht so gut zu funktionieren Programmierung Sprachen, wie sie es für diese menschlichen Sprachen tun. Code ist eine Form der Mathematik, die eine ganz andere, objektive Möglichkeit bietet, Bedeutungen auszudrücken als natürliche Sprache. Es handelt sich um einen diskreten Ergebnisraum anstelle eines kontinuierlichen Ergebnisraums. Um die höchste Qualität der Codegenerierung in Programmiersprachen für Roblox-Entwickler zu erreichen, benötigen wir Methoden zur Anwendung von LLMs, die in diesem diskreten, objektiven Bereich gut funktionieren können. Wir benötigen außerdem robuste Methoden, um Codefunktionen unabhängig von einer bestimmten Sprachsyntax auszudrücken, beispielsweise Lua, JavaScript oder Python. 

StarCoder, ein neues hochmodernes Open-Source-LLM zur Codegenerierung, ist ein großer Fortschritt für diese technische Herausforderung und ein wirklich offenes LLM für jedermann. StarCoder ist ein Ergebnis davon großer Code Forschungskonsortium, das mehr als 600 Mitglieder aus akademischen und industriellen Forschungslabors umfasst. Der Roblox-Forscher und Professor der Northeastern University, Arjun Guha, half diesem Team bei der Entwicklung von StarCoder. Diese ersten veröffentlichten Ergebnisse konzentrieren sich ausschließlich auf den Codeaspekt, den Bereich, in dem das Gebiet angesichts des relativen Erfolgs subjektiver Methoden am meisten neues Wachstum benötigt. 

Um generative KI durch LLMs bereitzustellen, die das größere KI-Ökosystem und die Roblox-Community unterstützen, benötigen wir Modelle, die ausschließlich auf entsprechend lizenzierten und verantwortungsbewusst gesammelten Datensätzen trainiert wurden. Diese sollten auch über uneingeschränkte Lizenzen verfügen, damit jeder sie nutzen, darauf aufbauen und einen Beitrag zum Ökosystem leisten kann. Heutzutage sind die leistungsstärksten LLMs proprietär oder für begrenzte Formen der kommerziellen Nutzung lizenziert, was den Forschern die Möglichkeit verbietet oder einschränkt, mit dem Modell selbst zu experimentieren. Im Gegensatz dazu ist StarCoder ein wirklich offenes Modell, das von einer Koalition aus Industrie und akademischen Forschern entwickelt und ohne Einschränkungen für kommerzielle Anwendungen in jedem Maßstab lizenziert wurde. StarCoder wird ausschließlich auf verantwortungsvoll gesammelte und entsprechend lizenzierte Inhalte geschult. Das Modell wurde ursprünglich mit öffentlichem Code trainiert und für diejenigen, die ihren Code nicht für das Training verwenden möchten, steht ein Opt-out-Verfahren zur Verfügung.

Heute arbeitet StarCoder mit 86 verschiedenen Programmiersprachen, darunter Python, C++ und Java. Zum Zeitpunkt der Veröffentlichung des Artikels übertraf es jedes Open-Code-LLM, das mehrere Sprachen unterstützt, und war sogar mit vielen der geschlossenen, proprietären Modelle konkurrenzfähig. 

Der StarCoder LLM ist ein Beitrag zum Ökosystem, aber unser Forschungsziel geht viel tiefer. Die größte Wirkung dieser Forschung besteht in der Weiterentwicklung der semantischen Modellierung sowohl objektiver als auch subjektiver multimodaler Modelle, einschließlich Code, Text, Bildern, Sprache und Video, sowie in der Steigerung der Trainingseffizienz durch Domänentransfertechniken. Wir erwarten außerdem tiefe Einblicke in die Wartbarkeit und Steuerbarkeit generativer KI für objektive Aufgaben wie die Quellcodegenerierung. Es gibt einen großen Unterschied zwischen einer faszinierenden Demonstration neuer Technologien und einem sicheren, zuverlässigen und effizienten Produkt, das seiner Benutzergemeinschaft einen Mehrwert bietet. Für unsere ML-Modelle optimieren wir die Leistung hinsichtlich Speicherbedarf, Energieeinsparung und Ausführungszeit. Wir haben außerdem eine robuste Infrastruktur entwickelt, den KI-Kern mit Software umgeben, um ihn mit dem Rest des Systems zu verbinden, und ein nahtloses System für häufige Updates entwickelt, wenn neue Funktionen hinzugefügt werden. 

Die Wissenschaftler und Ingenieure von Roblox mit einigen der klügsten Köpfe der wissenschaftlichen Gemeinschaft zusammenzubringen, ist eine Schlüsselkomponente in unserem Streben nach bahnbrechender Technologie. Wir sind stolz darauf, diese ersten Ergebnisse zu teilen und laden die Forschungsgemeinschaft ein, mit uns zusammenzuarbeiten und auf diesen Fortschritten aufzubauen.

Zeitstempel:

Mehr von Roblox