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

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

Kilde node: 2864546

Vi er dypt forpliktet til å forfølge forskning som er ansvarlig og fellesskapet engasjert på alle områder, inkludert kunstig intelligens (AI). Dette oppnår vi gjennom åpenhet, ekstern validering og støtte til akademiske institusjoner gjennom samarbeid og sponsing. Denne tilnærmingen lar oss akselerere å oppnå de største fremskrittene innen våre tre fokusområder: generativ AI, datasenterskalering og nettsikkerhet. I dag deler vi innsikt og resultater fra to av våre generative AI-forskningsprosjekter. ControlNet er et åpen kildekode nevralt nettverk som legger til betinget kontroll til bildegenereringsmodeller for mer presise bildeutdata. StarCoder er en state-of-the-art åpen kildekode stor språkmodell (LLM) for kodegenerering. 

Begge prosjektene er akademiske og bransjesamarbeid. Begge er også fokusert på radikalt kraftigere verktøy for våre skapere: 3D-artister og programmerere. Viktigst av alt, og i tråd med vårt mål om å investere i det lange perspektivet gjennom transformativ forskning, viser disse prosjektene indikasjoner på fremskritt i grunnleggende vitenskapelig forståelse og kontroll av AI for mange applikasjoner. Vi tror dette arbeidet kan ha en betydelig innvirkning på fremtiden til Roblox og feltet som helhet, og er stolte av å dele det åpent.

ControlNet

Nylige AI-gjennombrudd – spesifikt datadrevne maskinlæringsmetoder (ML) ved bruk av dype nevrale nettverk – har drevet nye fremskritt innen skapelsesverktøy. Disse fremskrittene inkluderer vår Kodehjelp og Materialgenerator funksjoner som er offentlig tilgjengelig i vårt gratisverktøy, Roblox Studio. Moderne generative AI-systemer inneholder datastrukturer kalt modeller som er raffinert gjennom milliarder av treningsoperasjoner. De kraftigste modellene i dag er multimodale, noe som betyr at de er trent på en blanding av medier som tekst, bilder og lyd. Dette lar dem finne de vanlige underliggende betydningene på tvers av medier i stedet for å overtilpasse spesifikke elementer i et datasett, for eksempel fargepaletter eller stavemåte. 

Disse nye AI-systemene har betydelig uttrykkskraft, men den kraften styres i stor grad gjennom "rask utvikling." Å gjøre det betyr ganske enkelt å endre inndatateksten, på samme måte som å avgrense et søkemotorsøk hvis det ikke returnerte det du forventet. Selv om dette kan være en engasjerende måte å leke med en ny teknologi som en urettet chatbot, er det ikke en effektiv eller effektiv måte å lage innhold på. Skapere trenger i stedet kraftverktøy som de kan utnytte effektivt gjennom aktiv kontroll i stedet for gjetting.

ControlNet-prosjektet er et skritt mot å løse noen av disse utfordringene. Det tilbyr en effektiv måte å utnytte kraften til store ferdigtrente AI-modeller som f.eks Stabil diffusjon, uten å stole på rask ingeniørarbeid. ControlNet øker kontrollen ved å tillate artisten å gi ytterligere input-betingelser utover bare tekstmeldinger. Roblox-forsker og Stanford University-professor Maneesh Agrawala og Stanford-forsker Lvmin Zhang setter inn målene for vårt felles ControlNet-prosjekt som:

  1. Utvikle et bedre brukergrensesnitt for generative AI-verktøy. Gå forbi obskur umiddelbar manipulasjon og bygg rundt mer naturlige måter å kommunisere en idé eller kreativt konsept på.
  2. Gi mer presis romkontroll, for å gå utover å lage "et bilde som" eller "et bilde i stil med ..." for å gjøre det mulig å realisere nøyaktig bildet som skaperen har i tankene.
  3. Transform generativ AI-trening til en mer dataeffektiv prosess som utføres raskere, krever mindre minne og forbruker mindre elektrisk energi.
  4. Utvid bildegenerativ AI til en gjenbrukbar byggestein. Den kan deretter integreres med standardisert bildebehandling og 3D-gjengivelsesrørledninger. 

Ved å la skapere gi et ekstra bilde for romlig kontroll, gir ControlNet større kontroll over det endelige genererte bildet. For eksempel, en melding om "hannhjort med gevir" på en eksisterende tekst-til-bilde-generator produserte et bredt utvalg av bilder, som vist nedenfor:

Disse bildene generert med tidligere AI-løsninger er attraktive, men dessverre i hovedsak vilkårlige resultater – det er ingen kontroll. Det er ingen måte på de tidligere bildegenereringssystemene å styre utgangen, bortsett fra å revidere tekstmeldingen.

Med ControlNet har skaperen nå mye mer makt. En måte å bruke ControlNet på er å gi både en melding og et kildebilde for å bestemme den generelle formen som skal følges. I dette tilfellet vil de resulterende bildene fortsatt tilby variasjon, men, avgjørende, beholder de den spesifiserte formen:

Skaperen kunne også ha spesifisert et sett med kanter, et bilde uten noen spørsmål i det hele tatt, eller mange andre måter å gi uttrykksfulle input til systemet på.

For å lage et ControlNet, kloner vi vektene innenfor en stor diffusjonsmodells nettverk til to versjoner. Den ene er trenbart nettverk (dette gir kontrollen; det er "kontrollnettet") og den andre er låst nettverk. Det låste nettverket bevarer evnen lært fra milliarder av bilder og kan være en hvilken som helst tidligere bildegenerator. Vi trener deretter det trenerbare nettverket på oppgavespesifikke datasett for å lære den betingede kontrollen fra tilleggsbildet. De trenbare og låste kopiene er forbundet med en unik type konvolusjonslag vi kaller null konvolusjon, hvor konvolusjonsvektene gradvis vokser fra null til optimaliserte parametere på en innlært måte, noe som betyr at de i utgangspunktet ikke har noen innflytelse og systemet utleder det optimale nivået av kontroll å utøve på det låste nettverket.

Siden de originale vektene er bevart via det låste nettverket, fungerer modellen godt med treningsdatasett av ulike størrelser. Og null konvolusjonslaget gjør prosessen mye raskere - nærmere finjustering av en diffusjonsmodell enn å trene nye lag fra bunnen av. 

Vi har utført omfattende validering av denne teknikken for bildegenerering. ControlNet forbedrer ikke bare kvaliteten på utdatabildet. Det gjør også opplæring av et nettverk for en spesifikk oppgave mer effektiv og dermed praktisk å distribuere i stor skala for våre millioner av skapere. I eksperimenter gir ControlNet opptil 10 ganger effektivitetsgevinst sammenlignet med alternative scenarier som krever at en modell trenes på nytt. Denne effektiviteten er kritisk, siden prosessen med å lage nye modeller er tidkrevende og ressurskrevende i forhold til tradisjonell programvareutvikling. Å gjøre trening mer effektiv sparer strøm, reduserer kostnader og øker hastigheten for ny funksjonalitet.

ControlNets unike struktur gjør at den fungerer godt med treningsdatasett av forskjellige størrelser og på mange forskjellige typer medier. ControlNet har vist seg å fungere med mange forskjellige typer kontrollmodaliteter, inkludert bilder, håndtegnede skriblerier og åpent stillingsdeteksjon. Vi tror at ControlNet kan brukes på mange forskjellige typer medier for generativt AI-innhold. Dette forskning er åpen og offentlig tilgjengelig for fellesskapet å eksperimentere med og bygge videre på, og vi vil fortsette å presentere mer informasjon etter hvert som vi gjør flere oppdagelser med den.

StarCoder

Generativ AI kan brukes til å produsere bilder, lyd, tekst, programkildekode eller andre former for rike medier. På tvers av forskjellige medier har imidlertid applikasjonene med størst suksess en tendens til å være de som resultatet vurderes subjektivt for. Et bilde lykkes for eksempel når det appellerer til en menneskelig betrakter. Visse feil i bildet, for eksempel merkelige trekk på kantene eller til og med en ekstra finger på en hånd, vil kanskje ikke bli lagt merke til hvis det generelle bildet er overbevisende. På samme måte kan et dikt eller en novelle ha grammatiske feil eller noen logiske sprang, men hvis essensen er overbevisende, har vi en tendens til å tilgi disse. 

En annen måte å vurdere subjektive kriterier på er at resultatrommet er kontinuerlig. Ett resultat kan være bedre enn et annet, men det er ingen spesifikk terskel der resultatet er helt akseptabelt eller uakseptabelt. For andre domener og former for medier vurderes produksjonen objektivt. For eksempel er kildekoden produsert av en generativ AI-programmeringsassistent enten riktig eller ikke. Hvis koden ikke kan bestå en test, mislykkes den, selv om den ligner på koden for en gyldig løsning. Dette er et diskret resultatrom. Det er vanskeligere å lykkes i et diskret rom både fordi kriteriene er strengere og fordi man ikke gradvis kan nærme seg en god løsning – koden brytes helt til den plutselig fungerer.

