ControlNet und StarCoder: Fortschritte in der Roblox-Forschung im Bereich generative KI

Wir setzen uns intensiv für eine verantwortungsvolle und gemeinschaftsorientierte Forschung in allen Bereichen ein, einschließlich der künstlichen Intelligenz (KI). Dies erreichen wir durch Transparenz, externe Validierung und die Unterstützung akademischer Einrichtungen durch Zusammenarbeit und Sponsoring. Dieser Ansatz ermöglicht es uns, die größten Fortschritte in unseren drei Schwerpunktbereichen zu beschleunigen: generative KI, Skalierung von Rechenzentren und Online-Sicherheit. Heute teilen wir Erkenntnisse und Ergebnisse aus zwei unserer Forschungsprojekte zur generativen KI. ControlNet ist ein Open-Source-Neuralnetzwerk, das Bildgenerierungsmodellen bedingte Steuerung hinzufügt, um präzisere Bildergebnisse zu erzielen. StarCoder ist ein hochmodernes Open-Source-Großsprachenmodell (LLM) zur Codegenerierung.
Beide Projekte sind Kooperationen zwischen Wissenschaft und Industrie. Beide konzentrieren sich zudem auf deutlich leistungsfähigere Werkzeuge für unsere Kreativen: 3D-Künstler und Programmierer. Vor allem aber – und im Einklang mit unserer Mission, durch transformative Forschung langfristig zu investieren – zeigen diese Projekte Anzeichen für Fortschritte im grundlegenden wissenschaftlichen Verständnis und der Steuerung von KI für viele Anwendungsbereiche. Wir glauben, dass diese Arbeit einen bedeutenden Einfluss auf die Zukunft von Roblox und den gesamten Bereich haben könnte, und sind stolz darauf, sie offen zu teilen.
ControlNet
Jüngste Durchbrüche im Bereich der KI – insbesondere datengesteuerte Methoden des maschinellen Lernens (ML) unter Verwendung tiefer neuronaler Netze – haben neue Fortschritte bei den Kreativwerkzeugen vorangetrieben. Zu diesen Fortschritten gehören unsere Funktionen „Code Assist“ und „Material Generator“, die in unserem kostenlosen Tool Roblox Studio öffentlich verfügbar sind. Moderne generative KI-Systeme enthalten Datenstrukturen, sogenannte Modelle, die durch Milliarden von Trainingsvorgängen verfeinert werden. Die leistungsstärksten Modelle sind heute multimodal, was bedeutet, dass sie auf einer Mischung aus Medien wie Text, Bildern und Audio trainiert werden. Dies ermöglicht es ihnen, die gemeinsamen zugrunde liegenden Bedeutungen über Medien hinweg zu erkennen, anstatt sich zu sehr an bestimmte Elemente eines Datensatzes wie Farbpaletten oder Rechtschreibung anzupassen.
Diese neuen KI-Systeme verfügen über eine erhebliche Ausdruckskraft, doch diese Kraft wird größtenteils durch „Prompt Engineering“ gelenkt. Das bedeutet im Grunde genommen, den Eingabetext zu ändern – ähnlich wie bei der Verfeinerung einer Suchanfrage, wenn diese nicht das erwartete Ergebnis liefert. Während dies eine spannende Möglichkeit sein mag, mit einer neuen Technologie wie einem ungerichteten Chatbot zu experimentieren, ist es kein effizienter oder effektiver Weg, um Inhalte zu erstellen. Kreative benötigen stattdessen leistungsstarke Werkzeuge, die sie durch aktive Steuerung statt durch Rätselraten effektiv nutzen können.
Das ControlNet-Projekt ist ein Schritt zur Lösung einiger dieser Herausforderungen. Es bietet eine effiziente Möglichkeit, die Leistungsfähigkeit großer vortrainierter KI-Modelle wie Stable Diffusion zu nutzen, ohne auf Prompt Engineering angewiesen zu sein. ControlNet erhöht die Kontrolle, indem es dem Künstler ermöglicht, zusätzliche Eingabebedingungen über reine Text-Prompts hinaus anzugeben. Der Roblox-Forscher und Stanford-Professor Maneesh Agrawala sowie der Stanford-Forscher Lvmin Zhang formulieren die Ziele unseres gemeinsamen ControlNet-Projekts wie folgt:
- Entwicklung einer besseren Benutzeroberfläche für generative KI-Tools. Weg von undurchsichtiger Prompt-Manipulation hin zu natürlicheren Methoden, eine Idee oder ein kreatives Konzept zu kommunizieren.
- Bereitstellung einer präziseren räumlichen Steuerung, um über die Erstellung von „einem Bild wie“ oder „einem Bild im Stil von …“ hinauszugehen und genau das Bild zu realisieren, das der Schöpfer im Kopf hat.
- Das Training generativer KI in einen recheneffizienteren Prozess umwandeln, der schneller ausgeführt wird, weniger Speicher benötigt und weniger Strom verbraucht.
- Erweiterung der bildgenerativen KI zu einem wiederverwendbaren Baustein. Dieser kann dann in standardisierte Bildverarbeitungs- und 3D-Rendering-Pipelines integriert werden.
Indem ControlNet den Schöpfern ermöglicht, ein zusätzliches Bild zur räumlichen Steuerung bereitzustellen, gewährt es eine größere Kontrolle über das endgültig generierte Bild. Beispielsweise erzeugte die Eingabe „männlicher Hirsch mit Geweih“ in einem bestehenden Text-zu-Bild-Generator eine Vielzahl von Bildern, wie unten gezeigt:

