ControlNet og StarCoder: Roblox-forskningsfremskridt for Generative AI - Roblox Blog

ControlNet og StarCoder: Roblox-forskningsfremskridt for Generative AI – Roblox Blog

Kildeknude: 2864546

Vi er dybt engagerede i at forfølge forskning, der er ansvarlig og samfundsengageret på alle områder, inklusive kunstig intelligens (AI). Det opnår vi gennem gennemsigtighed, ekstern validering og støtte til akademiske institutioner gennem samarbejde og sponsorering. Denne tilgang giver os mulighed for at accelerere at opnå de største fremskridt inden for vores tre fokusområder: generativ AI, datacenterskalering og onlinesikkerhed. I dag deler vi indsigt og resultater fra to af vores generative AI-forskningsprojekter. KontrolNet er et open source neuralt netværk, der tilføjer betinget kontrol til billedgenereringsmodeller for mere præcise billedoutput. StarCoder er en state-of-the-art open source store sprogmodel (LLM) til kodegenerering. 

Begge projekter er akademiske og branchesamarbejder. Begge er også fokuseret på radikalt mere kraftfulde værktøjer til vores skabere: 3D-kunstnere og programmører. Vigtigst af alt og i overensstemmelse med vores mission om at investere i langsigtet gennem transformativ forskning, viser disse projekter indikationer af fremskridt inden for grundlæggende videnskabelig forståelse og kontrol af AI til mange applikationer. Vi tror på, at dette arbejde kan have en væsentlig indflydelse på fremtiden for Roblox og feltet som helhed og er stolte af at dele det åbent.

KontrolNet

Nylige AI-gennembrud – specielt datadrevne maskinlæringsmetoder (ML) ved hjælp af dybe neurale netværk – har drevet nye fremskridt inden for skabelsesværktøjer. Disse fremskridt omfatter vores Kode Assist , Materiale Generator funktioner, der er offentligt tilgængelige i vores gratis værktøj, Roblox Studio. Moderne generative AI-systemer indeholder datastrukturer kaldet modeller, som er forfinet gennem milliarder af træningsoperationer. De mest kraftfulde modeller i dag er multimodale, hvilket betyder, at de er trænet på en blanding af medier såsom tekst, billeder og lyd. Dette giver dem mulighed for at finde de fælles underliggende betydninger på tværs af medier i stedet for at tilpasse sig specifikke elementer i et datasæt, såsom farvepaletter eller stavning. 

Disse nye AI-systemer har betydelig udtrykskraft, men den kraft styres i vid udstrækning gennem "prompt engineering." At gøre det betyder blot at ændre inputteksten, svarende til at finpudse en søgemaskineforespørgsel, hvis den ikke returnerede, hvad du forventede. Selvom dette kan være en engagerende måde at lege med en ny teknologi, såsom en urettet chatbot, er det ikke en effektiv eller effektiv måde at skabe indhold på. Skabere har i stedet brug for kraftværktøjer, som de kan udnytte effektivt gennem aktiv kontrol frem for gætværk.

ControlNet-projektet er et skridt i retning af at løse nogle af disse udfordringer. Det tilbyder en effektiv måde at udnytte kraften i store præ-trænede AI-modeller som f.eks Stabil diffusionuden at være afhængig af hurtig ingeniørarbejde. ControlNet øger kontrollen ved at give kunstneren mulighed for at give yderligere inputbetingelser ud over blot tekstprompter. Roblox-forsker og Stanford University-professor Maneesh Agrawala og Stanford-forsker Lvmin Zhang formulerer målene for vores fælles ControlNet-projekt som:

  1. Udvikl en bedre brugergrænseflade til generative AI-værktøjer. Gå ud over obskur hurtig manipulation og byg op omkring mere naturlige måder at kommunikere en idé eller et kreativt koncept på.
  2. Giv mere præcis rumlig kontrol, for at gå ud over at lave "et billede som" eller "et billede i stil med..." for at gøre det muligt at realisere præcis det billede, som skaberen har i tankerne.
  3. Transform generativ AI-træning til en mere beregningseffektiv proces, der udføres hurtigere, kræver mindre hukommelse og forbruger mindre elektrisk energi.
  4. Udvid billedgenerativ AI til en genanvendelig byggeklods. Det kan derefter integreres med standardiseret billedbehandling og 3D-gengivelsespipelines. 

Ved at give skabere mulighed for at levere et ekstra billede til rumlig kontrol, giver ControlNet større kontrol over det endeligt genererede billede. For eksempel producerede en prompt af "hanhjort med gevirer" på en eksisterende tekst-til-billede-generator en lang række billeder, som vist nedenfor:

Disse billeder genereret med tidligere AI-løsninger er attraktive, men desværre i det væsentlige vilkårlige resultater - der er ingen kontrol. Der er ingen måde på de tidligere billedgenererende systemer til at styre outputtet, bortset fra at revidere tekstprompten.

Med ControlNet har skaberen nu meget mere magt. En måde at bruge ControlNet på er at give både en prompt og et kildebillede for at bestemme den generelle form, der skal følges. I dette tilfælde ville de resulterende billeder stadig tilbyde variation, men, afgørende, bevarer de den specificerede form:

Skaberen kunne også have specificeret et sæt kanter, et billede uden nogen prompt overhovedet, eller mange andre måder at give udtryksfulde input til systemet på.

For at skabe et ControlNet kloner vi vægtene i en stor diffusionsmodels netværk i to versioner. Den ene er trænebart netværk (dette giver kontrollen; det er "ControlNet") og den anden er låst netværk. Det låste netværk bevarer den kapacitet, man har lært af milliarder af billeder, og kan være en hvilken som helst tidligere billedgenerator. Vi træner derefter det oplærbare netværk på opgavespecifikke datasæt for at lære den betingede kontrol fra det ekstra billede. De oplærbare og låste kopier er forbundet med en unik type foldningslag, vi kalder nul foldning, hvor foldningsvægtene gradvist vokser fra nuller til optimerede parametre på en indlært måde, hvilket betyder, at de til at begynde med ikke har nogen indflydelse, og systemet udleder det optimale niveau af kontrol til at udøve på det låste netværk.

Da de originale vægte er bevaret via det aflåste netværk, fungerer modellen godt med træningsdatasæt af forskellige størrelser. Og nulfoldningslaget gør processen meget hurtigere - tættere på at finjustere en diffusionsmodel end at træne nye lag fra bunden. 

Vi har udført omfattende validering af denne teknik til billedgenerering. ControlNet forbedrer ikke kun kvaliteten af ​​outputbilledet. Det gør også træning af et netværk til en specifik opgave mere effektiv og dermed praktisk at implementere i stor skala for vores millioner af skabere. I eksperimenter giver ControlNet op til en 10x effektivitetsgevinst sammenlignet med alternative scenarier, der kræver, at en model skal genoptrænes fuldt ud. Denne effektivitet er kritisk, da processen med at skabe nye modeller er tidskrævende og ressourcekrævende i forhold til traditionel softwareudvikling. At gøre træningen mere effektiv sparer strøm, reducerer omkostningerne og øger den hastighed, hvormed ny funktionalitet kan tilføjes.

ControlNets unikke struktur betyder, at det fungerer godt med træningsdatasæt af forskellige størrelser og på mange forskellige typer medier. ControlNet har vist sig at fungere med mange forskellige typer kontrolmodaliteter, herunder fotos, håndtegnede skriblerier og åbenstilling positionsdetektion. Vi mener, at ControlNet kan anvendes på mange forskellige typer medier til generativt AI-indhold. Det her forskning er åben og offentligt tilgængelig for fællesskabet at eksperimentere med og bygge videre på, og vi vil fortsætte med at præsentere mere information, efterhånden som vi gør flere opdagelser med det.

StarCoder

Generativ AI kan anvendes til at producere billeder, lyd, tekst, programkildekode eller enhver anden form for rich media. På tværs af forskellige medier har de applikationer, der har størst succes, dog en tendens til at være dem, for hvilke output bedømmes subjektivt. For eksempel lykkes et billede, når det appellerer til en menneskelig beskuer. Visse fejl i billedet, såsom mærkelige træk på kanterne eller endda en ekstra finger på en hånd, bliver muligvis ikke bemærket, hvis det overordnede billede er overbevisende. Ligeledes kan et digt eller en novelle have grammatiske fejl eller nogle logiske spring, men hvis essensen er overbevisende, er vi tilbøjelige til at tilgive disse. 

En anden måde at betragte subjektive kriterier på er, at resultatrummet er kontinuerligt. Et resultat kan være bedre end et andet, men der er ingen specifik tærskel, hvor resultatet er helt acceptabelt eller uacceptabelt. For andre domæner og medieformer bedømmes output objektivt. For eksempel er kildekoden produceret af en generativ AI-programmeringsassistent enten korrekt eller ej. Hvis koden ikke kan bestå en test, fejler den, selvom den ligner koden for en gyldig løsning. Dette er et diskret resultatrum. Det er sværere at lykkes i et diskret rum, både fordi kriterierne er strengere, og fordi man ikke gradvist kan nærme sig en god løsning – koden er knækket lige indtil den pludselig virker.