LLM-er som brukes til tekstutdata, fungerer godt for subjektive, kontinuerlige applikasjoner som chatbots. De ser også ut til å fungere godt for prosagenerering på mange menneskelige språk, som engelsk og fransk. Imidlertid ser ikke eksisterende LLM-er ut til å fungere like godt for programmering språk som de gjør for de menneskelige språkene. Kode er en form for matematikk som er en helt annen, objektiv måte å uttrykke mening på enn naturlig språk. Det er et diskret resultatrom i stedet for et kontinuerlig resultatrom. For å oppnå den høyeste kvaliteten på programmeringsspråkkodegenerering for Roblox-skapere, trenger vi metoder for å bruke LLM-er som kan fungere godt i dette diskrete, objektive rommet. Vi trenger også robuste metoder for å uttrykke kodefunksjonalitet uavhengig av en bestemt språksyntaks, for eksempel Lua, JavaScript eller Python. 

StarCoder, en ny toppmoderne åpen kildekode LLM for kodegenerering, er et stort fremskritt til denne tekniske utfordringen og en virkelig åpen LLM for alle. StarCoder er ett resultat av stor kode forskningskonsortium, som involverer mer enn 600 medlemmer på tvers av akademiske og industriforskningslaboratorier. Roblox-forsker og Northeastern University-professor Arjun Guha hjalp til med å lede dette teamet for å utvikle StarCoder. Disse første publiserte resultatene fokuserer utelukkende på kodeaspektet, som er området der feltet mest trenger ny vekst gitt den relative suksessen til subjektive metoder. 

For å levere generativ AI gjennom LLM-er som støtter det større AI-økosystemet og Roblox-fellesskapet, trenger vi modeller som har blitt trent utelukkende på passende lisensierte og ansvarlig innsamlede datasett. Disse bør også ha ubegrensede lisenser slik at alle kan bruke dem, bygge på dem og bidra tilbake til økosystemet. I dag er de kraftigste LLM-ene proprietære, eller lisensiert for begrensede former for kommersiell bruk, noe som forbyr eller begrenser forskernes mulighet til å eksperimentere med selve modellen. I motsetning til dette er StarCoder en virkelig åpen modell, skapt gjennom en koalisjon av industri- og akademiske forskere og lisensiert uten begrensninger for kommersiell bruk i enhver skala. StarCoder er utelukkende opplært på ansvarlig innsamlet, passende lisensiert innhold. Modellen ble i utgangspunktet trent på offentlig kode og en opt-out prosess er tilgjengelig for de som foretrekker å ikke bruke koden sin til opplæring.

I dag fungerer StarCoder på 86 forskjellige programmeringsspråk, inkludert Python, C++ og Java. Fra avisens publisering overgikk den alle åpen kode LLM som støtter flere språk og var til og med konkurransedyktig med mange av de lukkede, proprietære modellene. 

StarCoder LLM er et bidrag til økosystemet, men vårt forskningsmål går mye dypere. Den største effekten av denne forskningen er å fremme semantisk modellering av både objektive og subjektive multimodale modeller, inkludert kode, tekst, bilder, tale, video og å øke treningseffektiviteten gjennom domeneoverføringsteknikker. Vi forventer også å få dyp innsikt i vedlikeholdsevnen og kontrollerbarheten til generativ AI for objektive oppgaver som generering av kildekode. Det er en stor forskjell mellom en spennende demonstrasjon av ny teknologi og et sikkert, pålitelig og effektivt produkt som gir verdi til brukerfellesskapet. For våre ML-modeller optimaliserer vi ytelsen for minneavtrykk, strømsparing og utførelsestid. Vi har også utviklet en robust infrastruktur, omgitt AI-kjernen med programvare for å koble den til resten av systemet, og utviklet et sømløst system for hyppige oppdateringer etter hvert som nye funksjoner legges til. 

Å bringe Roblox sine forskere og ingeniører sammen med noen av de skarpeste hjernene i det vitenskapelige miljøet er en nøkkelkomponent i vår jakt på banebrytende teknologi. Vi er stolte over å dele disse tidlige resultatene og invitere forskningsmiljøet til å engasjere seg med oss ​​og bygge videre på disse fremskrittene.

Tidstempel:

Mer fra Roblox