Diese mit früheren KI-Lösungen erzeugten Bilder sind zwar ansprechend, aber leider im Wesentlichen willkürliche Ergebnisse – es gibt keine Kontrolle. Bei diesen früheren Bildgenerierungssystemen gibt es keine Möglichkeit, die Ausgabe zu steuern, außer durch Überarbeitung der Textvorlage.
Mit ControlNet hat der Ersteller nun viel mehr Möglichkeiten. Eine Möglichkeit, ControlNet zu nutzen, besteht darin, sowohl eine Eingabe als auch ein Quellbild bereitzustellen, um die allgemeine Form vorzugeben, an die sich das System halten soll. In diesem Fall würden die resultierenden Bilder zwar weiterhin Vielfalt bieten, aber – was entscheidend ist – die vorgegebene Form beibehalten:

Der Ersteller hätte auch eine Reihe von Kanten, ein Bild ohne jegliche Eingabeaufforderung oder viele andere Möglichkeiten zur Bereitstellung aussagekräftiger Eingaben für das System festlegen können.
Um ein ControlNet zu erstellen, klonen wir die Gewichte innerhalb des Netzwerks eines großen Diffusionsmodells in zwei Versionen. Die eine ist das trainierbare Netzwerk (dieses stellt die Steuerung bereit; es ist „das ControlNet“), die andere ist das gesperrte Netzwerk. Das gesperrte Netzwerk bewahrt die aus Milliarden von Bildern gelernte Fähigkeit und könnte ein beliebiger früherer Bildgenerator sein. Anschließend trainieren wir das trainierbare Netzwerk auf aufgabenspezifischen Datensätzen, um die bedingte Steuerung aus dem zusätzlichen Bild zu lernen. Die trainierbare und die gesperrte Kopie sind durch eine einzigartige Art von Faltungsschicht verbunden, die wir „Zero Convolution“ nennen. Dabei wachsen die Faltungsgewichte schrittweise von Nullwerten zu optimierten Parametern auf erlernte Weise an, was bedeutet, dass sie anfangs keinen Einfluss haben und das System das optimale Maß an Steuerung ableitet, das auf das gesperrte Netzwerk ausgeübt werden soll.
Da die ursprünglichen Gewichte über das gesperrte Netzwerk erhalten bleiben, funktioniert das Modell gut mit Trainingsdatensätzen unterschiedlicher Größe. Und die Zero-Convolution-Schicht beschleunigt den Prozess erheblich – es ähnelt eher der Feinabstimmung eines Diffusionsmodells als dem Training neuer Schichten von Grund auf.
Wir haben diese Technik für die Bildgenerierung umfassend validiert. ControlNet verbessert nicht nur die Qualität des Ausgabebildes. Es macht auch das Trainieren eines Netzwerks für eine bestimmte Aufgabe effizienter und damit praktisch für den groß angelegten Einsatz bei unseren Millionen von Kreativen. In Experimenten bietet ControlNet einen bis zu 10-fachen Effizienzgewinn im Vergleich zu alternativen Szenarien, bei denen ein Modell vollständig neu trainiert werden muss. Diese Effizienz ist entscheidend, da der Prozess der Erstellung neuer Modelle im Vergleich zur traditionellen Softwareentwicklung zeitaufwändig und ressourcenintensiv ist. Eine effizientere Schulung spart Strom, senkt Kosten und erhöht die Geschwindigkeit, mit der neue Funktionen hinzugefügt werden können.
Dank seiner einzigartigen Struktur funktioniert ControlNet gut mit Trainingsdatensätzen unterschiedlicher Größe und auf vielen verschiedenen Medientypen. Es hat sich gezeigt, dass ControlNet mit vielen verschiedenen Steuerungsmodalitäten funktioniert, darunter Fotos, handgezeichnete Skizzen und die Erkennung von Posen in beliebigen Körperhaltungen. Wir glauben, dass ControlNet auf viele verschiedene Medientypen für generative KI-Inhalte angewendet werden kann. Diese Forschung ist offen und der Community öffentlich zugänglich, damit sie damit experimentieren und darauf aufbauen kann, und wir werden weiterhin weitere Informationen präsentieren, sobald wir neue Erkenntnisse gewinnen.
StarCoder
Generative KI kann zur Erstellung von Bildern, Audio, Text, Programmquellcode oder jeder anderen Form von Rich Media eingesetzt werden. Über verschiedene Medien hinweg sind jedoch diejenigen Anwendungen am erfolgreichsten, bei denen die Ausgabe subjektiv beurteilt wird. Ein Bild ist beispielsweise dann gelungen, wenn es einen menschlichen Betrachter anspricht. Bestimmte Fehler im Bild, wie seltsame Merkmale an den Rändern oder sogar ein zusätzlicher Finger an einer Hand, werden möglicherweise nicht bemerkt, wenn das Gesamtbild überzeugend ist. Ebenso kann ein Gedicht oder eine Kurzgeschichte grammatikalische Fehler oder logische Sprünge enthalten, aber wenn der Kern überzeugend ist, neigen wir dazu, diese zu verzeihen.
Eine weitere Möglichkeit, subjektive Kriterien zu betrachten, besteht darin, dass der Ergebnisraum kontinuierlich ist. Ein Ergebnis mag besser sein als ein anderes, aber es gibt keinen spezifischen Schwellenwert, ab dem das Ergebnis vollständig akzeptabel oder inakzeptabel ist. In anderen Bereichen und Medienformen wird das Ergebnis objektiv bewertet. Beispielsweise ist der von einem generativen KI-Programmierassistenten erzeugte Quellcode entweder korrekt oder nicht. Wenn der Code einen Test nicht besteht, ist er fehlerhaft, selbst wenn er dem Code einer gültigen Lösung ähnelt. Dies ist ein diskreter Ergebnisraum. In einem diskreten Raum ist es schwieriger, Erfolg zu haben, sowohl weil die Kriterien strenger sind als auch weil man sich einer guten Lösung nicht schrittweise annähern kann – der Code ist fehlerhaft, bis er plötzlich funktioniert.
LLMs, die für die Textausgabe verwendet werden, eignen sich gut für subjektive, kontinuierliche Anwendungen wie Chatbots. Sie scheinen auch gut für die Prosa-Generierung in vielen menschlichen Sprachen wie Englisch und Französisch zu funktionieren. Allerdings scheinen bestehende LLMs für Programmiersprachen nicht so gut zu funktionieren wie für diese menschlichen Sprachen. Code ist eine Form der Mathematik, die eine ganz andere, objektive Art der Bedeutungsausdruck darstellt als natürliche Sprache. Es handelt sich um einen diskreten Ergebnisraum statt um einen kontinuierlichen Ergebnisraum. Um die höchste Qualität bei der Generierung von Programmiersprachen-Code für Roblox-Entwickler zu erreichen, benötigen wir Methoden zur Anwendung von LLMs, die in diesem diskreten, objektiven Raum gut funktionieren. Wir benötigen außerdem robuste Methoden, um Code-Funktionalität unabhängig von einer bestimmten Sprachsyntax wie Lua, JavaScript oder Python auszudrücken.
StarCoder, ein neues, hochmodernes Open-Source-LLM für die Codegenerierung, ist ein bedeutender Fortschritt bei dieser technischen Herausforderung und ein wirklich offenes LLM für alle. StarCoder ist ein Ergebnis des BigCode-Forschungskonsortiums, an dem mehr als 600 Mitglieder aus akademischen und industriellen Forschungslabors beteiligt sind. Der Roblox-Forscher und Professor an der Northeastern University, Arjun Guha, war maßgeblich an der Leitung dieses Teams zur Entwicklung von StarCoder beteiligt. Diese ersten veröffentlichten Ergebnisse konzentrieren sich ausschließlich auf den Code-Aspekt, den Bereich, in dem das Feld angesichts des relativen Erfolgs subjektiver Methoden am dringendsten 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 ordnungsgemäß lizenzierten und verantwortungsbewusst gesammelten Datensätzen trainiert wurden. Diese sollten zudem uneingeschränkte Lizenzen haben, 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 die Fähigkeit von Forschern, mit dem Modell selbst zu experimentieren, einschränkt oder verhindert. Im Gegensatz dazu ist StarCoder ein wirklich offenes Modell, das durch eine Koalition aus Forschern aus Industrie und Wissenschaft entwickelt und ohne Einschränkungen für kommerzielle Anwendungen in jedem Umfang lizenziert wurde. StarCoder wird ausschließlich auf verantwortungsvoll erhobenen, ordnungsgemäß lizenzierten Inhalten trainiert. Das Modell wurde ursprünglich auf öffentlichem Code trainiert, und für diejenigen, die nicht möchten, dass ihr Code für das Training verwendet wird, steht ein Opt-out-Verfahren zur Verfügung.
Heute funktioniert StarCoder mit 86 verschiedenen Programmiersprachen, darunter Python, C++ und Java. Zum Zeitpunkt der Veröffentlichung des Artikels übertraf es jedes offene LLM, das mehrere Sprachen unterstützt, und war sogar mit vielen der geschlossenen, proprietären Modelle konkurrenzfähig.
Das StarCoder-LLM ist ein Beitrag zum Ökosystem, doch unser Forschungsziel geht weit darüber hinaus. Die größte Auswirkung dieser Forschung liegt 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änenübertragungstechniken. Wir erwarten zudem tiefgreifende Einblicke in die Wartbarkeit und Kontrollierbarkeit generativer KI für objektive Aufgaben wie die Generierung von Quellcode. Es besteht ein großer Unterschied zwischen einer faszinierenden Demonstration neuer Technologien und einem sicheren, zuverlässigen und effizienten Produkt, das der Nutzergemeinschaft einen Mehrwert bietet. Bei unseren ML-Modellen optimieren wir die Leistung hinsichtlich Speicherbedarf, Energieeffizienz und Ausführungszeit. Wir haben zudem 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, sobald neue Funktionen hinzugefügt werden.
Die Zusammenarbeit der Wissenschaftler und Ingenieure von Roblox mit einigen der klügsten Köpfe der wissenschaftlichen Gemeinschaft ist ein wesentlicher Bestandteil unseres Strebens 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.