LLM'er, der bruges til tekstoutput, fungerer godt til subjektive, kontinuerlige applikationer såsom chatbots. De ser også ud til at fungere godt for prosagenerering på mange menneskelige sprog, såsom engelsk og fransk. Imidlertid ser eksisterende LLM'er ikke ud til at fungere så godt for programmering sprog, som de gør for de menneskelige sprog. Kode er en form for matematik, der er en meget anderledes, objektiv måde at udtrykke mening på end naturligt sprog. Det er et diskret resultatrum i stedet for et kontinuerligt resultatrum. For at opnå den højeste kvalitet af programmeringssprogskodegenerering for Roblox-skabere har vi brug for metoder til at anvende LLM'er, der kan fungere godt i dette diskrete, objektive rum. Vi har også brug for robuste metoder til at udtrykke kodefunktionalitet uafhængigt af en bestemt sprogsyntaks, såsom Lua, JavaScript eller Python. 

StarCoder, en ny state-of-the-art open source LLM til kodegenerering, er et stort fremskridt til denne tekniske udfordring og en virkelig åben LLM for alle. StarCoder er et resultat af stor kode forskningskonsortium, som involverer mere end 600 medlemmer på tværs af akademiske og industriforskningslaboratorier. Roblox-forsker og Northeastern University-professor Arjun Guha hjalp med at lede dette hold med at udvikle StarCoder. Disse første publicerede resultater fokuserer udelukkende på kodeaspektet, som er det område, hvor feltet har størst behov for ny vækst givet den relative succes med subjektive metoder. 

For at levere generativ AI gennem LLM'er, der understøtter det større AI-økosystem og Roblox-fællesskabet, har vi brug for modeller, der udelukkende er blevet trænet i passende licenserede og ansvarligt indsamlede datasæt. Disse bør også have ubegrænsede licenser, så alle kan bruge dem, bygge videre på dem og bidrage tilbage til økosystemet. I dag er de mest kraftfulde LLM'er proprietære eller licenseret til begrænsede former for kommerciel brug, hvilket forbyder eller begrænser forskernes mulighed for at eksperimentere med selve modellen. I modsætning hertil er StarCoder en virkelig åben model, skabt gennem en koalition af industri- og akademiske forskere og licenseret uden begrænsninger til kommerciel anvendelse i enhver skala. StarCoder er udelukkende trænet i ansvarligt indsamlet, passende licenseret indhold. Modellen blev oprindeligt trænet i offentlig kode, og en opt-out-proces er tilgængelig for dem, der foretrækker ikke at få deres kode brugt til træning.

I dag arbejder StarCoder på 86 forskellige programmeringssprog, herunder Python, C++ og Java. Fra avisens udgivelse overgik den enhver åben kode LLM, der understøtter flere sprog og var endda konkurrencedygtig med mange af de lukkede, proprietære modeller. 

StarCoder LLM er et bidrag til økosystemet, men vores forskningsmål går meget dybere. Den største effekt af denne forskning er at fremme semantisk modellering af både objektive og subjektive multimodale modeller, herunder kode, tekst, billeder, tale, video og at øge træningseffektiviteten gennem domæneoverførselsteknikker. Vi forventer også at få dyb indsigt i vedligeholdelse og kontrollerbarhed af generativ AI til objektive opgaver såsom generering af kildekode. Der er en stor forskel mellem en spændende demonstration af ny teknologi og et sikkert, pålideligt og effektivt produkt, der bringer værdi til dets brugerfællesskab. For vores ML-modeller optimerer vi ydeevnen for hukommelsesfodaftryk, strømbesparelse og eksekveringstid. Vi har også udviklet en robust infrastruktur, omgivet AI-kernen med software til at forbinde den med resten af ​​systemet og udviklet et problemfrit system til hyppige opdateringer, efterhånden som nye funktioner tilføjes. 

At bringe Roblox' videnskabsmænd og ingeniører sammen med nogle af de skarpeste hjerner i det videnskabelige samfund er en nøglekomponent i vores stræben efter banebrydende teknologi. Vi er stolte af at dele disse tidlige resultater og invitere forskersamfundet til at engagere sig med os og bygge videre på disse fremskridt.

Tidsstempel:

Mere fra Roblox